[2026-03-09 00:30:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003017.XML
[2026-03-09 00:30:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003017.XML for user: 68f1466aed072ad4a
[2026-03-09 00:30:17] [INFO] File size: 5019 bytes
[2026-03-09 00:30:18] [INFO] Created FTPFiles record with ID: 69ae149a2393e1bc8
[2026-03-09 00:30:18] [INFO] About to extract fields from XML. File size: 5019 bytes
[2026-03-09 00:30:18] [INFO] Number of mappings: 28
[2026-03-09 00:30:18] [INFO] Starting XML parsing. Content length: 5019
[2026-03-09 00:30:18] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:30:18] [INFO] Processing 28 field mappings
[2026-03-09 00:30:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:30:18] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:30:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:30:18] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 00:30:18] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 00:30:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 00:30:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:30:18] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:30:18] [INFO]   -> Found value: 2026000637
[2026-03-09 00:30:18] [INFO]   -> Set field 'incidentInternalId' = "2026000637"
[2026-03-09 00:30:18] [INFO]   -> Set field 'dispatchRunNumber' = "2026000637"
[2026-03-09 00:30:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:30:18] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 00:30:18] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 00:30:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:30:18] [INFO]   -> Found value: 1109
[2026-03-09 00:30:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1109
[2026-03-09 00:30:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:30:18] [INFO]   -> Found value: TN
[2026-03-09 00:30:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:30:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:30:18] [INFO]   -> Found value: 38506
[2026-03-09 00:30:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 00:30:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:30:18] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:30:18] [INFO]   -> Set field 'businessName' = "1109 CINDY DR"
[2026-03-09 00:30:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:30:18] [INFO]   -> Found value: 36.26891
[2026-03-09 00:30:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.26890999999999820602170075289905071258544921875
[2026-03-09 00:30:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:30:18] [INFO]   -> Found value: -85.46507
[2026-03-09 00:30:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.465069999999997207851265557110309600830078125
[2026-03-09 00:30:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:30:18] [INFO]   -> Found value: 2026-03-08 19:29:40
[2026-03-09 00:30:18] [INFO]   -> Set field 'alarm' = "2026-03-08 19:29:40"
[2026-03-09 00:30:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:30:18] [INFO]   -> Found value: 2026-03-08 19:30:14
[2026-03-09 00:30:18] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:30:14"
[2026-03-09 00:30:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:30:18] [INFO]   -> Found value: MELANIE DR/HILHAM RD
[2026-03-09 00:30:18] [INFO]   -> Set field 'incidentLocationCross' = "MELANIE DR\/HILHAM RD"
[2026-03-09 00:30:18] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:30:18] [INFO]   -> Found value: PCFR
[2026-03-09 00:30:18] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 00:30:18] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:30:18] [INFO]   -> Found value: 2026-03-08 19:30:14
[2026-03-09 00:30:18] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:30:14"
[2026-03-09 00:30:18] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:30:18] [INFO]   -> No value found (null or empty)
[2026-03-09 00:30:18] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:30:18] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:30:18] [INFO]   -> Found value: 20260025609
[2026-03-09 00:30:18] [INFO]   -> Set field 'policeReportNumber' = "20260025609"
[2026-03-09 00:30:18] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:30:18] [INFO]   -> Found value: [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AN...
[2026-03-09 00:30:18] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:30:18] [INFO]   -> Set field 'cADLog' = "[EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:30:18] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:30:18] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:30:18] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:30:18] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:30:18] [INFO]   -> Found value: CINDY
[2026-03-09 00:30:18] [INFO]   -> Set field 'streetName' = "CINDY"
[2026-03-09 00:30:18] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:30:18] [INFO]   -> Found value: DR
[2026-03-09 00:30:18] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 00:30:18] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:30:18] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:30:18] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1109 CINDY DR"
[2026-03-09 00:30:18] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-09 00:30:18] [INFO] Concatenating street name and type
[2026-03-09 00:30:18] [INFO]   -> Combined street name: CINDY DR
[2026-03-09 00:30:18] [INFO] Built locationCoordinates from lat/lng: 36.26891,-85.46507
[2026-03-09 00:30:18] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000637","dispatchRunNumber":"2026000637","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":1109,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"1109 CINDY DR","nERISIncidentLatitude":36.26890999999999820602170075289905071258544921875,"nERISIncidentLongitude":-85.465069999999997207851265557110309600830078125,"alarm":"2026-03-08 19:29:40","dispatched":"2026-03-08 19:30:14","incidentLocationCross":"MELANIE DR\/HILHAM RD","cADVehicleID":"PCFR","timedispatch":"2026-03-08 19:30:14","policeReportNumber":"20260025609","dispatchNotes":"[EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","cADLog":"[EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"CINDY DR","incidentAddressTextVersionStreet":"1109 CINDY DR","locationCoordinates":"36.26891,-85.46507"}
[2026-03-09 00:30:18] [INFO] Number of extracted fields: 22
[2026-03-09 00:30:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 00:30:18] [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-09 00:30:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 00:30:18] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:30:18] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:30:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 00:30:18] [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-09 00:30:18] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 00:30:18] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 00:30:18] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:30:18] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:30:18] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 00:30:29] [INFO] Created new Dispatches record with ID: 69ae149b0d0c68f57
[2026-03-09 00:30:29] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09
[2026-03-09 00:30:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003017.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025609_20260309_003017.XML
[2026-03-09 00:30:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003017.XML
[2026-03-09 00:31:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142.XML
[2026-03-09 00:31:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142.XML for user: 68f1466aed072ad4a
[2026-03-09 00:31:42] [INFO] File size: 5947 bytes
[2026-03-09 00:31:42] [INFO] Created FTPFiles record with ID: 69ae14eee708df9d3
[2026-03-09 00:31:42] [INFO] About to extract fields from XML. File size: 5947 bytes
[2026-03-09 00:31:42] [INFO] Number of mappings: 28
[2026-03-09 00:31:42] [INFO] Starting XML parsing. Content length: 5947
[2026-03-09 00:31:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:31:42] [INFO] Processing 28 field mappings
[2026-03-09 00:31:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:31:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:31:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:31:42] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 00:31:42] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 00:31:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 00:31:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:31:42] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:31:42] [INFO]   -> Found value: 2026000637
[2026-03-09 00:31:42] [INFO]   -> Set field 'incidentInternalId' = "2026000637"
[2026-03-09 00:31:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000637"
[2026-03-09 00:31:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:31:42] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 00:31:42] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 00:31:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:31:42] [INFO]   -> Found value: 1109
[2026-03-09 00:31:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1109
[2026-03-09 00:31:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:31:42] [INFO]   -> Found value: TN
[2026-03-09 00:31:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:31:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:31:42] [INFO]   -> Found value: 38506
[2026-03-09 00:31:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 00:31:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:31:42] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:42] [INFO]   -> Set field 'businessName' = "1109 CINDY DR"
[2026-03-09 00:31:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:31:42] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:31:42] [INFO]   -> Found value: 36.26891
[2026-03-09 00:31:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.26890999999999820602170075289905071258544921875
[2026-03-09 00:31:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:31:42] [INFO]   -> Found value: -85.46507
[2026-03-09 00:31:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.465069999999997207851265557110309600830078125
[2026-03-09 00:31:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:31:42] [INFO]   -> Found value: 2026-03-08 19:29:40
[2026-03-09 00:31:42] [INFO]   -> Set field 'alarm' = "2026-03-08 19:29:40"
[2026-03-09 00:31:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:31:42] [INFO]   -> Found value: 2026-03-08 19:30:14
[2026-03-09 00:31:42] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:30:14"
[2026-03-09 00:31:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:31:42] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:42] [INFO]   -> Set field 'enroute' = "2026-03-08 19:31:35"
[2026-03-09 00:31:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:31:42] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:31:42] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:31:42] [INFO]   -> Found value: MELANIE DR/HILHAM RD
[2026-03-09 00:31:42] [INFO]   -> Set field 'incidentLocationCross' = "MELANIE DR\/HILHAM RD"
[2026-03-09 00:31:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:31:42] [INFO]   -> Found value: TK12
[2026-03-09 00:31:42] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 00:31:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:31:42] [INFO]   -> Found value: 2026-03-08 19:31:32
[2026-03-09 00:31:42] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:31:32"
[2026-03-09 00:31:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:31:42] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:42] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 19:31:35"
[2026-03-09 00:31:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:31:42] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:31:42] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:31:42] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:31:42] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:31:42] [INFO]   -> Found value: 20260025609
[2026-03-09 00:31:42] [INFO]   -> Set field 'policeReportNumber' = "20260025609"
[2026-03-09 00:31:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:31:42] [INFO]   -> Found value: [EMS] 70 YOM  [03/08/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN ...
[2026-03-09 00:31:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:42] [INFO]   -> Set field 'cADLog' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:31:42] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:31:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:31:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:31:42] [INFO]   -> Found value: CINDY
[2026-03-09 00:31:42] [INFO]   -> Set field 'streetName' = "CINDY"
[2026-03-09 00:31:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:31:42] [INFO]   -> Found value: DR
[2026-03-09 00:31:42] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 00:31:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:31:42] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1109 CINDY DR"
[2026-03-09 00:31:42] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 00:31:42] [INFO] Concatenating street name and type
[2026-03-09 00:31:42] [INFO]   -> Combined street name: CINDY DR
[2026-03-09 00:31:42] [INFO] Built locationCoordinates from lat/lng: 36.26891,-85.46507
[2026-03-09 00:31:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000637","dispatchRunNumber":"2026000637","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":1109,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"1109 CINDY DR","nERISIncidentLatitude":36.26890999999999820602170075289905071258544921875,"nERISIncidentLongitude":-85.465069999999997207851265557110309600830078125,"alarm":"2026-03-08 19:29:40","dispatched":"2026-03-08 19:30:14","enroute":"2026-03-08 19:31:35","incidentLocationCross":"MELANIE DR\/HILHAM RD","cADVehicleID":"TK12","timedispatch":"2026-03-08 19:31:32","timeenroutetoscene":"2026-03-08 19:31:35","policeReportNumber":"20260025609","dispatchNotes":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","cADLog":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"CINDY DR","incidentAddressTextVersionStreet":"1109 CINDY DR","locationCoordinates":"36.26891,-85.46507"}
[2026-03-09 00:31:42] [INFO] Number of extracted fields: 24
[2026-03-09 00:31:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 00:31: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-09 00:31:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 00:31:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:31:43] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:31:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 00:31: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-09 00:31: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-09 00:31:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 00:31:43] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:31:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:31:43] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 00:31:43] [INFO] Found existing Dispatch with cADNumber '2026000637', ID: 69ae149b0d0c68f57 - will update instead of create
[2026-03-09 00:31:43] [INFO] Updated existing Dispatches record with ID: 69ae149b0d0c68f57
[2026-03-09 00:31:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025609_20260309_003142.XML
[2026-03-09 00:31:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142.XML
[2026-03-09 00:31:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142_1.XML
[2026-03-09 00:31:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142_1.XML for user: 68f1466aed072ad4a
[2026-03-09 00:31:43] [INFO] File size: 5947 bytes
[2026-03-09 00:31:44] [INFO] Created FTPFiles record with ID: 69ae14f02f3dd1609
[2026-03-09 00:31:44] [INFO] About to extract fields from XML. File size: 5947 bytes
[2026-03-09 00:31:44] [INFO] Number of mappings: 28
[2026-03-09 00:31:44] [INFO] Starting XML parsing. Content length: 5947
[2026-03-09 00:31:44] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:31:44] [INFO] Processing 28 field mappings
[2026-03-09 00:31:44] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:31:44] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:31:44] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:31:44] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 00:31:44] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 00:31:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 00:31:44] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:31:44] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:31:44] [INFO]   -> Found value: 2026000637
[2026-03-09 00:31:44] [INFO]   -> Set field 'incidentInternalId' = "2026000637"
[2026-03-09 00:31:44] [INFO]   -> Set field 'dispatchRunNumber' = "2026000637"
[2026-03-09 00:31:44] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:31:44] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 00:31:44] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 00:31:44] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:31:44] [INFO]   -> Found value: 1109
[2026-03-09 00:31:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1109
[2026-03-09 00:31:44] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:31:44] [INFO]   -> Found value: TN
[2026-03-09 00:31:44] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:31:44] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:31:44] [INFO]   -> Found value: 38506
[2026-03-09 00:31:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 00:31:44] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:31:44] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:44] [INFO]   -> Set field 'businessName' = "1109 CINDY DR"
[2026-03-09 00:31:44] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:31:44] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:44] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:31:44] [INFO]   -> Found value: 36.26891
[2026-03-09 00:31:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.26890999999999820602170075289905071258544921875
[2026-03-09 00:31:44] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:31:44] [INFO]   -> Found value: -85.46507
[2026-03-09 00:31:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.465069999999997207851265557110309600830078125
[2026-03-09 00:31:44] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:31:44] [INFO]   -> Found value: 2026-03-08 19:29:40
[2026-03-09 00:31:44] [INFO]   -> Set field 'alarm' = "2026-03-08 19:29:40"
[2026-03-09 00:31:44] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:31:44] [INFO]   -> Found value: 2026-03-08 19:30:14
[2026-03-09 00:31:44] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:30:14"
[2026-03-09 00:31:44] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:31:44] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:44] [INFO]   -> Set field 'enroute' = "2026-03-08 19:31:35"
[2026-03-09 00:31:44] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:31:44] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:44] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:31:44] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:44] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:31:44] [INFO]   -> Found value: MELANIE DR/HILHAM RD
[2026-03-09 00:31:44] [INFO]   -> Set field 'incidentLocationCross' = "MELANIE DR\/HILHAM RD"
[2026-03-09 00:31:44] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:31:44] [INFO]   -> Found value: TK12
[2026-03-09 00:31:44] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 00:31:44] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:31:44] [INFO]   -> Found value: 2026-03-08 19:31:32
[2026-03-09 00:31:44] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:31:32"
[2026-03-09 00:31:44] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:31:44] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:44] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 19:31:35"
[2026-03-09 00:31:44] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:31:44] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:44] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:31:44] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:44] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:31:44] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:44] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:31:44] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:31:44] [INFO]   -> Found value: 20260025609
[2026-03-09 00:31:44] [INFO]   -> Set field 'policeReportNumber' = "20260025609"
[2026-03-09 00:31:44] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:31:44] [INFO]   -> Found value: [EMS] 70 YOM  [03/08/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN ...
[2026-03-09 00:31:44] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:44] [INFO]   -> Set field 'cADLog' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:44] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:31:44] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:31:44] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:31:44] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:31:44] [INFO]   -> Found value: CINDY
[2026-03-09 00:31:44] [INFO]   -> Set field 'streetName' = "CINDY"
[2026-03-09 00:31:44] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:31:44] [INFO]   -> Found value: DR
[2026-03-09 00:31:44] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 00:31:44] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:31:44] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:44] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1109 CINDY DR"
[2026-03-09 00:31:44] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 00:31:44] [INFO] Concatenating street name and type
[2026-03-09 00:31:44] [INFO]   -> Combined street name: CINDY DR
[2026-03-09 00:31:44] [INFO] Built locationCoordinates from lat/lng: 36.26891,-85.46507
[2026-03-09 00:31:44] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000637","dispatchRunNumber":"2026000637","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":1109,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"1109 CINDY DR","nERISIncidentLatitude":36.26890999999999820602170075289905071258544921875,"nERISIncidentLongitude":-85.465069999999997207851265557110309600830078125,"alarm":"2026-03-08 19:29:40","dispatched":"2026-03-08 19:30:14","enroute":"2026-03-08 19:31:35","incidentLocationCross":"MELANIE DR\/HILHAM RD","cADVehicleID":"TK12","timedispatch":"2026-03-08 19:31:32","timeenroutetoscene":"2026-03-08 19:31:35","policeReportNumber":"20260025609","dispatchNotes":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","cADLog":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"CINDY DR","incidentAddressTextVersionStreet":"1109 CINDY DR","locationCoordinates":"36.26891,-85.46507"}
[2026-03-09 00:31:44] [INFO] Number of extracted fields: 24
[2026-03-09 00:31:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 00:31:44] [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-09 00:31:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 00:31:44] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:31:45] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:31:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 00:31: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-09 00:31: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-09 00:31:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 00:31:45] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:31:45] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:31:46] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 00:31:46] [INFO] Found existing Dispatch with cADNumber '2026000637', ID: 69ae149b0d0c68f57 - will update instead of create
[2026-03-09 00:31:46] [INFO] Updated existing Dispatches record with ID: 69ae149b0d0c68f57
[2026-03-09 00:31:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025609_20260309_003142_1.XML
[2026-03-09 00:31:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003142_1.XML
[2026-03-09 00:31:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145.XML
[2026-03-09 00:31:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145.XML for user: 68f1466aed072ad4a
[2026-03-09 00:31:46] [INFO] File size: 5947 bytes
[2026-03-09 00:31:47] [INFO] Created FTPFiles record with ID: 69ae14f2ef06dbeea
[2026-03-09 00:31:47] [INFO] About to extract fields from XML. File size: 5947 bytes
[2026-03-09 00:31:47] [INFO] Number of mappings: 28
[2026-03-09 00:31:47] [INFO] Starting XML parsing. Content length: 5947
[2026-03-09 00:31:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:31:47] [INFO] Processing 28 field mappings
[2026-03-09 00:31:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:31:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:31:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:31:47] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 00:31:47] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 00:31:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 00:31:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:31:47] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:31:47] [INFO]   -> Found value: 2026000637
[2026-03-09 00:31:47] [INFO]   -> Set field 'incidentInternalId' = "2026000637"
[2026-03-09 00:31:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000637"
[2026-03-09 00:31:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:31:47] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 00:31:47] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 00:31:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:31:47] [INFO]   -> Found value: 1109
[2026-03-09 00:31:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1109
[2026-03-09 00:31:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:31:47] [INFO]   -> Found value: TN
[2026-03-09 00:31:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:31:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:31:47] [INFO]   -> Found value: 38506
[2026-03-09 00:31:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 00:31:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:31:47] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:47] [INFO]   -> Set field 'businessName' = "1109 CINDY DR"
[2026-03-09 00:31:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:31:47] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:31:47] [INFO]   -> Found value: 36.26891
[2026-03-09 00:31:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.26890999999999820602170075289905071258544921875
[2026-03-09 00:31:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:31:47] [INFO]   -> Found value: -85.46507
[2026-03-09 00:31:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.465069999999997207851265557110309600830078125
[2026-03-09 00:31:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:31:47] [INFO]   -> Found value: 2026-03-08 19:29:40
[2026-03-09 00:31:47] [INFO]   -> Set field 'alarm' = "2026-03-08 19:29:40"
[2026-03-09 00:31:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:31:47] [INFO]   -> Found value: 2026-03-08 19:30:14
[2026-03-09 00:31:47] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:30:14"
[2026-03-09 00:31:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:31:47] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:47] [INFO]   -> Set field 'enroute' = "2026-03-08 19:31:35"
[2026-03-09 00:31:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:31:47] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:31:47] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:31:47] [INFO]   -> Found value: MELANIE DR/HILHAM RD
[2026-03-09 00:31:47] [INFO]   -> Set field 'incidentLocationCross' = "MELANIE DR\/HILHAM RD"
[2026-03-09 00:31:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:31:47] [INFO]   -> Found value: TK12
[2026-03-09 00:31:47] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 00:31:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:31:47] [INFO]   -> Found value: 2026-03-08 19:31:32
[2026-03-09 00:31:47] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:31:32"
[2026-03-09 00:31:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:31:47] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:47] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 19:31:35"
[2026-03-09 00:31:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:31:47] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:31:47] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:31:47] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:31:47] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:31:47] [INFO]   -> Found value: 20260025609
[2026-03-09 00:31:47] [INFO]   -> Set field 'policeReportNumber' = "20260025609"
[2026-03-09 00:31:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:31:47] [INFO]   -> Found value: [EMS] 70 YOM  [03/08/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN ...
[2026-03-09 00:31:47] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:47] [INFO]   -> Set field 'cADLog' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:31:47] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:31:47] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:31:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:31:47] [INFO]   -> Found value: CINDY
[2026-03-09 00:31:47] [INFO]   -> Set field 'streetName' = "CINDY"
[2026-03-09 00:31:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:31:47] [INFO]   -> Found value: DR
[2026-03-09 00:31:47] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 00:31:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:31:47] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1109 CINDY DR"
[2026-03-09 00:31:47] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 00:31:47] [INFO] Concatenating street name and type
[2026-03-09 00:31:47] [INFO]   -> Combined street name: CINDY DR
[2026-03-09 00:31:47] [INFO] Built locationCoordinates from lat/lng: 36.26891,-85.46507
[2026-03-09 00:31:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000637","dispatchRunNumber":"2026000637","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":1109,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"1109 CINDY DR","nERISIncidentLatitude":36.26890999999999820602170075289905071258544921875,"nERISIncidentLongitude":-85.465069999999997207851265557110309600830078125,"alarm":"2026-03-08 19:29:40","dispatched":"2026-03-08 19:30:14","enroute":"2026-03-08 19:31:35","incidentLocationCross":"MELANIE DR\/HILHAM RD","cADVehicleID":"TK12","timedispatch":"2026-03-08 19:31:32","timeenroutetoscene":"2026-03-08 19:31:35","policeReportNumber":"20260025609","dispatchNotes":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","cADLog":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"CINDY DR","incidentAddressTextVersionStreet":"1109 CINDY DR","locationCoordinates":"36.26891,-85.46507"}
[2026-03-09 00:31:47] [INFO] Number of extracted fields: 24
[2026-03-09 00:31:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 00:31:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 00:31:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 00:31:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:31:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:31:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 00:31:47] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 00:31:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 00:31:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 00:31:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:31:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:31:47] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 00:31:47] [INFO] Found existing Dispatch with cADNumber '2026000637', ID: 69ae149b0d0c68f57 - will update instead of create
[2026-03-09 00:31:47] [INFO] Updated existing Dispatches record with ID: 69ae149b0d0c68f57
[2026-03-09 00:31:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025609_20260309_003145.XML
[2026-03-09 00:31:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145.XML
[2026-03-09 00:31:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145_1.XML
[2026-03-09 00:31:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145_1.XML for user: 68f1466aed072ad4a
[2026-03-09 00:31:47] [INFO] File size: 5947 bytes
[2026-03-09 00:31:48] [INFO] Created FTPFiles record with ID: 69ae14f41ecc5f915
[2026-03-09 00:31:48] [INFO] About to extract fields from XML. File size: 5947 bytes
[2026-03-09 00:31:48] [INFO] Number of mappings: 28
[2026-03-09 00:31:48] [INFO] Starting XML parsing. Content length: 5947
[2026-03-09 00:31:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:31:48] [INFO] Processing 28 field mappings
[2026-03-09 00:31:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:31:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:31:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:31:48] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 00:31:48] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 00:31:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 00:31:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:31:48] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:31:48] [INFO]   -> Found value: 2026000637
[2026-03-09 00:31:48] [INFO]   -> Set field 'incidentInternalId' = "2026000637"
[2026-03-09 00:31:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000637"
[2026-03-09 00:31:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:31:48] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 00:31:48] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 00:31:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:31:48] [INFO]   -> Found value: 1109
[2026-03-09 00:31:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1109
[2026-03-09 00:31:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:31:48] [INFO]   -> Found value: TN
[2026-03-09 00:31:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:31:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:31:48] [INFO]   -> Found value: 38506
[2026-03-09 00:31:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 00:31:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:31:48] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:48] [INFO]   -> Set field 'businessName' = "1109 CINDY DR"
[2026-03-09 00:31:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:31:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:31:48] [INFO]   -> Found value: 36.26891
[2026-03-09 00:31:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.26890999999999820602170075289905071258544921875
[2026-03-09 00:31:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:31:48] [INFO]   -> Found value: -85.46507
[2026-03-09 00:31:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.465069999999997207851265557110309600830078125
[2026-03-09 00:31:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:31:48] [INFO]   -> Found value: 2026-03-08 19:29:40
[2026-03-09 00:31:48] [INFO]   -> Set field 'alarm' = "2026-03-08 19:29:40"
[2026-03-09 00:31:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:31:48] [INFO]   -> Found value: 2026-03-08 19:30:14
[2026-03-09 00:31:48] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:30:14"
[2026-03-09 00:31:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:31:48] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:48] [INFO]   -> Set field 'enroute' = "2026-03-08 19:31:35"
[2026-03-09 00:31:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:31:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:31:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:31:48] [INFO]   -> Found value: MELANIE DR/HILHAM RD
[2026-03-09 00:31:48] [INFO]   -> Set field 'incidentLocationCross' = "MELANIE DR\/HILHAM RD"
[2026-03-09 00:31:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:31:48] [INFO]   -> Found value: TK12
[2026-03-09 00:31:48] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 00:31:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:31:48] [INFO]   -> Found value: 2026-03-08 19:31:32
[2026-03-09 00:31:48] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:31:32"
[2026-03-09 00:31:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:31:48] [INFO]   -> Found value: 2026-03-08 19:31:35
[2026-03-09 00:31:48] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 19:31:35"
[2026-03-09 00:31:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:31:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:31:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:31:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:31:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:31:48] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:31:48] [INFO]   -> Found value: 20260025609
[2026-03-09 00:31:48] [INFO]   -> Set field 'policeReportNumber' = "20260025609"
[2026-03-09 00:31:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:31:48] [INFO]   -> Found value: [EMS] 70 YOM  [03/08/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN ...
[2026-03-09 00:31:48] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:48] [INFO]   -> Set field 'cADLog' = "[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]"
[2026-03-09 00:31:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:31:48] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:31:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:31:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:31:48] [INFO]   -> Found value: CINDY
[2026-03-09 00:31:48] [INFO]   -> Set field 'streetName' = "CINDY"
[2026-03-09 00:31:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:31:48] [INFO]   -> Found value: DR
[2026-03-09 00:31:48] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 00:31:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:31:48] [INFO]   -> Found value: 1109 CINDY DR
[2026-03-09 00:31:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1109 CINDY DR"
[2026-03-09 00:31:48] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 00:31:48] [INFO] Concatenating street name and type
[2026-03-09 00:31:48] [INFO]   -> Combined street name: CINDY DR
[2026-03-09 00:31:48] [INFO] Built locationCoordinates from lat/lng: 36.26891,-85.46507
[2026-03-09 00:31:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000637","dispatchRunNumber":"2026000637","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":1109,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"1109 CINDY DR","nERISIncidentLatitude":36.26890999999999820602170075289905071258544921875,"nERISIncidentLongitude":-85.465069999999997207851265557110309600830078125,"alarm":"2026-03-08 19:29:40","dispatched":"2026-03-08 19:30:14","enroute":"2026-03-08 19:31:35","incidentLocationCross":"MELANIE DR\/HILHAM RD","cADVehicleID":"TK12","timedispatch":"2026-03-08 19:31:32","timeenroutetoscene":"2026-03-08 19:31:35","policeReportNumber":"20260025609","dispatchNotes":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","cADLog":"[EMS] 70 YOM  [03\/08\/26 19:30:25 TSCOTT] [EMS] HAS BEEN DOWN FOR 15 MINS - CAREGIVER SAYS HE WAS IN THE OTHER ROOM EATING AND CAME BACK IN AND FOUND THE PT THIS WAY  [03\/08\/26 19:30:05 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 19:29:52 RJGIPSON] Event spawned from UNCONSCIOUS.  [03\/08\/2026 19:29:40 TSCOTT] JERRY HALL  MAY HAVE GOTTEN CHOKED ON FOOD  NOT BREATHING  [03\/08\/26 19:29:38 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"CINDY DR","incidentAddressTextVersionStreet":"1109 CINDY DR","locationCoordinates":"36.26891,-85.46507"}
[2026-03-09 00:31:48] [INFO] Number of extracted fields: 24
[2026-03-09 00:31:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 00:31:48] [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-09 00:31:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 00:31:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:31:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:31:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 00:31: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-09 00:31: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-09 00:31:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 00:31:48] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:31:48] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:31:48] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 00:31:48] [INFO] Found existing Dispatch with cADNumber '2026000637', ID: 69ae149b0d0c68f57 - will update instead of create
[2026-03-09 00:31:49] [INFO] Updated existing Dispatches record with ID: 69ae149b0d0c68f57
[2026-03-09 00:31:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025609_20260309_003145_1.XML
[2026-03-09 00:31:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025609_20260309_003145_1.XML
[2026-03-09 00:47:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004702.XML
[2026-03-09 00:47:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004702.XML for user: 68f1466aed072ad4a
[2026-03-09 00:47:02] [INFO] File size: 5223 bytes
[2026-03-09 00:47:03] [INFO] Created FTPFiles record with ID: 69ae18871c8a2ce44
[2026-03-09 00:47:03] [INFO] About to extract fields from XML. File size: 5223 bytes
[2026-03-09 00:47:03] [INFO] Number of mappings: 28
[2026-03-09 00:47:03] [INFO] Starting XML parsing. Content length: 5223
[2026-03-09 00:47:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:47:03] [INFO] Processing 28 field mappings
[2026-03-09 00:47:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:47:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:47:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:47:03] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 00:47:03] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 00:47:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 00:47:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:47:03] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:47:03] [INFO]   -> Found value: 2026000638
[2026-03-09 00:47:03] [INFO]   -> Set field 'incidentInternalId' = "2026000638"
[2026-03-09 00:47:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000638"
[2026-03-09 00:47:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:47:03] [INFO]   -> Found value: STROKE
[2026-03-09 00:47:03] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2026-03-09 00:47:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:47:03] [INFO]   -> Found value: 6850
[2026-03-09 00:47:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6850
[2026-03-09 00:47:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:47:03] [INFO]   -> Found value: TN
[2026-03-09 00:47:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:47:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:47:03] [INFO]   -> Found value: 38501
[2026-03-09 00:47:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 00:47:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:47:03] [INFO]   -> Found value: 36.24998
[2026-03-09 00:47:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24998000000000075715433922596275806427001953125
[2026-03-09 00:47:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:47:03] [INFO]   -> Found value: -85.52623
[2026-03-09 00:47:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.52622999999999819920049048960208892822265625
[2026-03-09 00:47:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:47:03] [INFO]   -> Found value: 2026-03-08 19:46:34
[2026-03-09 00:47:03] [INFO]   -> Set field 'alarm' = "2026-03-08 19:46:34"
[2026-03-09 00:47:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:47:03] [INFO]   -> Found value: 2026-03-08 19:46:59
[2026-03-09 00:47:03] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:46:59"
[2026-03-09 00:47:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:47:03] [INFO]   -> Found value: GARRISON RD
[2026-03-09 00:47:03] [INFO]   -> Set field 'incidentLocationCross' = "GARRISON RD"
[2026-03-09 00:47:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:47:03] [INFO]   -> Found value: PCFR
[2026-03-09 00:47:03] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 00:47:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:47:03] [INFO]   -> Found value: 2026-03-08 19:46:59
[2026-03-09 00:47:03] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:46:59"
[2026-03-09 00:47:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:47:03] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:47:03] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:47:03] [INFO]   -> Found value: 20260025613
[2026-03-09 00:47:03] [INFO]   -> Set field 'policeReportNumber' = "20260025613"
[2026-03-09 00:47:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:47:03] [INFO]   -> Found value: Event spawned from STROKE.  [03/08/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS S...
[2026-03-09 00:47:03] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:47:03] [INFO]   -> Set field 'cADLog' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:47:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:47:03] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:47:03] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:47:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:47:03] [INFO]   -> Found value: BRIERY CREEK
[2026-03-09 00:47:03] [INFO]   -> Set field 'streetName' = "BRIERY CREEK"
[2026-03-09 00:47:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:47:03] [INFO]   -> Found value: RD
[2026-03-09 00:47:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 00:47:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:47:03] [INFO]   -> Found value: 6850 BRIERY CREEK RD
[2026-03-09 00:47:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6850 BRIERY CREEK RD"
[2026-03-09 00:47:03] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 00:47:03] [INFO] Concatenating street name and type
[2026-03-09 00:47:03] [INFO]   -> Combined street name: BRIERY CREEK RD
[2026-03-09 00:47:03] [INFO] Built locationCoordinates from lat/lng: 36.24998,-85.52623
[2026-03-09 00:47:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000638","dispatchRunNumber":"2026000638","incidentTypeValue1":"STROKE","incidentLocationStreetNumber":6850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24998000000000075715433922596275806427001953125,"nERISIncidentLongitude":-85.52622999999999819920049048960208892822265625,"alarm":"2026-03-08 19:46:34","dispatched":"2026-03-08 19:46:59","incidentLocationCross":"GARRISON RD","cADVehicleID":"PCFR","timedispatch":"2026-03-08 19:46:59","policeReportNumber":"20260025613","dispatchNotes":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","cADLog":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BRIERY CREEK RD","incidentAddressTextVersionStreet":"6850 BRIERY CREEK RD","locationCoordinates":"36.24998,-85.52623"}
[2026-03-09 00:47:03] [INFO] Number of extracted fields: 21
[2026-03-09 00:47:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 00:47:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 00:47:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 00:47:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:47:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:47:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 00:47:03] [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-09 00:47:03] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 00:47:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 00:47:03] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:47:03] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:47:03] [INFO] Found existing IncidentTypeMapping with ID: 69458359c1b866667
[2026-03-09 00:47:14] [INFO] Created new Dispatches record with ID: 69ae1887e3b84b3fc
[2026-03-09 00:47:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004702.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025613_20260309_004702.XML
[2026-03-09 00:47:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004702.XML
[2026-03-09 00:47:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004703.XML
[2026-03-09 00:47:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004703.XML for user: 68f1466aed072ad4a
[2026-03-09 00:47:14] [INFO] File size: 5246 bytes
[2026-03-09 00:47:14] [INFO] Created FTPFiles record with ID: 69ae1892834533f80
[2026-03-09 00:47:14] [INFO] About to extract fields from XML. File size: 5246 bytes
[2026-03-09 00:47:14] [INFO] Number of mappings: 28
[2026-03-09 00:47:14] [INFO] Starting XML parsing. Content length: 5246
[2026-03-09 00:47:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:47:14] [INFO] Processing 28 field mappings
[2026-03-09 00:47:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:47:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:47:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:47:14] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 00:47:14] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 00:47:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 00:47:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:47:14] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:47:14] [INFO]   -> Found value: 2026000638
[2026-03-09 00:47:14] [INFO]   -> Set field 'incidentInternalId' = "2026000638"
[2026-03-09 00:47:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000638"
[2026-03-09 00:47:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:47:14] [INFO]   -> Found value: STROKE
[2026-03-09 00:47:14] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2026-03-09 00:47:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:47:14] [INFO]   -> Found value: 6850
[2026-03-09 00:47:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6850
[2026-03-09 00:47:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:47:14] [INFO]   -> Found value: TN
[2026-03-09 00:47:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:47:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:47:14] [INFO]   -> Found value: 38501
[2026-03-09 00:47:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 00:47:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:47:14] [INFO]   -> Found value: 36.24998
[2026-03-09 00:47:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24998000000000075715433922596275806427001953125
[2026-03-09 00:47:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:47:14] [INFO]   -> Found value: -85.52623
[2026-03-09 00:47:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.52622999999999819920049048960208892822265625
[2026-03-09 00:47:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:47:14] [INFO]   -> Found value: 2026-03-08 19:46:34
[2026-03-09 00:47:14] [INFO]   -> Set field 'alarm' = "2026-03-08 19:46:34"
[2026-03-09 00:47:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:47:14] [INFO]   -> Found value: 2026-03-08 19:46:59
[2026-03-09 00:47:14] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:46:59"
[2026-03-09 00:47:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:47:14] [INFO]   -> Found value: GARRISON RD
[2026-03-09 00:47:14] [INFO]   -> Set field 'incidentLocationCross' = "GARRISON RD"
[2026-03-09 00:47:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:47:14] [INFO]   -> Found value: PCFR
[2026-03-09 00:47:14] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 00:47:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:47:14] [INFO]   -> Found value: 2026-03-08 19:46:59
[2026-03-09 00:47:14] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:46:59"
[2026-03-09 00:47:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-09 00:47:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:47:14] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:47:14] [INFO]   -> Found value: 20260025613
[2026-03-09 00:47:14] [INFO]   -> Set field 'policeReportNumber' = "20260025613"
[2026-03-09 00:47:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:47:14] [INFO]   -> Found value: Event spawned from STROKE.  [03/08/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS S...
[2026-03-09 00:47:14] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:47:14] [INFO]   -> Set field 'cADLog' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:47:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:47:14] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:47:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:47:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:47:14] [INFO]   -> Found value: BRIERY CREEK
[2026-03-09 00:47:14] [INFO]   -> Set field 'streetName' = "BRIERY CREEK"
[2026-03-09 00:47:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:47:14] [INFO]   -> Found value: RD
[2026-03-09 00:47:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 00:47:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:47:14] [INFO]   -> Found value: 6850 BRIERY CREEK RD
[2026-03-09 00:47:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6850 BRIERY CREEK RD"
[2026-03-09 00:47:14] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 00:47:14] [INFO] Concatenating street name and type
[2026-03-09 00:47:14] [INFO]   -> Combined street name: BRIERY CREEK RD
[2026-03-09 00:47:14] [INFO] Built locationCoordinates from lat/lng: 36.24998,-85.52623
[2026-03-09 00:47:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000638","dispatchRunNumber":"2026000638","incidentTypeValue1":"STROKE","incidentLocationStreetNumber":6850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24998000000000075715433922596275806427001953125,"nERISIncidentLongitude":-85.52622999999999819920049048960208892822265625,"alarm":"2026-03-08 19:46:34","dispatched":"2026-03-08 19:46:59","incidentLocationCross":"GARRISON RD","cADVehicleID":"PCFR","timedispatch":"2026-03-08 19:46:59","policeReportNumber":"20260025613","dispatchNotes":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","cADLog":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BRIERY CREEK RD","incidentAddressTextVersionStreet":"6850 BRIERY CREEK RD","locationCoordinates":"36.24998,-85.52623"}
[2026-03-09 00:47:14] [INFO] Number of extracted fields: 21
[2026-03-09 00:47:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 00:47:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 00:47:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 00:47:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:47:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:47:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 00:47:14] [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-09 00:47:14] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 00:47:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 00:47:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:47:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:47:15] [INFO] Found existing IncidentTypeMapping with ID: 69458359c1b866667
[2026-03-09 00:47:15] [INFO] Found existing Dispatch with cADNumber '2026000638', ID: 69ae1887e3b84b3fc - will update instead of create
[2026-03-09 00:47:15] [INFO] Updated existing Dispatches record with ID: 69ae1887e3b84b3fc
[2026-03-09 00:47:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004703.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025613_20260309_004703.XML
[2026-03-09 00:47:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004703.XML
[2026-03-09 00:48:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004844.XML
[2026-03-09 00:48:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004844.XML for user: 68f1466aed072ad4a
[2026-03-09 00:48:44] [INFO] File size: 6145 bytes
[2026-03-09 00:48:45] [INFO] Created FTPFiles record with ID: 69ae18ed26e481fa3
[2026-03-09 00:48:45] [INFO] About to extract fields from XML. File size: 6145 bytes
[2026-03-09 00:48:45] [INFO] Number of mappings: 28
[2026-03-09 00:48:45] [INFO] Starting XML parsing. Content length: 6145
[2026-03-09 00:48:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:48:45] [INFO] Processing 28 field mappings
[2026-03-09 00:48:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:48:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:48:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:48:45] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 00:48:45] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 00:48:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 00:48:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:48:45] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:48:45] [INFO]   -> Found value: 2026000638
[2026-03-09 00:48:45] [INFO]   -> Set field 'incidentInternalId' = "2026000638"
[2026-03-09 00:48:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000638"
[2026-03-09 00:48:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:48:45] [INFO]   -> Found value: STROKE
[2026-03-09 00:48:45] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2026-03-09 00:48:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:48:45] [INFO]   -> Found value: 6850
[2026-03-09 00:48:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6850
[2026-03-09 00:48:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:48:45] [INFO]   -> Found value: TN
[2026-03-09 00:48:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:48:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:48:45] [INFO]   -> Found value: 38501
[2026-03-09 00:48:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 00:48:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:48:45] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:48:45] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:48:45] [INFO]   -> Found value: 36.24998
[2026-03-09 00:48:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24998000000000075715433922596275806427001953125
[2026-03-09 00:48:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:48:45] [INFO]   -> Found value: -85.52623
[2026-03-09 00:48:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.52622999999999819920049048960208892822265625
[2026-03-09 00:48:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:48:45] [INFO]   -> Found value: 2026-03-08 19:46:34
[2026-03-09 00:48:45] [INFO]   -> Set field 'alarm' = "2026-03-08 19:46:34"
[2026-03-09 00:48:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:48:45] [INFO]   -> Found value: 2026-03-08 19:46:59
[2026-03-09 00:48:45] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:46:59"
[2026-03-09 00:48:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:48:45] [INFO]   -> Found value: 2026-03-08 19:48:40
[2026-03-09 00:48:45] [INFO]   -> Set field 'enroute' = "2026-03-08 19:48:40"
[2026-03-09 00:48:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:48:45] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:48:45] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:48:45] [INFO]   -> Found value: GARRISON RD
[2026-03-09 00:48:45] [INFO]   -> Set field 'incidentLocationCross' = "GARRISON RD"
[2026-03-09 00:48:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:48:45] [INFO]   -> Found value: SQ11
[2026-03-09 00:48:45] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-09 00:48:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:48:45] [INFO]   -> Found value: 2026-03-08 19:48:36
[2026-03-09 00:48:45] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:48:36"
[2026-03-09 00:48:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:48:45] [INFO]   -> Found value: 2026-03-08 19:48:40
[2026-03-09 00:48:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 19:48:40"
[2026-03-09 00:48:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:48:45] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:48:45] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:48:45] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:48:45] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:48:45] [INFO]   -> Found value: 20260025613
[2026-03-09 00:48:45] [INFO]   -> Set field 'policeReportNumber' = "20260025613"
[2026-03-09 00:48:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:48:45] [INFO]   -> Found value: Event spawned from STROKE.  [03/08/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS S...
[2026-03-09 00:48:45] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:48:45] [INFO]   -> Set field 'cADLog' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:48:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:48:45] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:48:45] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:48:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:48:45] [INFO]   -> Found value: BRIERY CREEK
[2026-03-09 00:48:45] [INFO]   -> Set field 'streetName' = "BRIERY CREEK"
[2026-03-09 00:48:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:48:45] [INFO]   -> Found value: RD
[2026-03-09 00:48:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 00:48:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:48:45] [INFO]   -> Found value: 6850 BRIERY CREEK RD
[2026-03-09 00:48:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6850 BRIERY CREEK RD"
[2026-03-09 00:48:45] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 00:48:45] [INFO] Concatenating street name and type
[2026-03-09 00:48:45] [INFO]   -> Combined street name: BRIERY CREEK RD
[2026-03-09 00:48:45] [INFO] Built locationCoordinates from lat/lng: 36.24998,-85.52623
[2026-03-09 00:48:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000638","dispatchRunNumber":"2026000638","incidentTypeValue1":"STROKE","incidentLocationStreetNumber":6850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24998000000000075715433922596275806427001953125,"nERISIncidentLongitude":-85.52622999999999819920049048960208892822265625,"alarm":"2026-03-08 19:46:34","dispatched":"2026-03-08 19:46:59","enroute":"2026-03-08 19:48:40","incidentLocationCross":"GARRISON RD","cADVehicleID":"SQ11","timedispatch":"2026-03-08 19:48:36","timeenroutetoscene":"2026-03-08 19:48:40","policeReportNumber":"20260025613","dispatchNotes":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","cADLog":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BRIERY CREEK RD","incidentAddressTextVersionStreet":"6850 BRIERY CREEK RD","locationCoordinates":"36.24998,-85.52623"}
[2026-03-09 00:48:45] [INFO] Number of extracted fields: 23
[2026-03-09 00:48:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 00:48:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 00:48:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 00:48:45] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:48:45] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:48:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 00:48: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-09 00:48: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-09 00:48:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 00:48:45] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:48:45] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:48:45] [INFO] Found existing IncidentTypeMapping with ID: 69458359c1b866667
[2026-03-09 00:48:45] [INFO] Found existing Dispatch with cADNumber '2026000638', ID: 69ae1887e3b84b3fc - will update instead of create
[2026-03-09 00:48:46] [INFO] Updated existing Dispatches record with ID: 69ae1887e3b84b3fc
[2026-03-09 00:48:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004844.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025613_20260309_004844.XML
[2026-03-09 00:48:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004844.XML
[2026-03-09 00:48:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004845.XML
[2026-03-09 00:48:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004845.XML for user: 68f1466aed072ad4a
[2026-03-09 00:48:46] [INFO] File size: 6145 bytes
[2026-03-09 00:48:46] [INFO] Created FTPFiles record with ID: 69ae18ee5a1651955
[2026-03-09 00:48:46] [INFO] About to extract fields from XML. File size: 6145 bytes
[2026-03-09 00:48:46] [INFO] Number of mappings: 28
[2026-03-09 00:48:46] [INFO] Starting XML parsing. Content length: 6145
[2026-03-09 00:48:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:48:46] [INFO] Processing 28 field mappings
[2026-03-09 00:48:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:48:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:48:46] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:48:46] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 00:48:46] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 00:48:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 00:48:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:48:46] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:48:46] [INFO]   -> Found value: 2026000638
[2026-03-09 00:48:46] [INFO]   -> Set field 'incidentInternalId' = "2026000638"
[2026-03-09 00:48:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000638"
[2026-03-09 00:48:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:48:46] [INFO]   -> Found value: STROKE
[2026-03-09 00:48:46] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2026-03-09 00:48:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:48:46] [INFO]   -> Found value: 6850
[2026-03-09 00:48:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6850
[2026-03-09 00:48:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:48:46] [INFO]   -> Found value: TN
[2026-03-09 00:48:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:48:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:48:46] [INFO]   -> Found value: 38501
[2026-03-09 00:48:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 00:48:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:48:46] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:48:46] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:48:46] [INFO]   -> Found value: 36.24998
[2026-03-09 00:48:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24998000000000075715433922596275806427001953125
[2026-03-09 00:48:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:48:46] [INFO]   -> Found value: -85.52623
[2026-03-09 00:48:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.52622999999999819920049048960208892822265625
[2026-03-09 00:48:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:48:46] [INFO]   -> Found value: 2026-03-08 19:46:34
[2026-03-09 00:48:46] [INFO]   -> Set field 'alarm' = "2026-03-08 19:46:34"
[2026-03-09 00:48:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:48:46] [INFO]   -> Found value: 2026-03-08 19:46:59
[2026-03-09 00:48:46] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:46:59"
[2026-03-09 00:48:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:48:46] [INFO]   -> Found value: 2026-03-08 19:48:40
[2026-03-09 00:48:46] [INFO]   -> Set field 'enroute' = "2026-03-08 19:48:40"
[2026-03-09 00:48:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:48:46] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:48:46] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:48:46] [INFO]   -> Found value: GARRISON RD
[2026-03-09 00:48:46] [INFO]   -> Set field 'incidentLocationCross' = "GARRISON RD"
[2026-03-09 00:48:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:48:46] [INFO]   -> Found value: SQ11
[2026-03-09 00:48:46] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-09 00:48:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:48:46] [INFO]   -> Found value: 2026-03-08 19:48:36
[2026-03-09 00:48:46] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:48:36"
[2026-03-09 00:48:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:48:46] [INFO]   -> Found value: 2026-03-08 19:48:40
[2026-03-09 00:48:46] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 19:48:40"
[2026-03-09 00:48:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:48:46] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:48:46] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:48:46] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:48:46] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:48:46] [INFO]   -> Found value: 20260025613
[2026-03-09 00:48:46] [INFO]   -> Set field 'policeReportNumber' = "20260025613"
[2026-03-09 00:48:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:48:46] [INFO]   -> Found value: Event spawned from STROKE.  [03/08/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS S...
[2026-03-09 00:48:46] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:48:46] [INFO]   -> Set field 'cADLog' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:48:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:48:46] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:48:46] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:48:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:48:46] [INFO]   -> Found value: BRIERY CREEK
[2026-03-09 00:48:46] [INFO]   -> Set field 'streetName' = "BRIERY CREEK"
[2026-03-09 00:48:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:48:46] [INFO]   -> Found value: RD
[2026-03-09 00:48:46] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 00:48:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:48:46] [INFO]   -> Found value: 6850 BRIERY CREEK RD
[2026-03-09 00:48:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6850 BRIERY CREEK RD"
[2026-03-09 00:48:46] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 00:48:46] [INFO] Concatenating street name and type
[2026-03-09 00:48:46] [INFO]   -> Combined street name: BRIERY CREEK RD
[2026-03-09 00:48:46] [INFO] Built locationCoordinates from lat/lng: 36.24998,-85.52623
[2026-03-09 00:48:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000638","dispatchRunNumber":"2026000638","incidentTypeValue1":"STROKE","incidentLocationStreetNumber":6850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24998000000000075715433922596275806427001953125,"nERISIncidentLongitude":-85.52622999999999819920049048960208892822265625,"alarm":"2026-03-08 19:46:34","dispatched":"2026-03-08 19:46:59","enroute":"2026-03-08 19:48:40","incidentLocationCross":"GARRISON RD","cADVehicleID":"SQ11","timedispatch":"2026-03-08 19:48:36","timeenroutetoscene":"2026-03-08 19:48:40","policeReportNumber":"20260025613","dispatchNotes":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","cADLog":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BRIERY CREEK RD","incidentAddressTextVersionStreet":"6850 BRIERY CREEK RD","locationCoordinates":"36.24998,-85.52623"}
[2026-03-09 00:48:46] [INFO] Number of extracted fields: 23
[2026-03-09 00:48:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 00:48:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 00:48:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 00:48:46] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:48:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:48:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 00:48:47] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 00:48:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 00:48:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 00:48:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:48:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:48:47] [INFO] Found existing IncidentTypeMapping with ID: 69458359c1b866667
[2026-03-09 00:48:47] [INFO] Found existing Dispatch with cADNumber '2026000638', ID: 69ae1887e3b84b3fc - will update instead of create
[2026-03-09 00:48:48] [INFO] Updated existing Dispatches record with ID: 69ae1887e3b84b3fc
[2026-03-09 00:48:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004845.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025613_20260309_004845.XML
[2026-03-09 00:48:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004845.XML
[2026-03-09 00:48:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004847.XML
[2026-03-09 00:48:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004847.XML for user: 68f1466aed072ad4a
[2026-03-09 00:48:48] [INFO] File size: 6145 bytes
[2026-03-09 00:48:48] [INFO] Created FTPFiles record with ID: 69ae18f0e85119bda
[2026-03-09 00:48:48] [INFO] About to extract fields from XML. File size: 6145 bytes
[2026-03-09 00:48:48] [INFO] Number of mappings: 28
[2026-03-09 00:48:48] [INFO] Starting XML parsing. Content length: 6145
[2026-03-09 00:48:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 00:48:48] [INFO] Processing 28 field mappings
[2026-03-09 00:48:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 00:48:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 00:48:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 00:48:48] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 00:48:48] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 00:48:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 00:48:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 00:48:48] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 00:48:48] [INFO]   -> Found value: 2026000638
[2026-03-09 00:48:48] [INFO]   -> Set field 'incidentInternalId' = "2026000638"
[2026-03-09 00:48:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000638"
[2026-03-09 00:48:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 00:48:48] [INFO]   -> Found value: STROKE
[2026-03-09 00:48:48] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2026-03-09 00:48:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 00:48:48] [INFO]   -> Found value: 6850
[2026-03-09 00:48:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6850
[2026-03-09 00:48:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 00:48:48] [INFO]   -> Found value: TN
[2026-03-09 00:48:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 00:48:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 00:48:48] [INFO]   -> Found value: 38501
[2026-03-09 00:48:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 00:48:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 00:48:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 00:48:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 00:48:48] [INFO]   -> Found value: 36.24998
[2026-03-09 00:48:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24998000000000075715433922596275806427001953125
[2026-03-09 00:48:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 00:48:48] [INFO]   -> Found value: -85.52623
[2026-03-09 00:48:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.52622999999999819920049048960208892822265625
[2026-03-09 00:48:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 00:48:48] [INFO]   -> Found value: 2026-03-08 19:46:34
[2026-03-09 00:48:48] [INFO]   -> Set field 'alarm' = "2026-03-08 19:46:34"
[2026-03-09 00:48:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 00:48:48] [INFO]   -> Found value: 2026-03-08 19:46:59
[2026-03-09 00:48:48] [INFO]   -> Set field 'dispatched' = "2026-03-08 19:46:59"
[2026-03-09 00:48:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 00:48:48] [INFO]   -> Found value: 2026-03-08 19:48:40
[2026-03-09 00:48:48] [INFO]   -> Set field 'enroute' = "2026-03-08 19:48:40"
[2026-03-09 00:48:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 00:48:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 00:48:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 00:48:48] [INFO]   -> Found value: GARRISON RD
[2026-03-09 00:48:48] [INFO]   -> Set field 'incidentLocationCross' = "GARRISON RD"
[2026-03-09 00:48:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 00:48:48] [INFO]   -> Found value: SQ11
[2026-03-09 00:48:48] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-09 00:48:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 00:48:48] [INFO]   -> Found value: 2026-03-08 19:48:36
[2026-03-09 00:48:48] [INFO]   -> Set field 'timedispatch' = "2026-03-08 19:48:36"
[2026-03-09 00:48:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 00:48:48] [INFO]   -> Found value: 2026-03-08 19:48:40
[2026-03-09 00:48:48] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 19:48:40"
[2026-03-09 00:48:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 00:48:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 00:48:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 00:48:48] [INFO]   -> No value found (null or empty)
[2026-03-09 00:48:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 00:48:48] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 00:48:48] [INFO]   -> Found value: 20260025613
[2026-03-09 00:48:48] [INFO]   -> Set field 'policeReportNumber' = "20260025613"
[2026-03-09 00:48:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 00:48:48] [INFO]   -> Found value: Event spawned from STROKE.  [03/08/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS S...
[2026-03-09 00:48:48] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:48:48] [INFO]   -> Set field 'cADLog' = "Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]"
[2026-03-09 00:48:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 00:48:48] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 00:48:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 00:48:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 00:48:48] [INFO]   -> Found value: BRIERY CREEK
[2026-03-09 00:48:48] [INFO]   -> Set field 'streetName' = "BRIERY CREEK"
[2026-03-09 00:48:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 00:48:48] [INFO]   -> Found value: RD
[2026-03-09 00:48:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 00:48:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 00:48:48] [INFO]   -> Found value: 6850 BRIERY CREEK RD
[2026-03-09 00:48:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6850 BRIERY CREEK RD"
[2026-03-09 00:48:48] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 00:48:48] [INFO] Concatenating street name and type
[2026-03-09 00:48:48] [INFO]   -> Combined street name: BRIERY CREEK RD
[2026-03-09 00:48:48] [INFO] Built locationCoordinates from lat/lng: 36.24998,-85.52623
[2026-03-09 00:48:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000638","dispatchRunNumber":"2026000638","incidentTypeValue1":"STROKE","incidentLocationStreetNumber":6850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24998000000000075715433922596275806427001953125,"nERISIncidentLongitude":-85.52622999999999819920049048960208892822265625,"alarm":"2026-03-08 19:46:34","dispatched":"2026-03-08 19:46:59","enroute":"2026-03-08 19:48:40","incidentLocationCross":"GARRISON RD","cADVehicleID":"SQ11","timedispatch":"2026-03-08 19:48:36","timeenroutetoscene":"2026-03-08 19:48:40","policeReportNumber":"20260025613","dispatchNotes":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","cADLog":"Event spawned from STROKE.  [03\/08\/2026 19:46:34 SVOKOUN2] thomas 79YOM LAST KNOW NORMAL 1700 POSS STOKE  [03\/08\/26 19:46:30 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BRIERY CREEK RD","incidentAddressTextVersionStreet":"6850 BRIERY CREEK RD","locationCoordinates":"36.24998,-85.52623"}
[2026-03-09 00:48:48] [INFO] Number of extracted fields: 23
[2026-03-09 00:48:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 00:48:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 00:48:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 00:48:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 00:48:49] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 00:48:49] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 00:48: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-09 00:48: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-09 00:48:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 00:48:49] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 00:48:49] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 00:48:49] [INFO] Found existing IncidentTypeMapping with ID: 69458359c1b866667
[2026-03-09 00:48:49] [INFO] Found existing Dispatch with cADNumber '2026000638', ID: 69ae1887e3b84b3fc - will update instead of create
[2026-03-09 00:48:49] [INFO] Updated existing Dispatches record with ID: 69ae1887e3b84b3fc
[2026-03-09 00:48:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004847.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025613_20260309_004847.XML
[2026-03-09 00:48:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025613_20260309_004847.XML
[2026-03-09 01:05:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07080.xml
[2026-03-09 01:05:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07080.xml for user: 68d56363ec1209189
[2026-03-09 01:05:02] [INFO] File size: 2103 bytes
[2026-03-09 01:05:02] [INFO] Created FTPFiles record with ID: 69ae1cbe66fcae6d6
[2026-03-09 01:05:02] [INFO] About to extract fields from XML. File size: 2103 bytes
[2026-03-09 01:05:02] [INFO] Number of mappings: 21
[2026-03-09 01:05:02] [INFO] Starting XML parsing. Content length: 2103
[2026-03-09 01:05:02] [INFO] XML parsed successfully. Root element: Incident
[2026-03-09 01:05:02] [INFO] Processing 21 field mappings
[2026-03-09 01:05:02] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-09 01:05:02] [INFO]   -> Found value: 26-07080
[2026-03-09 01:05:02] [INFO]   -> Set field 'dispatchRunNumber' = "26-07080"
[2026-03-09 01:05:02] [INFO]   -> Set field 'cADNumber' = "26-07080"
[2026-03-09 01:05:02] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-09 01:05:02] [INFO]   -> Found value: 907
[2026-03-09 01:05:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 907
[2026-03-09 01:05:02] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-09 01:05:02] [INFO]   -> Found value: ALEXANDER ST
[2026-03-09 01:05:02] [INFO]   -> Set field 'streetName' = "ALEXANDER ST"
[2026-03-09 01:05:02] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-09 01:05:02] [INFO]   -> No value found (null or empty)
[2026-03-09 01:05:02] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-09 01:05:02] [INFO]   -> Found value: SIKESTON
[2026-03-09 01:05:02] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-09 01:05:02] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-09 01:05:02] [INFO]   -> No value found (null or empty)
[2026-03-09 01:05:02] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-09 01:05:02] [INFO]   -> Found value: MO
[2026-03-09 01:05:02] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-09 01:05:02] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-09 01:05:02] [INFO]   -> Found value: 63801
[2026-03-09 01:05:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-09 01:05:02] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-09 01:05:02] [INFO]   -> Found value: 0
[2026-03-09 01:05:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-09 01:05:02] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-09 01:05:02] [INFO]   -> Found value: 0
[2026-03-09 01:05:02] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-09 01:05:02] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-09 01:05:02] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-03-09 01:05:02] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-03-09 01:05:02] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026 19:53:45|FIRE ALARM
NO CONTACT WITH KEYHOLDER
ZONE 7 SMOKE DETECTOR 03-08-2026 20:02:12|S...
[2026-03-09 01:05:02] [INFO]   -> Set field 'dispatchNotes' = "03-08-2026 19:53:45|FIRE ALARM\nNO CONTACT WITH KEYHOLDER\nZONE 7 SMOKE DETECTOR 03-08-2026 20:02:12|SINGLE STORY STRUCTURE NOTHING SHOWING 03-08-2026 20:02:35|RESIDANCE ADVISED DRY COOKING ALL UNITS CAN CANCEL"
[2026-03-09 01:05:02] [INFO]   -> Set field 'cADLog' = "03-08-2026 19:53:45|FIRE ALARM\nNO CONTACT WITH KEYHOLDER\nZONE 7 SMOKE DETECTOR 03-08-2026 20:02:12|SINGLE STORY STRUCTURE NOTHING SHOWING 03-08-2026 20:02:35|RESIDANCE ADVISED DRY COOKING ALL UNITS CAN CANCEL"
[2026-03-09 01:05:02] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026T19:57:49
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T19:57:49
[2026-03-09 01:05:02] [INFO]   -> Set field 'alarm' = "2026-08-03 19:57:49"
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T19:57:49
[2026-03-09 01:05:02] [INFO]   -> Set field 'dispatched' = "2026-08-03 19:57:49"
[2026-03-09 01:05:02] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026T20:01:13
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:01:13
[2026-03-09 01:05:02] [INFO]   -> Set field 'onScene' = "2026-08-03 20:01:13"
[2026-03-09 01:05:02] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026T20:04:35
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:04:35
[2026-03-09 01:05:02] [INFO]   -> Set field 'cleared' = "2026-08-03 20:04:35"
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:04:35
[2026-03-09 01:05:02] [INFO]   -> Set field 'inService' = "2026-08-03 20:04:35"
[2026-03-09 01:05:02] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-09 01:05:02] [INFO]   -> Found value: ENG2
[2026-03-09 01:05:02] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-09 01:05:02] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-09 01:05:02] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026T19:58:05
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T19:58:05
[2026-03-09 01:05:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-08-03 19:58:05"
[2026-03-09 01:05:02] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026T20:01:24
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:01:24
[2026-03-09 01:05:02] [INFO]   -> Set field 'timeonscene' = "2026-08-03 20:01:24"
[2026-03-09 01:05:02] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026T20:04:35
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:04:35
[2026-03-09 01:05:02] [INFO]   -> Set field 'timeunitclear' = "2026-08-03 20:04:35"
[2026-03-09 01:05:02] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-09 01:05:02] [INFO]   -> Found value: 03-08-2026T19:58:02
[2026-03-09 01:05:02] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T19:58:02
[2026-03-09 01:05:02] [INFO]   -> Set field 'timedispatch' = "2026-08-03 19:58:02"
[2026-03-09 01:05:02] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-09 01:05:02] [INFO]   -> Found value: SDPSFD
[2026-03-09 01:05:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-09 01:05:02] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 01:05:02] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-09 01:05:02] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07080","cADNumber":"26-07080","incidentLocationStreetNumber":907,"streetName":"ALEXANDER ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"03-08-2026 19:53:45|FIRE ALARM\nNO CONTACT WITH KEYHOLDER\nZONE 7 SMOKE DETECTOR 03-08-2026 20:02:12|SINGLE STORY STRUCTURE NOTHING SHOWING 03-08-2026 20:02:35|RESIDANCE ADVISED DRY COOKING ALL UNITS CAN CANCEL","cADLog":"03-08-2026 19:53:45|FIRE ALARM\nNO CONTACT WITH KEYHOLDER\nZONE 7 SMOKE DETECTOR 03-08-2026 20:02:12|SINGLE STORY STRUCTURE NOTHING SHOWING 03-08-2026 20:02:35|RESIDANCE ADVISED DRY COOKING ALL UNITS CAN CANCEL","alarm":"2026-08-03 19:57:49","dispatched":"2026-08-03 19:57:49","onScene":"2026-08-03 20:01:13","cleared":"2026-08-03 20:04:35","inService":"2026-08-03 20:04:35","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-08-03 19:58:05","timeonscene":"2026-08-03 20:01:24","timeunitclear":"2026-08-03 20:04:35","timedispatch":"2026-08-03 19:58:02","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-09 01:05:02] [INFO] Number of extracted fields: 25
[2026-03-09 01:05:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-09 01:05:02] [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-09 01:05:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-09 01:05:02] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-09 01:05:02] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-09 01:05:02] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-09 01:05:02] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-09 01:05:02] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-09 01:05:02] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-03-09 01:05:05] [INFO] Created new Dispatches record with ID: 69ae1cbf52dd1fdf8
[2026-03-09 01:05:05] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-09
[2026-03-09 01:05:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07080.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-09/SDPSFD_26-07080.xml
[2026-03-09 01:05:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07080.xml
[2026-03-09 01:21:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07079.xml
[2026-03-09 01:21:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07079.xml for user: 68d56363ec1209189
[2026-03-09 01:21:14] [INFO] File size: 2069 bytes
[2026-03-09 01:21:14] [INFO] Created FTPFiles record with ID: 69ae208aaed4a0173
[2026-03-09 01:21:14] [INFO] About to extract fields from XML. File size: 2069 bytes
[2026-03-09 01:21:14] [INFO] Number of mappings: 21
[2026-03-09 01:21:14] [INFO] Starting XML parsing. Content length: 2069
[2026-03-09 01:21:14] [INFO] XML parsed successfully. Root element: Incident
[2026-03-09 01:21:14] [INFO] Processing 21 field mappings
[2026-03-09 01:21:14] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-09 01:21:14] [INFO]   -> Found value: 26-07079
[2026-03-09 01:21:14] [INFO]   -> Set field 'dispatchRunNumber' = "26-07079"
[2026-03-09 01:21:14] [INFO]   -> Set field 'cADNumber' = "26-07079"
[2026-03-09 01:21:14] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-09 01:21:14] [INFO]   -> Found value: 705
[2026-03-09 01:21:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 705
[2026-03-09 01:21:14] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-09 01:21:14] [INFO]   -> Found value: POTTER ST
[2026-03-09 01:21:14] [INFO]   -> Set field 'streetName' = "POTTER ST"
[2026-03-09 01:21:14] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-09 01:21:14] [INFO]   -> No value found (null or empty)
[2026-03-09 01:21:14] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-09 01:21:14] [INFO]   -> Found value: VANDUSER
[2026-03-09 01:21:14] [INFO]   -> Set field 'incidentLocationCity' = "VANDUSER"
[2026-03-09 01:21:14] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-09 01:21:14] [INFO]   -> No value found (null or empty)
[2026-03-09 01:21:14] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-09 01:21:14] [INFO]   -> Found value: MO
[2026-03-09 01:21:14] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-09 01:21:14] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-09 01:21:14] [INFO]   -> Found value: 63784
[2026-03-09 01:21:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63784
[2026-03-09 01:21:14] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-09 01:21:14] [INFO]   -> Found value: 0
[2026-03-09 01:21:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-09 01:21:14] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-09 01:21:14] [INFO]   -> Found value: 0
[2026-03-09 01:21:14] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-09 01:21:14] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-09 01:21:14] [INFO]   -> Found value: MEDICAL
[2026-03-09 01:21:14] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-09 01:21:14] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-09 01:21:14] [INFO]   -> Found value: 03-08-2026 19:54:21|21 YO FEMALE HAVING A SEIZURE 
 03-08-2026 19:54:53|STILL SEIZING A 03-08-2026 1...
[2026-03-09 01:21:14] [INFO]   -> Set field 'dispatchNotes' = "03-08-2026 19:54:21|21 YO FEMALE HAVING A SEIZURE \n 03-08-2026 19:54:53|STILL SEIZING A 03-08-2026 19:56:30|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/08\/2026 19:55:12\nNotes: Call Received on 03\/08\/2026 @ 19:55\n\nLocation: 14976 STATE HIGHWAY\n****** Appended notes from E911 Call end   ******\n 03-08-2026 19:59:23|Disposition - SSCA UNIT:  RPT 03-08-2026 20:20:45|SCR PERSONNEL CLEAR OF SCENE"
[2026-03-09 01:21:14] [INFO]   -> Set field 'cADLog' = "03-08-2026 19:54:21|21 YO FEMALE HAVING A SEIZURE \n 03-08-2026 19:54:53|STILL SEIZING A 03-08-2026 19:56:30|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/08\/2026 19:55:12\nNotes: Call Received on 03\/08\/2026 @ 19:55\n\nLocation: 14976 STATE HIGHWAY\n****** Appended notes from E911 Call end   ******\n 03-08-2026 19:59:23|Disposition - SSCA UNIT:  RPT 03-08-2026 20:20:45|SCR PERSONNEL CLEAR OF SCENE"
[2026-03-09 01:21:14] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-09 01:21:14] [INFO]   -> Found value: 03-08-2026T19:56:15
[2026-03-09 01:21:14] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T19:56:15
[2026-03-09 01:21:14] [INFO]   -> Set field 'alarm' = "2026-08-03 19:56:15"
[2026-03-09 01:21:14] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T19:56:15
[2026-03-09 01:21:14] [INFO]   -> Set field 'dispatched' = "2026-08-03 19:56:15"
[2026-03-09 01:21:14] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-09 01:21:14] [INFO]   -> Found value: 03-08-2026T20:08:16
[2026-03-09 01:21:14] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:08:16
[2026-03-09 01:21:14] [INFO]   -> Set field 'onScene' = "2026-08-03 20:08:16"
[2026-03-09 01:21:14] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-09 01:21:14] [INFO]   -> No value found (null or empty)
[2026-03-09 01:21:14] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-09 01:21:14] [INFO]   -> Found value: 1773
[2026-03-09 01:21:14] [INFO]   -> Set field 'cADVehicleID' = 1773
[2026-03-09 01:21:14] [INFO]   -> Set field 'name' = "1773"
[2026-03-09 01:21:14] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-09 01:21:14] [INFO]   -> Found value: 03-08-2026T20:07:15
[2026-03-09 01:21:14] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:07:15
[2026-03-09 01:21:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-08-03 20:07:15"
[2026-03-09 01:21:14] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-09 01:21:14] [INFO]   -> Found value: 03-08-2026T20:08:16
[2026-03-09 01:21:14] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:08:16
[2026-03-09 01:21:14] [INFO]   -> Set field 'timeonscene' = "2026-08-03 20:08:16"
[2026-03-09 01:21:14] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-09 01:21:14] [INFO]   -> Found value: 03-08-2026T20:20:51
[2026-03-09 01:21:14] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:20:51
[2026-03-09 01:21:14] [INFO]   -> Set field 'timeunitclear' = "2026-08-03 20:20:51"
[2026-03-09 01:21:14] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-09 01:21:14] [INFO]   -> Found value: 03-08-2026T20:07:13
[2026-03-09 01:21:14] [INFO] Reformatted DD-MM-YYYY date '03-08-2026' (day=03, month=08) to ISO: 2026-08-03T20:07:13
[2026-03-09 01:21:14] [INFO]   -> Set field 'timedispatch' = "2026-08-03 20:07:13"
[2026-03-09 01:21:14] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-09 01:21:14] [INFO]   -> Found value: SCRFD
[2026-03-09 01:21:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-09 01:21:14] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-09 01:21:14] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-09 01:21:14] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07079","cADNumber":"26-07079","incidentLocationStreetNumber":705,"streetName":"POTTER ST","incidentLocationCity":"VANDUSER","incidentLocationStateName":"MO","nERISIncidentPostalCode":63784,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-08-2026 19:54:21|21 YO FEMALE HAVING A SEIZURE \n 03-08-2026 19:54:53|STILL SEIZING A 03-08-2026 19:56:30|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/08\/2026 19:55:12\nNotes: Call Received on 03\/08\/2026 @ 19:55\n\nLocation: 14976 STATE HIGHWAY\n****** Appended notes from E911 Call end   ******\n 03-08-2026 19:59:23|Disposition - SSCA UNIT:  RPT 03-08-2026 20:20:45|SCR PERSONNEL CLEAR OF SCENE","cADLog":"03-08-2026 19:54:21|21 YO FEMALE HAVING A SEIZURE \n 03-08-2026 19:54:53|STILL SEIZING A 03-08-2026 19:56:30|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/08\/2026 19:55:12\nNotes: Call Received on 03\/08\/2026 @ 19:55\n\nLocation: 14976 STATE HIGHWAY\n****** Appended notes from E911 Call end   ******\n 03-08-2026 19:59:23|Disposition - SSCA UNIT:  RPT 03-08-2026 20:20:45|SCR PERSONNEL CLEAR OF SCENE","alarm":"2026-08-03 19:56:15","dispatched":"2026-08-03 19:56:15","onScene":"2026-08-03 20:08:16","cADVehicleID":1773,"name":"1773","timeenroutetoscene":"2026-08-03 20:07:15","timeonscene":"2026-08-03 20:08:16","timeunitclear":"2026-08-03 20:20:51","timedispatch":"2026-08-03 20:07:13","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-09 01:21:14] [INFO] Number of extracted fields: 23
[2026-03-09 01:21:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-09 01:21:14] [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-09 01:21:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-09 01:21:14] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-09 01:21:14] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-09 01:21:15] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-09 01:21:15] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-09 01:21:15] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-09 01:21:15] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-03-09 01:21:15] [INFO] Found existing Dispatch with cADNumber '26-07079', ID: 69ae1ab3596965795 - will update instead of create
[2026-03-09 01:21:15] [INFO] Updated existing Dispatches record with ID: 69ae1ab3596965795
[2026-03-09 01:21:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07079.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-09/SCRFD_26-07079.xml
[2026-03-09 01:21:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07079.xml
[2026-03-09 04:42:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044205.XML
[2026-03-09 04:42:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044205.XML for user: 68f1466aed072ad4a
[2026-03-09 04:42:05] [INFO] File size: 5941 bytes
[2026-03-09 04:42:05] [INFO] Created FTPFiles record with ID: 69ae4f9dc75a187c5
[2026-03-09 04:42:05] [INFO] About to extract fields from XML. File size: 5941 bytes
[2026-03-09 04:42:05] [INFO] Number of mappings: 28
[2026-03-09 04:42:05] [INFO] Starting XML parsing. Content length: 5941
[2026-03-09 04:42:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 04:42:05] [INFO] Processing 28 field mappings
[2026-03-09 04:42:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 04:42:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 04:42:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 04:42:05] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 04:42:05] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 04:42:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 04:42:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 04:42:05] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 04:42:05] [INFO]   -> Found value: 2026000639
[2026-03-09 04:42:05] [INFO]   -> Set field 'incidentInternalId' = "2026000639"
[2026-03-09 04:42:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000639"
[2026-03-09 04:42:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 04:42:05] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-09 04:42:05] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-09 04:42:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 04:42:05] [INFO]   -> Found value: 736
[2026-03-09 04:42:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 736
[2026-03-09 04:42:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 04:42:05] [INFO]   -> Found value: TN
[2026-03-09 04:42:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 04:42:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 04:42:05] [INFO]   -> Found value: 38544
[2026-03-09 04:42:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 04:42:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 04:42:05] [INFO]   -> Found value: 36.16368
[2026-03-09 04:42:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1636799999999993815436027944087982177734375
[2026-03-09 04:42:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 04:42:05] [INFO]   -> Found value: -85.62280
[2026-03-09 04:42:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6227999999999980218490236438810825347900390625
[2026-03-09 04:42:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 04:42:05] [INFO]   -> Found value: 2026-03-08 23:41:00
[2026-03-09 04:42:05] [INFO]   -> Set field 'alarm' = "2026-03-08 23:41:00"
[2026-03-09 04:42:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 04:42:05] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:42:05] [INFO]   -> Set field 'dispatched' = "2026-03-08 23:42:00"
[2026-03-09 04:42:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 04:42:05] [INFO]   -> Found value: ANATOLIA WAY/JACK LEWIS RD
[2026-03-09 04:42:05] [INFO]   -> Set field 'incidentLocationCross' = "ANATOLIA WAY\/JACK LEWIS RD"
[2026-03-09 04:42:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 04:42:05] [INFO]   -> Found value: EN31
[2026-03-09 04:42:05] [INFO]   -> Set field 'cADVehicleID' = "EN31"
[2026-03-09 04:42:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 04:42:05] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:42:05] [INFO]   -> Set field 'timedispatch' = "2026-03-08 23:42:00"
[2026-03-09 04:42:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 04:42:05] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 04:42:05] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 04:42:05] [INFO]   -> Found value: 20260025672
[2026-03-09 04:42:05] [INFO]   -> Set field 'policeReportNumber' = "20260025672"
[2026-03-09 04:42:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 04:42:05] [INFO]   -> Found value: [LAW] POSS INTOX  [03/08/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03/08/26 23:41:43 RJGIPSO...
[2026-03-09 04:42:05] [INFO]   -> Set field 'dispatchNotes' = "[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:42:05] [INFO]   -> Set field 'cADLog' = "[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:42:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 04:42:05] [INFO]   -> Found value: BAXTER
[2026-03-09 04:42:05] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 04:42:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 04:42:05] [INFO]   -> Found value: WARD MILL
[2026-03-09 04:42:05] [INFO]   -> Set field 'streetName' = "WARD MILL"
[2026-03-09 04:42:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 04:42:05] [INFO]   -> Found value: RD
[2026-03-09 04:42:05] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 04:42:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 04:42:05] [INFO]   -> Found value: 736 WARD MILL RD
[2026-03-09 04:42:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "736 WARD MILL RD"
[2026-03-09 04:42:05] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 04:42:05] [INFO] Concatenating street name and type
[2026-03-09 04:42:05] [INFO]   -> Combined street name: WARD MILL RD
[2026-03-09 04:42:05] [INFO] Built locationCoordinates from lat/lng: 36.16368,-85.6228
[2026-03-09 04:42:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000639","dispatchRunNumber":"2026000639","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":736,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1636799999999993815436027944087982177734375,"nERISIncidentLongitude":-85.6227999999999980218490236438810825347900390625,"alarm":"2026-03-08 23:41:00","dispatched":"2026-03-08 23:42:00","incidentLocationCross":"ANATOLIA WAY\/JACK LEWIS RD","cADVehicleID":"EN31","timedispatch":"2026-03-08 23:42:00","policeReportNumber":"20260025672","dispatchNotes":"[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","cADLog":"[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","incidentLocationCity":"BAXTER","streetName":"WARD MILL RD","incidentAddressTextVersionStreet":"736 WARD MILL RD","locationCoordinates":"36.16368,-85.6228"}
[2026-03-09 04:42:05] [INFO] Number of extracted fields: 21
[2026-03-09 04:42:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 04:42:05] [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-09 04:42:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 04:42:05] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 04:42:05] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 04:42:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 04:42: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-09 04:42:06] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 04:42:06] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 04:42:06] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 04:42:06] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 04:42:06] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-09 04:42:16] [INFO] Created new Dispatches record with ID: 69ae4f9e91f65b0eb
[2026-03-09 04:42:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044205.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025672_20260309_044205.XML
[2026-03-09 04:42:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044205.XML
[2026-03-09 04:42:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044207.XML
[2026-03-09 04:42:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044207.XML for user: 68f1466aed072ad4a
[2026-03-09 04:42:16] [INFO] File size: 6644 bytes
[2026-03-09 04:42:16] [INFO] Created FTPFiles record with ID: 69ae4fa865e81fc52
[2026-03-09 04:42:16] [INFO] About to extract fields from XML. File size: 6644 bytes
[2026-03-09 04:42:16] [INFO] Number of mappings: 28
[2026-03-09 04:42:16] [INFO] Starting XML parsing. Content length: 6644
[2026-03-09 04:42:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 04:42:16] [INFO] Processing 28 field mappings
[2026-03-09 04:42:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 04:42:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 04:42:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 04:42:16] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 04:42:16] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 04:42:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 04:42:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 04:42:16] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 04:42:16] [INFO]   -> Found value: 2026000639
[2026-03-09 04:42:16] [INFO]   -> Set field 'incidentInternalId' = "2026000639"
[2026-03-09 04:42:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000639"
[2026-03-09 04:42:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 04:42:16] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-09 04:42:16] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-09 04:42:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 04:42:16] [INFO]   -> Found value: 736
[2026-03-09 04:42:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 736
[2026-03-09 04:42:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 04:42:16] [INFO]   -> Found value: TN
[2026-03-09 04:42:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 04:42:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 04:42:16] [INFO]   -> Found value: 38544
[2026-03-09 04:42:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 04:42:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 04:42:16] [INFO]   -> Found value: 36.16368
[2026-03-09 04:42:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1636799999999993815436027944087982177734375
[2026-03-09 04:42:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 04:42:16] [INFO]   -> Found value: -85.62280
[2026-03-09 04:42:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6227999999999980218490236438810825347900390625
[2026-03-09 04:42:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 04:42:16] [INFO]   -> Found value: 2026-03-08 23:41:00
[2026-03-09 04:42:16] [INFO]   -> Set field 'alarm' = "2026-03-08 23:41:00"
[2026-03-09 04:42:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 04:42:16] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:42:16] [INFO]   -> Set field 'dispatched' = "2026-03-08 23:42:00"
[2026-03-09 04:42:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 04:42:16] [INFO]   -> Found value: ANATOLIA WAY/JACK LEWIS RD
[2026-03-09 04:42:16] [INFO]   -> Set field 'incidentLocationCross' = "ANATOLIA WAY\/JACK LEWIS RD"
[2026-03-09 04:42:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 04:42:16] [INFO]   -> Found value: TK31
[2026-03-09 04:42:16] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-09 04:42:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 04:42:16] [INFO]   -> Found value: 2026-03-08 23:42:04
[2026-03-09 04:42:16] [INFO]   -> Set field 'timedispatch' = "2026-03-08 23:42:04"
[2026-03-09 04:42:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 04:42:16] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 04:42:16] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 04:42:16] [INFO]   -> Found value: 20260025672
[2026-03-09 04:42:16] [INFO]   -> Set field 'policeReportNumber' = "20260025672"
[2026-03-09 04:42:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 04:42:16] [INFO]   -> Found value: [LAW] POSS INTOX  [03/08/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03/08/26 23:41:43 RJGIPSO...
[2026-03-09 04:42:16] [INFO]   -> Set field 'dispatchNotes' = "[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:42:16] [INFO]   -> Set field 'cADLog' = "[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:42:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 04:42:16] [INFO]   -> Found value: BAXTER
[2026-03-09 04:42:16] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 04:42:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 04:42:16] [INFO]   -> Found value: WARD MILL
[2026-03-09 04:42:16] [INFO]   -> Set field 'streetName' = "WARD MILL"
[2026-03-09 04:42:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 04:42:16] [INFO]   -> Found value: RD
[2026-03-09 04:42:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 04:42:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 04:42:16] [INFO]   -> Found value: 736 WARD MILL RD
[2026-03-09 04:42:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "736 WARD MILL RD"
[2026-03-09 04:42:16] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 04:42:16] [INFO] Concatenating street name and type
[2026-03-09 04:42:16] [INFO]   -> Combined street name: WARD MILL RD
[2026-03-09 04:42:16] [INFO] Built locationCoordinates from lat/lng: 36.16368,-85.6228
[2026-03-09 04:42:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000639","dispatchRunNumber":"2026000639","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":736,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1636799999999993815436027944087982177734375,"nERISIncidentLongitude":-85.6227999999999980218490236438810825347900390625,"alarm":"2026-03-08 23:41:00","dispatched":"2026-03-08 23:42:00","incidentLocationCross":"ANATOLIA WAY\/JACK LEWIS RD","cADVehicleID":"TK31","timedispatch":"2026-03-08 23:42:04","policeReportNumber":"20260025672","dispatchNotes":"[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","cADLog":"[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","incidentLocationCity":"BAXTER","streetName":"WARD MILL RD","incidentAddressTextVersionStreet":"736 WARD MILL RD","locationCoordinates":"36.16368,-85.6228"}
[2026-03-09 04:42:16] [INFO] Number of extracted fields: 21
[2026-03-09 04:42:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 04:42:16] [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-09 04:42:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 04:42:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 04:42:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 04:42:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 04:42:16] [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-09 04:42:16] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 04:42:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 04:42:16] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 04:42:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 04:42:16] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-09 04:42:17] [INFO] Found existing Dispatch with cADNumber '2026000639', ID: 69ae4f9e91f65b0eb - will update instead of create
[2026-03-09 04:42:17] [INFO] Updated existing Dispatches record with ID: 69ae4f9e91f65b0eb
[2026-03-09 04:42:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044207.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025672_20260309_044207.XML
[2026-03-09 04:42:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044207.XML
[2026-03-09 04:42:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044208.XML
[2026-03-09 04:42:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044208.XML for user: 68f1466aed072ad4a
[2026-03-09 04:42:17] [INFO] File size: 6644 bytes
[2026-03-09 04:42:17] [INFO] Created FTPFiles record with ID: 69ae4fa9941833e33
[2026-03-09 04:42:17] [INFO] About to extract fields from XML. File size: 6644 bytes
[2026-03-09 04:42:17] [INFO] Number of mappings: 28
[2026-03-09 04:42:17] [INFO] Starting XML parsing. Content length: 6644
[2026-03-09 04:42:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 04:42:17] [INFO] Processing 28 field mappings
[2026-03-09 04:42:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 04:42:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 04:42:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 04:42:17] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 04:42:17] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 04:42:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 04:42:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 04:42:17] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 04:42:17] [INFO]   -> Found value: 2026000639
[2026-03-09 04:42:17] [INFO]   -> Set field 'incidentInternalId' = "2026000639"
[2026-03-09 04:42:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000639"
[2026-03-09 04:42:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 04:42:17] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-09 04:42:17] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-09 04:42:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 04:42:17] [INFO]   -> Found value: 736
[2026-03-09 04:42:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 736
[2026-03-09 04:42:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 04:42:17] [INFO]   -> Found value: TN
[2026-03-09 04:42:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 04:42:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 04:42:17] [INFO]   -> Found value: 38544
[2026-03-09 04:42:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 04:42:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 04:42:17] [INFO]   -> Found value: 36.16368
[2026-03-09 04:42:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1636799999999993815436027944087982177734375
[2026-03-09 04:42:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 04:42:17] [INFO]   -> Found value: -85.62280
[2026-03-09 04:42:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6227999999999980218490236438810825347900390625
[2026-03-09 04:42:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 04:42:17] [INFO]   -> Found value: 2026-03-08 23:41:00
[2026-03-09 04:42:17] [INFO]   -> Set field 'alarm' = "2026-03-08 23:41:00"
[2026-03-09 04:42:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 04:42:17] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:42:17] [INFO]   -> Set field 'dispatched' = "2026-03-08 23:42:00"
[2026-03-09 04:42:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 04:42:17] [INFO]   -> Found value: ANATOLIA WAY/JACK LEWIS RD
[2026-03-09 04:42:17] [INFO]   -> Set field 'incidentLocationCross' = "ANATOLIA WAY\/JACK LEWIS RD"
[2026-03-09 04:42:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 04:42:17] [INFO]   -> Found value: TK31
[2026-03-09 04:42:17] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-09 04:42:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 04:42:17] [INFO]   -> Found value: 2026-03-08 23:42:04
[2026-03-09 04:42:17] [INFO]   -> Set field 'timedispatch' = "2026-03-08 23:42:04"
[2026-03-09 04:42:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 04:42:17] [INFO]   -> No value found (null or empty)
[2026-03-09 04:42:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 04:42:17] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 04:42:17] [INFO]   -> Found value: 20260025672
[2026-03-09 04:42:17] [INFO]   -> Set field 'policeReportNumber' = "20260025672"
[2026-03-09 04:42:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 04:42:17] [INFO]   -> Found value: [LAW] POSS INTOX  [03/08/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03/08/26 23:41:43 RJGIPSO...
[2026-03-09 04:42:17] [INFO]   -> Set field 'dispatchNotes' = "[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:42:17] [INFO]   -> Set field 'cADLog' = "[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:42:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 04:42:17] [INFO]   -> Found value: BAXTER
[2026-03-09 04:42:17] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 04:42:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 04:42:17] [INFO]   -> Found value: WARD MILL
[2026-03-09 04:42:17] [INFO]   -> Set field 'streetName' = "WARD MILL"
[2026-03-09 04:42:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 04:42:17] [INFO]   -> Found value: RD
[2026-03-09 04:42:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 04:42:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 04:42:17] [INFO]   -> Found value: 736 WARD MILL RD
[2026-03-09 04:42:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "736 WARD MILL RD"
[2026-03-09 04:42:17] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 04:42:17] [INFO] Concatenating street name and type
[2026-03-09 04:42:17] [INFO]   -> Combined street name: WARD MILL RD
[2026-03-09 04:42:17] [INFO] Built locationCoordinates from lat/lng: 36.16368,-85.6228
[2026-03-09 04:42:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000639","dispatchRunNumber":"2026000639","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":736,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1636799999999993815436027944087982177734375,"nERISIncidentLongitude":-85.6227999999999980218490236438810825347900390625,"alarm":"2026-03-08 23:41:00","dispatched":"2026-03-08 23:42:00","incidentLocationCross":"ANATOLIA WAY\/JACK LEWIS RD","cADVehicleID":"TK31","timedispatch":"2026-03-08 23:42:04","policeReportNumber":"20260025672","dispatchNotes":"[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","cADLog":"[LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","incidentLocationCity":"BAXTER","streetName":"WARD MILL RD","incidentAddressTextVersionStreet":"736 WARD MILL RD","locationCoordinates":"36.16368,-85.6228"}
[2026-03-09 04:42:17] [INFO] Number of extracted fields: 21
[2026-03-09 04:42:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 04:42:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 04:42:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 04:42:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 04:42:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 04:42:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 04:42:17] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 04:42:17] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 04:42:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 04:42:17] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 04:42:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 04:42:18] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-09 04:42:18] [INFO] Found existing Dispatch with cADNumber '2026000639', ID: 69ae4f9e91f65b0eb - will update instead of create
[2026-03-09 04:42:18] [INFO] Updated existing Dispatches record with ID: 69ae4f9e91f65b0eb
[2026-03-09 04:42:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044208.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025672_20260309_044208.XML
[2026-03-09 04:42:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044208.XML
[2026-03-09 04:43:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333.XML
[2026-03-09 04:43:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333.XML for user: 68f1466aed072ad4a
[2026-03-09 04:43:33] [INFO] File size: 6927 bytes
[2026-03-09 04:43:33] [INFO] Created FTPFiles record with ID: 69ae4ff5d400d731f
[2026-03-09 04:43:33] [INFO] About to extract fields from XML. File size: 6927 bytes
[2026-03-09 04:43:33] [INFO] Number of mappings: 28
[2026-03-09 04:43:33] [INFO] Starting XML parsing. Content length: 6927
[2026-03-09 04:43:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 04:43:33] [INFO] Processing 28 field mappings
[2026-03-09 04:43:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 04:43:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 04:43:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 04:43:33] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 04:43:33] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
BPD
[2026-03-09 04:43:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nBPD"
[2026-03-09 04:43:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 04:43:33] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 04:43:33] [INFO]   -> Found value: 2026000639
[2026-03-09 04:43:33] [INFO]   -> Set field 'incidentInternalId' = "2026000639"
[2026-03-09 04:43:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000639"
[2026-03-09 04:43:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 04:43:33] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-09 04:43:33] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-09 04:43:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 04:43:33] [INFO]   -> Found value: 736
[2026-03-09 04:43:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 736
[2026-03-09 04:43:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 04:43:33] [INFO]   -> Found value: TN
[2026-03-09 04:43:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 04:43:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 04:43:33] [INFO]   -> Found value: 38544
[2026-03-09 04:43:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 04:43:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 04:43:33] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 04:43:33] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 04:43:33] [INFO]   -> Found value: 36.16368
[2026-03-09 04:43:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1636799999999993815436027944087982177734375
[2026-03-09 04:43:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 04:43:33] [INFO]   -> Found value: -85.62280
[2026-03-09 04:43:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6227999999999980218490236438810825347900390625
[2026-03-09 04:43:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 04:43:33] [INFO]   -> Found value: 2026-03-08 23:41:00
[2026-03-09 04:43:33] [INFO]   -> Set field 'alarm' = "2026-03-08 23:41:00"
[2026-03-09 04:43:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 04:43:33] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:43:33] [INFO]   -> Set field 'dispatched' = "2026-03-08 23:42:00"
[2026-03-09 04:43:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 04:43:33] [INFO]   -> Found value: 2026-03-08 23:43:25
[2026-03-09 04:43:33] [INFO]   -> Set field 'enroute' = "2026-03-08 23:43:25"
[2026-03-09 04:43:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 04:43:33] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 04:43:33] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 04:43:33] [INFO]   -> Found value: ANATOLIA WAY/JACK LEWIS RD
[2026-03-09 04:43:33] [INFO]   -> Set field 'incidentLocationCross' = "ANATOLIA WAY\/JACK LEWIS RD"
[2026-03-09 04:43:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 04:43:33] [INFO]   -> Found value: EN31
[2026-03-09 04:43:33] [INFO]   -> Set field 'cADVehicleID' = "EN31"
[2026-03-09 04:43:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 04:43:33] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:43:33] [INFO]   -> Set field 'timedispatch' = "2026-03-08 23:42:00"
[2026-03-09 04:43:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 04:43:33] [INFO]   -> Found value: 2026-03-08 23:43:25
[2026-03-09 04:43:33] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 23:43:25"
[2026-03-09 04:43:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 04:43:33] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 04:43:33] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 04:43:33] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 04:43:33] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 04:43:33] [INFO]   -> Found value: 20260025672
[2026-03-09 04:43:33] [INFO]   -> Set field 'policeReportNumber' = "20260025672"
[2026-03-09 04:43:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 04:43:33] [INFO]   -> Found value: [LAW] VEH IS IN THE RDWAY  [03/08/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03/08/26 23:42:02 RJGIPSO...
[2026-03-09 04:43:33] [INFO]   -> Set field 'dispatchNotes' = "[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:43:33] [INFO]   -> Set field 'cADLog' = "[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:43:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 04:43:33] [INFO]   -> Found value: BAXTER
[2026-03-09 04:43:33] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 04:43:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 04:43:33] [INFO]   -> Found value: WARD MILL
[2026-03-09 04:43:33] [INFO]   -> Set field 'streetName' = "WARD MILL"
[2026-03-09 04:43:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 04:43:33] [INFO]   -> Found value: RD
[2026-03-09 04:43:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 04:43:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 04:43:33] [INFO]   -> Found value: 736 WARD MILL RD
[2026-03-09 04:43:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "736 WARD MILL RD"
[2026-03-09 04:43:33] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 04:43:33] [INFO] Concatenating street name and type
[2026-03-09 04:43:33] [INFO]   -> Combined street name: WARD MILL RD
[2026-03-09 04:43:33] [INFO] Built locationCoordinates from lat/lng: 36.16368,-85.6228
[2026-03-09 04:43:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nBPD","incidentInternalId":"2026000639","dispatchRunNumber":"2026000639","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":736,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1636799999999993815436027944087982177734375,"nERISIncidentLongitude":-85.6227999999999980218490236438810825347900390625,"alarm":"2026-03-08 23:41:00","dispatched":"2026-03-08 23:42:00","enroute":"2026-03-08 23:43:25","incidentLocationCross":"ANATOLIA WAY\/JACK LEWIS RD","cADVehicleID":"EN31","timedispatch":"2026-03-08 23:42:00","timeenroutetoscene":"2026-03-08 23:43:25","policeReportNumber":"20260025672","dispatchNotes":"[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","cADLog":"[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","incidentLocationCity":"BAXTER","streetName":"WARD MILL RD","incidentAddressTextVersionStreet":"736 WARD MILL RD","locationCoordinates":"36.16368,-85.6228"}
[2026-03-09 04:43:33] [INFO] Number of extracted fields: 23
[2026-03-09 04:43:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
BPD'
[2026-03-09 04:43:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
BPD', Parsed IDs = ["PCFD","EMS","PCSO","RESC","BPD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 04:43:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","BPD"]
[2026-03-09 04:43:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 04:43:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 04:43:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","BPD"]
[2026-03-09 04:43:34] [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-09 04:43:34] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 04:43:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 04:43:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 04:43:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 04:43:34] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-09 04:43:34] [INFO] Found existing Dispatch with cADNumber '2026000639', ID: 69ae4f9e91f65b0eb - will update instead of create
[2026-03-09 04:43:34] [INFO] Updated existing Dispatches record with ID: 69ae4f9e91f65b0eb
[2026-03-09 04:43:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025672_20260309_044333.XML
[2026-03-09 04:43:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333.XML
[2026-03-09 04:43:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333_1.XML
[2026-03-09 04:43:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333_1.XML for user: 68f1466aed072ad4a
[2026-03-09 04:43:34] [INFO] File size: 6927 bytes
[2026-03-09 04:43:35] [INFO] Created FTPFiles record with ID: 69ae4ff6f13090e54
[2026-03-09 04:43:35] [INFO] About to extract fields from XML. File size: 6927 bytes
[2026-03-09 04:43:35] [INFO] Number of mappings: 28
[2026-03-09 04:43:35] [INFO] Starting XML parsing. Content length: 6927
[2026-03-09 04:43:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 04:43:35] [INFO] Processing 28 field mappings
[2026-03-09 04:43:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 04:43:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 04:43:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 04:43:35] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 04:43:35] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
BPD
[2026-03-09 04:43:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC\nBPD"
[2026-03-09 04:43:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 04:43:35] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 04:43:35] [INFO]   -> Found value: 2026000639
[2026-03-09 04:43:35] [INFO]   -> Set field 'incidentInternalId' = "2026000639"
[2026-03-09 04:43:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000639"
[2026-03-09 04:43:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 04:43:35] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-09 04:43:35] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-09 04:43:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 04:43:35] [INFO]   -> Found value: 736
[2026-03-09 04:43:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 736
[2026-03-09 04:43:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 04:43:35] [INFO]   -> Found value: TN
[2026-03-09 04:43:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 04:43:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 04:43:35] [INFO]   -> Found value: 38544
[2026-03-09 04:43:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 04:43:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 04:43:35] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 04:43:35] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 04:43:35] [INFO]   -> Found value: 36.16368
[2026-03-09 04:43:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1636799999999993815436027944087982177734375
[2026-03-09 04:43:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 04:43:35] [INFO]   -> Found value: -85.62280
[2026-03-09 04:43:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6227999999999980218490236438810825347900390625
[2026-03-09 04:43:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 04:43:35] [INFO]   -> Found value: 2026-03-08 23:41:00
[2026-03-09 04:43:35] [INFO]   -> Set field 'alarm' = "2026-03-08 23:41:00"
[2026-03-09 04:43:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 04:43:35] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:43:35] [INFO]   -> Set field 'dispatched' = "2026-03-08 23:42:00"
[2026-03-09 04:43:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 04:43:35] [INFO]   -> Found value: 2026-03-08 23:43:25
[2026-03-09 04:43:35] [INFO]   -> Set field 'enroute' = "2026-03-08 23:43:25"
[2026-03-09 04:43:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 04:43:35] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 04:43:35] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 04:43:35] [INFO]   -> Found value: ANATOLIA WAY/JACK LEWIS RD
[2026-03-09 04:43:35] [INFO]   -> Set field 'incidentLocationCross' = "ANATOLIA WAY\/JACK LEWIS RD"
[2026-03-09 04:43:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 04:43:35] [INFO]   -> Found value: EN31
[2026-03-09 04:43:35] [INFO]   -> Set field 'cADVehicleID' = "EN31"
[2026-03-09 04:43:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 04:43:35] [INFO]   -> Found value: 2026-03-08 23:42:00
[2026-03-09 04:43:35] [INFO]   -> Set field 'timedispatch' = "2026-03-08 23:42:00"
[2026-03-09 04:43:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 04:43:35] [INFO]   -> Found value: 2026-03-08 23:43:25
[2026-03-09 04:43:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-08 23:43:25"
[2026-03-09 04:43:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 04:43:35] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 04:43:35] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 04:43:35] [INFO]   -> No value found (null or empty)
[2026-03-09 04:43:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 04:43:35] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 04:43:35] [INFO]   -> Found value: 20260025672
[2026-03-09 04:43:35] [INFO]   -> Set field 'policeReportNumber' = "20260025672"
[2026-03-09 04:43:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 04:43:35] [INFO]   -> Found value: [LAW] VEH IS IN THE RDWAY  [03/08/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03/08/26 23:42:02 RJGIPSO...
[2026-03-09 04:43:35] [INFO]   -> Set field 'dispatchNotes' = "[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:43:35] [INFO]   -> Set field 'cADLog' = "[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]"
[2026-03-09 04:43:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 04:43:35] [INFO]   -> Found value: BAXTER
[2026-03-09 04:43:35] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 04:43:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 04:43:35] [INFO]   -> Found value: WARD MILL
[2026-03-09 04:43:35] [INFO]   -> Set field 'streetName' = "WARD MILL"
[2026-03-09 04:43:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 04:43:35] [INFO]   -> Found value: RD
[2026-03-09 04:43:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 04:43:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 04:43:35] [INFO]   -> Found value: 736 WARD MILL RD
[2026-03-09 04:43:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "736 WARD MILL RD"
[2026-03-09 04:43:35] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 04:43:35] [INFO] Concatenating street name and type
[2026-03-09 04:43:35] [INFO]   -> Combined street name: WARD MILL RD
[2026-03-09 04:43:35] [INFO] Built locationCoordinates from lat/lng: 36.16368,-85.6228
[2026-03-09 04:43:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC\nBPD","incidentInternalId":"2026000639","dispatchRunNumber":"2026000639","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":736,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1636799999999993815436027944087982177734375,"nERISIncidentLongitude":-85.6227999999999980218490236438810825347900390625,"alarm":"2026-03-08 23:41:00","dispatched":"2026-03-08 23:42:00","enroute":"2026-03-08 23:43:25","incidentLocationCross":"ANATOLIA WAY\/JACK LEWIS RD","cADVehicleID":"EN31","timedispatch":"2026-03-08 23:42:00","timeenroutetoscene":"2026-03-08 23:43:25","policeReportNumber":"20260025672","dispatchNotes":"[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","cADLog":"[LAW] VEH IS IN THE RDWAY  [03\/08\/26 23:42:22 RJGIPSON] [LAW] POSS INTOX  [03\/08\/26 23:42:02 RJGIPSON] [LAW] VEH POSS HIT A TREE  [03\/08\/26 23:41:43 RJGIPSON] [EMS] DOES NOT SEE ANYONE OUTSIDE OF THE VEHI  [03\/08\/26 23:41:13 TSCOTT] [LAW] UNK INJ  [03\/08\/26 23:41:12 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/08\/26 23:41:09 RJGIPSON] Event spawned from MVC WITH INJURY.  [03\/08\/2026 23:41:00 TSCOTT] WHITE VEHI OUTSIDE THE HOME - CALLER STATED HEARD A LOUD NOISE  THINKS HE MIGHT HAVE HIT SOMETHING  [03\/08\/26 23:40:57 TSCOTT]]","incidentLocationCity":"BAXTER","streetName":"WARD MILL RD","incidentAddressTextVersionStreet":"736 WARD MILL RD","locationCoordinates":"36.16368,-85.6228"}
[2026-03-09 04:43:35] [INFO] Number of extracted fields: 23
[2026-03-09 04:43:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC
BPD'
[2026-03-09 04:43:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC
BPD', Parsed IDs = ["PCFD","EMS","PCSO","RESC","BPD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 04:43:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC","BPD"]
[2026-03-09 04:43:35] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 04:43:35] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 04:43:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC","BPD"]
[2026-03-09 04:43: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-09 04:43: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-09 04:43:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 04:43:35] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 04:43:35] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 04:43:35] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-09 04:43:35] [INFO] Found existing Dispatch with cADNumber '2026000639', ID: 69ae4f9e91f65b0eb - will update instead of create
[2026-03-09 04:43:35] [INFO] Updated existing Dispatches record with ID: 69ae4f9e91f65b0eb
[2026-03-09 04:43:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025672_20260309_044333_1.XML
[2026-03-09 04:43:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025672_20260309_044333_1.XML
[2026-03-09 12:35:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123525.XML
[2026-03-09 12:35:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123525.XML for user: 68f1466aed072ad4a
[2026-03-09 12:35:25] [INFO] File size: 5159 bytes
[2026-03-09 12:35:26] [INFO] Created FTPFiles record with ID: 69aebe8e39918ca66
[2026-03-09 12:35:26] [INFO] About to extract fields from XML. File size: 5159 bytes
[2026-03-09 12:35:26] [INFO] Number of mappings: 28
[2026-03-09 12:35:26] [INFO] Starting XML parsing. Content length: 5159
[2026-03-09 12:35:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 12:35:26] [INFO] Processing 28 field mappings
[2026-03-09 12:35:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 12:35:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 12:35:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 12:35:26] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 12:35:26] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 12:35:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 12:35:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 12:35:26] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 12:35:26] [INFO]   -> Found value: 2026000640
[2026-03-09 12:35:26] [INFO]   -> Set field 'incidentInternalId' = "2026000640"
[2026-03-09 12:35:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000640"
[2026-03-09 12:35:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 12:35:26] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 12:35:26] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 12:35:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 12:35:26] [INFO]   -> Found value: 1267
[2026-03-09 12:35:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1267
[2026-03-09 12:35:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 12:35:26] [INFO]   -> Found value: TN
[2026-03-09 12:35:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 12:35:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 12:35:26] [INFO]   -> Found value: 38506
[2026-03-09 12:35:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 12:35:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 12:35:26] [INFO]   -> Found value: 36.19243
[2026-03-09 12:35:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19243000000000165528035722672939300537109375
[2026-03-09 12:35:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 12:35:26] [INFO]   -> Found value: -85.47323
[2026-03-09 12:35:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47323000000000092768459580838680267333984375
[2026-03-09 12:35:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 12:35:26] [INFO]   -> Found value: 2026-03-09 07:34:50
[2026-03-09 12:35:26] [INFO]   -> Set field 'alarm' = "2026-03-09 07:34:50"
[2026-03-09 12:35:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 12:35:26] [INFO]   -> Found value: 2026-03-09 07:35:23
[2026-03-09 12:35:26] [INFO]   -> Set field 'dispatched' = "2026-03-09 07:35:23"
[2026-03-09 12:35:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 12:35:26] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-09 12:35:26] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-09 12:35:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 12:35:26] [INFO]   -> Found value: PCFR
[2026-03-09 12:35:26] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 12:35:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 12:35:26] [INFO]   -> Found value: 2026-03-09 07:35:23
[2026-03-09 12:35:26] [INFO]   -> Set field 'timedispatch' = "2026-03-09 07:35:23"
[2026-03-09 12:35:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 12:35:26] [INFO]   -> No value found (null or empty)
[2026-03-09 12:35:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 12:35:26] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 12:35:26] [INFO]   -> Found value: 20260025725
[2026-03-09 12:35:26] [INFO]   -> Set field 'policeReportNumber' = "20260025725"
[2026-03-09 12:35:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 12:35:26] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/09/2026 07:34:50 KELLIS]
[2026-03-09 12:35:26] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:35:26] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:35:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 12:35:26] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 12:35:26] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 12:35:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 12:35:26] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-09 12:35:26] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-09 12:35:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 12:35:26] [INFO]   -> Found value: DR
[2026-03-09 12:35:26] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 12:35:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 12:35:26] [INFO]   -> Found value: 1267 MOUNTAIN VIEW DR
[2026-03-09 12:35:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1267 MOUNTAIN VIEW DR"
[2026-03-09 12:35:26] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 12:35:26] [INFO] Concatenating street name and type
[2026-03-09 12:35:26] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-09 12:35:26] [INFO] Built locationCoordinates from lat/lng: 36.19243,-85.47323
[2026-03-09 12:35:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000640","dispatchRunNumber":"2026000640","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1267,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19243000000000165528035722672939300537109375,"nERISIncidentLongitude":-85.47323000000000092768459580838680267333984375,"alarm":"2026-03-09 07:34:50","dispatched":"2026-03-09 07:35:23","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 07:35:23","policeReportNumber":"20260025725","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1267 MOUNTAIN VIEW DR","locationCoordinates":"36.19243,-85.47323"}
[2026-03-09 12:35:26] [INFO] Number of extracted fields: 21
[2026-03-09 12:35:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 12:35:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 12:35:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 12:35:26] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 12:35:26] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 12:35:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 12:35: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-09 12:35: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-09 12:35:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 12:35:26] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 12:35:26] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 12:35:26] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 12:35:36] [INFO] Created new Dispatches record with ID: 69aebe8f25669d5d5
[2026-03-09 12:35:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123525.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025725_20260309_123525.XML
[2026-03-09 12:35:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123525.XML
[2026-03-09 12:37:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123701.XML
[2026-03-09 12:37:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123701.XML for user: 68f1466aed072ad4a
[2026-03-09 12:37:01] [INFO] File size: 6036 bytes
[2026-03-09 12:37:02] [INFO] Created FTPFiles record with ID: 69aebeee0d7480166
[2026-03-09 12:37:02] [INFO] About to extract fields from XML. File size: 6036 bytes
[2026-03-09 12:37:02] [INFO] Number of mappings: 28
[2026-03-09 12:37:02] [INFO] Starting XML parsing. Content length: 6036
[2026-03-09 12:37:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 12:37:02] [INFO] Processing 28 field mappings
[2026-03-09 12:37:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 12:37:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 12:37:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 12:37:02] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 12:37:02] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 12:37:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 12:37:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 12:37:02] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 12:37:02] [INFO]   -> Found value: 2026000640
[2026-03-09 12:37:02] [INFO]   -> Set field 'incidentInternalId' = "2026000640"
[2026-03-09 12:37:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000640"
[2026-03-09 12:37:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 12:37:02] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 12:37:02] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 12:37:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 12:37:02] [INFO]   -> Found value: 1267
[2026-03-09 12:37:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1267
[2026-03-09 12:37:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 12:37:02] [INFO]   -> Found value: TN
[2026-03-09 12:37:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 12:37:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 12:37:02] [INFO]   -> Found value: 38506
[2026-03-09 12:37:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 12:37:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 12:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 12:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 12:37:02] [INFO]   -> Found value: 36.19243
[2026-03-09 12:37:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19243000000000165528035722672939300537109375
[2026-03-09 12:37:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 12:37:02] [INFO]   -> Found value: -85.47323
[2026-03-09 12:37:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47323000000000092768459580838680267333984375
[2026-03-09 12:37:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 12:37:02] [INFO]   -> Found value: 2026-03-09 07:34:50
[2026-03-09 12:37:02] [INFO]   -> Set field 'alarm' = "2026-03-09 07:34:50"
[2026-03-09 12:37:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 12:37:02] [INFO]   -> Found value: 2026-03-09 07:35:23
[2026-03-09 12:37:02] [INFO]   -> Set field 'dispatched' = "2026-03-09 07:35:23"
[2026-03-09 12:37:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 12:37:02] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:02] [INFO]   -> Set field 'enroute' = "2026-03-09 07:36:59"
[2026-03-09 12:37:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 12:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 12:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 12:37:02] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-09 12:37:02] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-09 12:37:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 12:37:02] [INFO]   -> Found value: TK12
[2026-03-09 12:37:02] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 12:37:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 12:37:02] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:02] [INFO]   -> Set field 'timedispatch' = "2026-03-09 07:36:59"
[2026-03-09 12:37:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 12:37:02] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 07:36:59"
[2026-03-09 12:37:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 12:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 12:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 12:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 12:37:02] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 12:37:02] [INFO]   -> Found value: 20260025725
[2026-03-09 12:37:02] [INFO]   -> Set field 'policeReportNumber' = "20260025725"
[2026-03-09 12:37:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 12:37:02] [INFO]   -> Found value: [EMS] SHELIA WATERS 03/17/1955  [03/09/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03/09/26 07:35...
[2026-03-09 12:37:02] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:02] [INFO]   -> Set field 'cADLog' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 12:37:02] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 12:37:02] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 12:37:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 12:37:02] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-09 12:37:02] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-09 12:37:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 12:37:02] [INFO]   -> Found value: DR
[2026-03-09 12:37:02] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 12:37:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 12:37:02] [INFO]   -> Found value: 1267 MOUNTAIN VIEW DR
[2026-03-09 12:37:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1267 MOUNTAIN VIEW DR"
[2026-03-09 12:37:02] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 12:37:02] [INFO] Concatenating street name and type
[2026-03-09 12:37:02] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-09 12:37:02] [INFO] Built locationCoordinates from lat/lng: 36.19243,-85.47323
[2026-03-09 12:37:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000640","dispatchRunNumber":"2026000640","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1267,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19243000000000165528035722672939300537109375,"nERISIncidentLongitude":-85.47323000000000092768459580838680267333984375,"alarm":"2026-03-09 07:34:50","dispatched":"2026-03-09 07:35:23","enroute":"2026-03-09 07:36:59","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"TK12","timedispatch":"2026-03-09 07:36:59","timeenroutetoscene":"2026-03-09 07:36:59","policeReportNumber":"20260025725","dispatchNotes":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","cADLog":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1267 MOUNTAIN VIEW DR","locationCoordinates":"36.19243,-85.47323"}
[2026-03-09 12:37:02] [INFO] Number of extracted fields: 23
[2026-03-09 12:37:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 12:37:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 12:37:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 12:37:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 12:37:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 12:37:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 12:37:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 12:37:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 12:37:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 12:37:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 12:37:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 12:37:02] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 12:37:02] [INFO] Found existing Dispatch with cADNumber '2026000640', ID: 69aebe8f25669d5d5 - will update instead of create
[2026-03-09 12:37:03] [INFO] Updated existing Dispatches record with ID: 69aebe8f25669d5d5
[2026-03-09 12:37:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123701.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025725_20260309_123701.XML
[2026-03-09 12:37:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123701.XML
[2026-03-09 12:37:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707.XML
[2026-03-09 12:37:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707.XML for user: 68f1466aed072ad4a
[2026-03-09 12:37:07] [INFO] File size: 6036 bytes
[2026-03-09 12:37:07] [INFO] Created FTPFiles record with ID: 69aebef35fce0fc0d
[2026-03-09 12:37:07] [INFO] About to extract fields from XML. File size: 6036 bytes
[2026-03-09 12:37:07] [INFO] Number of mappings: 28
[2026-03-09 12:37:07] [INFO] Starting XML parsing. Content length: 6036
[2026-03-09 12:37:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 12:37:07] [INFO] Processing 28 field mappings
[2026-03-09 12:37:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 12:37:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 12:37:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 12:37:07] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 12:37:07] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 12:37:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 12:37:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 12:37:07] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 12:37:07] [INFO]   -> Found value: 2026000640
[2026-03-09 12:37:07] [INFO]   -> Set field 'incidentInternalId' = "2026000640"
[2026-03-09 12:37:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000640"
[2026-03-09 12:37:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 12:37:07] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 12:37:07] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 12:37:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 12:37:07] [INFO]   -> Found value: 1267
[2026-03-09 12:37:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1267
[2026-03-09 12:37:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 12:37:07] [INFO]   -> Found value: TN
[2026-03-09 12:37:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 12:37:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 12:37:07] [INFO]   -> Found value: 38506
[2026-03-09 12:37:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 12:37:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 12:37:07] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 12:37:07] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 12:37:07] [INFO]   -> Found value: 36.19243
[2026-03-09 12:37:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19243000000000165528035722672939300537109375
[2026-03-09 12:37:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 12:37:07] [INFO]   -> Found value: -85.47323
[2026-03-09 12:37:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47323000000000092768459580838680267333984375
[2026-03-09 12:37:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 12:37:07] [INFO]   -> Found value: 2026-03-09 07:34:50
[2026-03-09 12:37:07] [INFO]   -> Set field 'alarm' = "2026-03-09 07:34:50"
[2026-03-09 12:37:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 12:37:07] [INFO]   -> Found value: 2026-03-09 07:35:23
[2026-03-09 12:37:07] [INFO]   -> Set field 'dispatched' = "2026-03-09 07:35:23"
[2026-03-09 12:37:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 12:37:07] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:07] [INFO]   -> Set field 'enroute' = "2026-03-09 07:36:59"
[2026-03-09 12:37:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 12:37:07] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 12:37:07] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 12:37:07] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-09 12:37:07] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-09 12:37:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 12:37:07] [INFO]   -> Found value: TK12
[2026-03-09 12:37:07] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 12:37:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 12:37:07] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:07] [INFO]   -> Set field 'timedispatch' = "2026-03-09 07:36:59"
[2026-03-09 12:37:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 12:37:07] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:07] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 07:36:59"
[2026-03-09 12:37:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 12:37:07] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 12:37:07] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 12:37:07] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 12:37:07] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 12:37:07] [INFO]   -> Found value: 20260025725
[2026-03-09 12:37:07] [INFO]   -> Set field 'policeReportNumber' = "20260025725"
[2026-03-09 12:37:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 12:37:07] [INFO]   -> Found value: [EMS] SHELIA WATERS 03/17/1955  [03/09/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03/09/26 07:35...
[2026-03-09 12:37:07] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:07] [INFO]   -> Set field 'cADLog' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 12:37:07] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 12:37:07] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 12:37:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 12:37:07] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-09 12:37:07] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-09 12:37:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 12:37:07] [INFO]   -> Found value: DR
[2026-03-09 12:37:07] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 12:37:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 12:37:07] [INFO]   -> Found value: 1267 MOUNTAIN VIEW DR
[2026-03-09 12:37:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1267 MOUNTAIN VIEW DR"
[2026-03-09 12:37:07] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 12:37:07] [INFO] Concatenating street name and type
[2026-03-09 12:37:07] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-09 12:37:07] [INFO] Built locationCoordinates from lat/lng: 36.19243,-85.47323
[2026-03-09 12:37:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000640","dispatchRunNumber":"2026000640","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1267,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19243000000000165528035722672939300537109375,"nERISIncidentLongitude":-85.47323000000000092768459580838680267333984375,"alarm":"2026-03-09 07:34:50","dispatched":"2026-03-09 07:35:23","enroute":"2026-03-09 07:36:59","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"TK12","timedispatch":"2026-03-09 07:36:59","timeenroutetoscene":"2026-03-09 07:36:59","policeReportNumber":"20260025725","dispatchNotes":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","cADLog":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1267 MOUNTAIN VIEW DR","locationCoordinates":"36.19243,-85.47323"}
[2026-03-09 12:37:07] [INFO] Number of extracted fields: 23
[2026-03-09 12:37:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 12:37:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 12:37:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 12:37:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 12:37:07] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 12:37:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 12:37: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-09 12:37: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-09 12:37:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 12:37:07] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 12:37:07] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 12:37:07] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 12:37:08] [INFO] Found existing Dispatch with cADNumber '2026000640', ID: 69aebe8f25669d5d5 - will update instead of create
[2026-03-09 12:37:08] [INFO] Updated existing Dispatches record with ID: 69aebe8f25669d5d5
[2026-03-09 12:37:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025725_20260309_123707.XML
[2026-03-09 12:37:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707.XML
[2026-03-09 12:37:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707_1.XML
[2026-03-09 12:37:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707_1.XML for user: 68f1466aed072ad4a
[2026-03-09 12:37:08] [INFO] File size: 6036 bytes
[2026-03-09 12:37:08] [INFO] Created FTPFiles record with ID: 69aebef49688b325b
[2026-03-09 12:37:08] [INFO] About to extract fields from XML. File size: 6036 bytes
[2026-03-09 12:37:08] [INFO] Number of mappings: 28
[2026-03-09 12:37:08] [INFO] Starting XML parsing. Content length: 6036
[2026-03-09 12:37:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 12:37:08] [INFO] Processing 28 field mappings
[2026-03-09 12:37:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 12:37:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 12:37:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 12:37:08] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 12:37:08] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 12:37:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 12:37:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 12:37:08] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 12:37:08] [INFO]   -> Found value: 2026000640
[2026-03-09 12:37:08] [INFO]   -> Set field 'incidentInternalId' = "2026000640"
[2026-03-09 12:37:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000640"
[2026-03-09 12:37:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 12:37:08] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 12:37:08] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 12:37:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 12:37:08] [INFO]   -> Found value: 1267
[2026-03-09 12:37:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1267
[2026-03-09 12:37:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 12:37:08] [INFO]   -> Found value: TN
[2026-03-09 12:37:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 12:37:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 12:37:08] [INFO]   -> Found value: 38506
[2026-03-09 12:37:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 12:37:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 12:37:08] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 12:37:08] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 12:37:08] [INFO]   -> Found value: 36.19243
[2026-03-09 12:37:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19243000000000165528035722672939300537109375
[2026-03-09 12:37:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 12:37:08] [INFO]   -> Found value: -85.47323
[2026-03-09 12:37:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47323000000000092768459580838680267333984375
[2026-03-09 12:37:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 12:37:08] [INFO]   -> Found value: 2026-03-09 07:34:50
[2026-03-09 12:37:08] [INFO]   -> Set field 'alarm' = "2026-03-09 07:34:50"
[2026-03-09 12:37:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 12:37:08] [INFO]   -> Found value: 2026-03-09 07:35:23
[2026-03-09 12:37:08] [INFO]   -> Set field 'dispatched' = "2026-03-09 07:35:23"
[2026-03-09 12:37:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 12:37:08] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:08] [INFO]   -> Set field 'enroute' = "2026-03-09 07:36:59"
[2026-03-09 12:37:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 12:37:08] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 12:37:08] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 12:37:08] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-09 12:37:08] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-09 12:37:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 12:37:08] [INFO]   -> Found value: TK12
[2026-03-09 12:37:08] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 12:37:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 12:37:08] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:08] [INFO]   -> Set field 'timedispatch' = "2026-03-09 07:36:59"
[2026-03-09 12:37:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 12:37:08] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 07:36:59"
[2026-03-09 12:37:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 12:37:08] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 12:37:08] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 12:37:08] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 12:37:08] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 12:37:08] [INFO]   -> Found value: 20260025725
[2026-03-09 12:37:08] [INFO]   -> Set field 'policeReportNumber' = "20260025725"
[2026-03-09 12:37:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 12:37:08] [INFO]   -> Found value: [EMS] SHELIA WATERS 03/17/1955  [03/09/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03/09/26 07:35...
[2026-03-09 12:37:08] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:08] [INFO]   -> Set field 'cADLog' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 12:37:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 12:37:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 12:37:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 12:37:08] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-09 12:37:08] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-09 12:37:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 12:37:08] [INFO]   -> Found value: DR
[2026-03-09 12:37:08] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 12:37:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 12:37:08] [INFO]   -> Found value: 1267 MOUNTAIN VIEW DR
[2026-03-09 12:37:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1267 MOUNTAIN VIEW DR"
[2026-03-09 12:37:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 12:37:08] [INFO] Concatenating street name and type
[2026-03-09 12:37:08] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-09 12:37:08] [INFO] Built locationCoordinates from lat/lng: 36.19243,-85.47323
[2026-03-09 12:37:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000640","dispatchRunNumber":"2026000640","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1267,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19243000000000165528035722672939300537109375,"nERISIncidentLongitude":-85.47323000000000092768459580838680267333984375,"alarm":"2026-03-09 07:34:50","dispatched":"2026-03-09 07:35:23","enroute":"2026-03-09 07:36:59","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"TK12","timedispatch":"2026-03-09 07:36:59","timeenroutetoscene":"2026-03-09 07:36:59","policeReportNumber":"20260025725","dispatchNotes":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","cADLog":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1267 MOUNTAIN VIEW DR","locationCoordinates":"36.19243,-85.47323"}
[2026-03-09 12:37:08] [INFO] Number of extracted fields: 23
[2026-03-09 12:37:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 12:37:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 12:37:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 12:37:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 12:37:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 12:37:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 12:37: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-09 12:37: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-09 12:37:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 12:37:08] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 12:37:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 12:37:09] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 12:37:09] [INFO] Found existing Dispatch with cADNumber '2026000640', ID: 69aebe8f25669d5d5 - will update instead of create
[2026-03-09 12:37:09] [INFO] Updated existing Dispatches record with ID: 69aebe8f25669d5d5
[2026-03-09 12:37:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025725_20260309_123707_1.XML
[2026-03-09 12:37:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123707_1.XML
[2026-03-09 12:37:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123709.XML
[2026-03-09 12:37:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123709.XML for user: 68f1466aed072ad4a
[2026-03-09 12:37:09] [INFO] File size: 6036 bytes
[2026-03-09 12:37:09] [INFO] Created FTPFiles record with ID: 69aebef5cc3b4fe29
[2026-03-09 12:37:09] [INFO] About to extract fields from XML. File size: 6036 bytes
[2026-03-09 12:37:09] [INFO] Number of mappings: 28
[2026-03-09 12:37:09] [INFO] Starting XML parsing. Content length: 6036
[2026-03-09 12:37:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 12:37:09] [INFO] Processing 28 field mappings
[2026-03-09 12:37:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 12:37:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 12:37:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 12:37:09] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 12:37:09] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 12:37:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 12:37:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 12:37:09] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 12:37:09] [INFO]   -> Found value: 2026000640
[2026-03-09 12:37:09] [INFO]   -> Set field 'incidentInternalId' = "2026000640"
[2026-03-09 12:37:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000640"
[2026-03-09 12:37:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 12:37:09] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 12:37:09] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 12:37:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 12:37:09] [INFO]   -> Found value: 1267
[2026-03-09 12:37:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1267
[2026-03-09 12:37:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 12:37:09] [INFO]   -> Found value: TN
[2026-03-09 12:37:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 12:37:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 12:37:09] [INFO]   -> Found value: 38506
[2026-03-09 12:37:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 12:37:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 12:37:09] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 12:37:09] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 12:37:09] [INFO]   -> Found value: 36.19243
[2026-03-09 12:37:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19243000000000165528035722672939300537109375
[2026-03-09 12:37:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 12:37:09] [INFO]   -> Found value: -85.47323
[2026-03-09 12:37:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47323000000000092768459580838680267333984375
[2026-03-09 12:37:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 12:37:09] [INFO]   -> Found value: 2026-03-09 07:34:50
[2026-03-09 12:37:09] [INFO]   -> Set field 'alarm' = "2026-03-09 07:34:50"
[2026-03-09 12:37:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 12:37:09] [INFO]   -> Found value: 2026-03-09 07:35:23
[2026-03-09 12:37:09] [INFO]   -> Set field 'dispatched' = "2026-03-09 07:35:23"
[2026-03-09 12:37:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 12:37:09] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:09] [INFO]   -> Set field 'enroute' = "2026-03-09 07:36:59"
[2026-03-09 12:37:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 12:37:09] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 12:37:09] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 12:37:09] [INFO]   -> Found value: BOWSER RD/GIBBONS RD
[2026-03-09 12:37:09] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/GIBBONS RD"
[2026-03-09 12:37:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 12:37:09] [INFO]   -> Found value: TK12
[2026-03-09 12:37:09] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 12:37:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 12:37:09] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:09] [INFO]   -> Set field 'timedispatch' = "2026-03-09 07:36:59"
[2026-03-09 12:37:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 12:37:09] [INFO]   -> Found value: 2026-03-09 07:36:59
[2026-03-09 12:37:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 07:36:59"
[2026-03-09 12:37:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 12:37:09] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 12:37:09] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 12:37:09] [INFO]   -> No value found (null or empty)
[2026-03-09 12:37:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 12:37:09] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 12:37:09] [INFO]   -> Found value: 20260025725
[2026-03-09 12:37:09] [INFO]   -> Set field 'policeReportNumber' = "20260025725"
[2026-03-09 12:37:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 12:37:09] [INFO]   -> Found value: [EMS] SHELIA WATERS 03/17/1955  [03/09/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03/09/26 07:35...
[2026-03-09 12:37:09] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:09] [INFO]   -> Set field 'cADLog' = "[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]"
[2026-03-09 12:37:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 12:37:09] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 12:37:09] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 12:37:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 12:37:09] [INFO]   -> Found value: MOUNTAIN VIEW
[2026-03-09 12:37:09] [INFO]   -> Set field 'streetName' = "MOUNTAIN VIEW"
[2026-03-09 12:37:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 12:37:09] [INFO]   -> Found value: DR
[2026-03-09 12:37:09] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 12:37:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 12:37:09] [INFO]   -> Found value: 1267 MOUNTAIN VIEW DR
[2026-03-09 12:37:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1267 MOUNTAIN VIEW DR"
[2026-03-09 12:37:09] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 12:37:09] [INFO] Concatenating street name and type
[2026-03-09 12:37:09] [INFO]   -> Combined street name: MOUNTAIN VIEW DR
[2026-03-09 12:37:09] [INFO] Built locationCoordinates from lat/lng: 36.19243,-85.47323
[2026-03-09 12:37:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000640","dispatchRunNumber":"2026000640","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1267,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19243000000000165528035722672939300537109375,"nERISIncidentLongitude":-85.47323000000000092768459580838680267333984375,"alarm":"2026-03-09 07:34:50","dispatched":"2026-03-09 07:35:23","enroute":"2026-03-09 07:36:59","incidentLocationCross":"BOWSER RD\/GIBBONS RD","cADVehicleID":"TK12","timedispatch":"2026-03-09 07:36:59","timeenroutetoscene":"2026-03-09 07:36:59","policeReportNumber":"20260025725","dispatchNotes":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","cADLog":"[EMS] SHELIA WATERS 03\/17\/1955  [03\/09\/26 07:35:48 KELLIS] [EMS] HX COPD  O2  IS ON  [03\/09\/26 07:35:24 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 07:34:50 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"MOUNTAIN VIEW DR","incidentAddressTextVersionStreet":"1267 MOUNTAIN VIEW DR","locationCoordinates":"36.19243,-85.47323"}
[2026-03-09 12:37:09] [INFO] Number of extracted fields: 23
[2026-03-09 12:37:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 12:37:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 12:37:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 12:37:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 12:37:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 12:37:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 12:37: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-09 12:37: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-09 12:37:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 12:37:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 12:37:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 12:37:10] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 12:37:10] [INFO] Found existing Dispatch with cADNumber '2026000640', ID: 69aebe8f25669d5d5 - will update instead of create
[2026-03-09 12:37:10] [INFO] Updated existing Dispatches record with ID: 69aebe8f25669d5d5
[2026-03-09 12:37:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123709.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025725_20260309_123709.XML
[2026-03-09 12:37:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025725_20260309_123709.XML
[2026-03-09 16:34:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07142.xml
[2026-03-09 16:34:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07142.xml for user: 68d56363ec1209189
[2026-03-09 16:34:24] [INFO] File size: 1427 bytes
[2026-03-09 16:34:25] [INFO] Created FTPFiles record with ID: 69aef6913ab5590bd
[2026-03-09 16:34:25] [INFO] About to extract fields from XML. File size: 1427 bytes
[2026-03-09 16:34:25] [INFO] Number of mappings: 21
[2026-03-09 16:34:25] [INFO] Starting XML parsing. Content length: 1427
[2026-03-09 16:34:25] [INFO] XML parsed successfully. Root element: Incident
[2026-03-09 16:34:25] [INFO] Processing 21 field mappings
[2026-03-09 16:34:25] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-09 16:34:25] [INFO]   -> Found value: 26-07142
[2026-03-09 16:34:25] [INFO]   -> Set field 'dispatchRunNumber' = "26-07142"
[2026-03-09 16:34:25] [INFO]   -> Set field 'cADNumber' = "26-07142"
[2026-03-09 16:34:25] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-09 16:34:25] [INFO]   -> Found value: 287
[2026-03-09 16:34:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 287
[2026-03-09 16:34:25] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-09 16:34:25] [INFO]   -> Found value: W KEW ST
[2026-03-09 16:34:25] [INFO]   -> Set field 'streetName' = "W KEW ST"
[2026-03-09 16:34:25] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-09 16:34:25] [INFO]   -> No value found (null or empty)
[2026-03-09 16:34:25] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-09 16:34:25] [INFO]   -> Found value: BLODGETT
[2026-03-09 16:34:25] [INFO]   -> Set field 'incidentLocationCity' = "BLODGETT"
[2026-03-09 16:34:25] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-09 16:34:25] [INFO]   -> No value found (null or empty)
[2026-03-09 16:34:25] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-09 16:34:25] [INFO]   -> No value found (null or empty)
[2026-03-09 16:34:25] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-09 16:34:25] [INFO]   -> Found value: 63824
[2026-03-09 16:34:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63824
[2026-03-09 16:34:25] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-09 16:34:25] [INFO]   -> Found value: 0
[2026-03-09 16:34:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-09 16:34:25] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-09 16:34:25] [INFO]   -> Found value: 0
[2026-03-09 16:34:25] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-09 16:34:25] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-09 16:34:25] [INFO]   -> Found value: MEDICAL
[2026-03-09 16:34:25] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-09 16:34:25] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-09 16:34:25] [INFO]   -> Found value: 03-09-2026 09:20:57|Call Received on 03/09/2026 @ 09:20

Location: 251 FRONT

23 year old male in pa...
[2026-03-09 16:34:25] [INFO]   -> Set field 'dispatchNotes' = "03-09-2026 09:20:57|Call Received on 03\/09\/2026 @ 09:20\n\nLocation: 251 FRONT\n\n23 year old male in pain \nstomach pain"
[2026-03-09 16:34:25] [INFO]   -> Set field 'cADLog' = "03-09-2026 09:20:57|Call Received on 03\/09\/2026 @ 09:20\n\nLocation: 251 FRONT\n\n23 year old male in pain \nstomach pain"
[2026-03-09 16:34:25] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-09 16:34:25] [INFO]   -> Found value: 03-09-2026T09:22:28
[2026-03-09 16:34:25] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T09:22:28
[2026-03-09 16:34:25] [INFO]   -> Set field 'alarm' = "2026-09-03 09:22:28"
[2026-03-09 16:34:25] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T09:22:28
[2026-03-09 16:34:25] [INFO]   -> Set field 'dispatched' = "2026-09-03 09:22:28"
[2026-03-09 16:34:25] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-09 16:34:25] [INFO]   -> Found value: 03-09-2026T10:24:08
[2026-03-09 16:34:25] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T10:24:08
[2026-03-09 16:34:25] [INFO]   -> Set field 'onScene' = "2026-09-03 10:24:08"
[2026-03-09 16:34:25] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-09 16:34:25] [INFO]   -> Found value: 03-09-2026T11:33:50
[2026-03-09 16:34:25] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T11:33:50
[2026-03-09 16:34:25] [INFO]   -> Set field 'cleared' = "2026-09-03 11:33:50"
[2026-03-09 16:34:25] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T11:33:50
[2026-03-09 16:34:25] [INFO]   -> Set field 'inService' = "2026-09-03 11:33:50"
[2026-03-09 16:34:25] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-09 16:34:25] [INFO]   -> Found value: RURAL PAGE
[2026-03-09 16:34:25] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-03-09 16:34:25] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-03-09 16:34:25] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-09 16:34:25] [INFO]   -> No value found (null or empty)
[2026-03-09 16:34:25] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-09 16:34:25] [INFO]   -> No value found (null or empty)
[2026-03-09 16:34:25] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-09 16:34:25] [INFO]   -> Found value: 03-09-2026T11:33:50
[2026-03-09 16:34:25] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T11:33:50
[2026-03-09 16:34:25] [INFO]   -> Set field 'timeunitclear' = "2026-09-03 11:33:50"
[2026-03-09 16:34:25] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-09 16:34:25] [INFO]   -> Found value: 03-09-2026T09:22:35
[2026-03-09 16:34:25] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T09:22:35
[2026-03-09 16:34:25] [INFO]   -> Set field 'timedispatch' = "2026-09-03 09:22:35"
[2026-03-09 16:34:25] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-09 16:34:25] [INFO]   -> Found value: SCRFD
[2026-03-09 16:34:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-09 16:34:25] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 16:34:25] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-09 16:34:25] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07142","cADNumber":"26-07142","incidentLocationStreetNumber":287,"streetName":"W KEW ST","incidentLocationCity":"BLODGETT","nERISIncidentPostalCode":63824,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-09-2026 09:20:57|Call Received on 03\/09\/2026 @ 09:20\n\nLocation: 251 FRONT\n\n23 year old male in pain \nstomach pain","cADLog":"03-09-2026 09:20:57|Call Received on 03\/09\/2026 @ 09:20\n\nLocation: 251 FRONT\n\n23 year old male in pain \nstomach pain","alarm":"2026-09-03 09:22:28","dispatched":"2026-09-03 09:22:28","onScene":"2026-09-03 10:24:08","cleared":"2026-09-03 11:33:50","inService":"2026-09-03 11:33:50","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-09-03 11:33:50","timedispatch":"2026-09-03 09:22:35","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-09 16:34:25] [INFO] Number of extracted fields: 22
[2026-03-09 16:34:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-09 16:34:25] [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-09 16:34:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-09 16:34:25] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:34:25] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-09 16:34:25] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-09 16:34:25] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-09 16:34:25] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-09 16:34:25] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-03-09 16:34:26] [INFO] Found existing Dispatch with cADNumber '26-07142', ID: 69aed7af3613b56c1 - will update instead of create
[2026-03-09 16:34:26] [INFO] Updated existing Dispatches record with ID: 69aed7af3613b56c1
[2026-03-09 16:34:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07142.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-09/SCRFD_26-07142.xml
[2026-03-09 16:34:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07142.xml
[2026-03-09 16:48:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_164843.XML
[2026-03-09 16:48:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_164843.XML for user: 68f1466aed072ad4a
[2026-03-09 16:48:43] [INFO] File size: 5124 bytes
[2026-03-09 16:48:43] [INFO] Created FTPFiles record with ID: 69aef9ebe6dfe056f
[2026-03-09 16:48:43] [INFO] About to extract fields from XML. File size: 5124 bytes
[2026-03-09 16:48:43] [INFO] Number of mappings: 28
[2026-03-09 16:48:43] [INFO] Starting XML parsing. Content length: 5124
[2026-03-09 16:48:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:48:43] [INFO] Processing 28 field mappings
[2026-03-09 16:48:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:48:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:48:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 16:48:43] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 16:48:43] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 16:48:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 16:48:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:48:43] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 16:48:43] [INFO]   -> Found value: 2026000641
[2026-03-09 16:48:43] [INFO]   -> Set field 'incidentInternalId' = "2026000641"
[2026-03-09 16:48:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000641"
[2026-03-09 16:48:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:48:43] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 16:48:43] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 16:48:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:48:43] [INFO]   -> Found value: 2007
[2026-03-09 16:48:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2007
[2026-03-09 16:48:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:48:43] [INFO]   -> Found value: TN
[2026-03-09 16:48:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:48:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:48:43] [INFO]   -> Found value: 38506
[2026-03-09 16:48:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 16:48:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:48:43] [INFO]   -> Found value: 36.10792
[2026-03-09 16:48:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10792000000000001591615728102624416351318359375
[2026-03-09 16:48:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:48:43] [INFO]   -> Found value: -85.54784
[2026-03-09 16:48:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5478399999999936653694021515548229217529296875
[2026-03-09 16:48:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:48:43] [INFO]   -> Found value: 2026-03-09 11:47:48
[2026-03-09 16:48:43] [INFO]   -> Set field 'alarm' = "2026-03-09 11:47:48"
[2026-03-09 16:48:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:48:43] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:48:43] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:48:39"
[2026-03-09 16:48:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:48:43] [INFO]   -> Found value: JOE RAWLINGS RD
[2026-03-09 16:48:43] [INFO]   -> Set field 'incidentLocationCross' = "JOE RAWLINGS RD"
[2026-03-09 16:48:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:48:43] [INFO]   -> Found value: PCFR
[2026-03-09 16:48:43] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 16:48:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:48:43] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:48:43] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:48:39"
[2026-03-09 16:48:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:48:43] [INFO]   -> No value found (null or empty)
[2026-03-09 16:48:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:48:43] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 16:48:43] [INFO]   -> Found value: 20260025844
[2026-03-09 16:48:43] [INFO]   -> Set field 'policeReportNumber' = "20260025844"
[2026-03-09 16:48:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:48:43] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/09/2026 11:47:48 KELLIS]
[2026-03-09 16:48:43] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:48:43] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:48:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:48:43] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:48:43] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:48:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:48:43] [INFO]   -> Found value: SLIM BRAY
[2026-03-09 16:48:43] [INFO]   -> Set field 'streetName' = "SLIM BRAY"
[2026-03-09 16:48:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:48:43] [INFO]   -> Found value: RD
[2026-03-09 16:48:43] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 16:48:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:48:43] [INFO]   -> Found value: 2007 SLIM BRAY RD
[2026-03-09 16:48:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2007 SLIM BRAY RD"
[2026-03-09 16:48:43] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 16:48:43] [INFO] Concatenating street name and type
[2026-03-09 16:48:43] [INFO]   -> Combined street name: SLIM BRAY RD
[2026-03-09 16:48:43] [INFO] Built locationCoordinates from lat/lng: 36.10792,-85.54784
[2026-03-09 16:48:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000641","dispatchRunNumber":"2026000641","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":2007,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10792000000000001591615728102624416351318359375,"nERISIncidentLongitude":-85.5478399999999936653694021515548229217529296875,"alarm":"2026-03-09 11:47:48","dispatched":"2026-03-09 11:48:39","incidentLocationCross":"JOE RAWLINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:48:39","policeReportNumber":"20260025844","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"SLIM BRAY RD","incidentAddressTextVersionStreet":"2007 SLIM BRAY RD","locationCoordinates":"36.10792,-85.54784"}
[2026-03-09 16:48:43] [INFO] Number of extracted fields: 21
[2026-03-09 16:48:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 16:48:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 16:48:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 16:48:43] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:48:44] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:48:44] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 16:48:44] [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-09 16:48:44] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 16:48:44] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 16:48:44] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 16:48:44] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 16:48:44] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 16:48:54] [INFO] Created new Dispatches record with ID: 69aef9ecc0bb4a976
[2026-03-09 16:48:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_164843.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025844_20260309_164843.XML
[2026-03-09 16:48:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_164843.XML
[2026-03-09 16:50:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165019.XML
[2026-03-09 16:50:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165019.XML for user: 68f1466aed072ad4a
[2026-03-09 16:50:19] [INFO] File size: 6168 bytes
[2026-03-09 16:50:22] [INFO] Created FTPFiles record with ID: 69aefa4ec8bb350f3
[2026-03-09 16:50:22] [INFO] About to extract fields from XML. File size: 6168 bytes
[2026-03-09 16:50:22] [INFO] Number of mappings: 28
[2026-03-09 16:50:22] [INFO] Starting XML parsing. Content length: 6168
[2026-03-09 16:50:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:50:22] [INFO] Processing 28 field mappings
[2026-03-09 16:50:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:50:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:50:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 16:50:22] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 16:50:22] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 16:50:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 16:50:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:50:22] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 16:50:22] [INFO]   -> Found value: 2026000641
[2026-03-09 16:50:22] [INFO]   -> Set field 'incidentInternalId' = "2026000641"
[2026-03-09 16:50:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000641"
[2026-03-09 16:50:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:50:22] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 16:50:22] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 16:50:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:50:22] [INFO]   -> Found value: 2007
[2026-03-09 16:50:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2007
[2026-03-09 16:50:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:50:22] [INFO]   -> Found value: TN
[2026-03-09 16:50:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:50:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:50:22] [INFO]   -> Found value: 38506
[2026-03-09 16:50:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 16:50:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:50:22] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:50:22] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:50:22] [INFO]   -> Found value: 36.10792
[2026-03-09 16:50:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10792000000000001591615728102624416351318359375
[2026-03-09 16:50:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:50:22] [INFO]   -> Found value: -85.54784
[2026-03-09 16:50:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5478399999999936653694021515548229217529296875
[2026-03-09 16:50:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:50:22] [INFO]   -> Found value: 2026-03-09 11:47:48
[2026-03-09 16:50:22] [INFO]   -> Set field 'alarm' = "2026-03-09 11:47:48"
[2026-03-09 16:50:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:50:22] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:50:22] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:48:39"
[2026-03-09 16:50:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:50:22] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:50:22] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:50:22] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:50:22] [INFO]   -> Found value: JOE RAWLINGS RD
[2026-03-09 16:50:22] [INFO]   -> Set field 'incidentLocationCross' = "JOE RAWLINGS RD"
[2026-03-09 16:50:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:50:22] [INFO]   -> Found value: PCFR
[2026-03-09 16:50:22] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 16:50:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:50:22] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:50:22] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:48:39"
[2026-03-09 16:50:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:50:22] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:50:22] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:50:22] [INFO]   -> Found value: 2026-03-09 11:50:16
[2026-03-09 16:50:22] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 11:50:16"
[2026-03-09 16:50:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:50:22] [INFO]   -> Found value: 2026-03-09 11:50:16
[2026-03-09 16:50:22] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 11:50:16"
[2026-03-09 16:50:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:50:22] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 16:50:22] [INFO]   -> Found value: 20260025844
[2026-03-09 16:50:22] [INFO]   -> Set field 'policeReportNumber' = "20260025844"
[2026-03-09 16:50:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:50:22] [INFO]   -> Found value: [EMS] ALSO HX OF BREAST CA  [03/09/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03/09/26 11:49:19 KELLIS] ...
[2026-03-09 16:50:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:50:22] [INFO]   -> Set field 'cADLog' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:50:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:50:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:50:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:50:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:50:22] [INFO]   -> Found value: SLIM BRAY
[2026-03-09 16:50:22] [INFO]   -> Set field 'streetName' = "SLIM BRAY"
[2026-03-09 16:50:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:50:22] [INFO]   -> Found value: RD
[2026-03-09 16:50:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 16:50:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:50:22] [INFO]   -> Found value: 2007 SLIM BRAY RD
[2026-03-09 16:50:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2007 SLIM BRAY RD"
[2026-03-09 16:50:22] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 16:50:22] [INFO] Concatenating street name and type
[2026-03-09 16:50:22] [INFO]   -> Combined street name: SLIM BRAY RD
[2026-03-09 16:50:22] [INFO] Built locationCoordinates from lat/lng: 36.10792,-85.54784
[2026-03-09 16:50:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000641","dispatchRunNumber":"2026000641","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":2007,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10792000000000001591615728102624416351318359375,"nERISIncidentLongitude":-85.5478399999999936653694021515548229217529296875,"alarm":"2026-03-09 11:47:48","dispatched":"2026-03-09 11:48:39","incidentLocationCross":"JOE RAWLINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:48:39","timeunitclear":"2026-03-09 11:50:16","timecanceledenroute":"2026-03-09 11:50:16","policeReportNumber":"20260025844","dispatchNotes":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","cADLog":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"SLIM BRAY RD","incidentAddressTextVersionStreet":"2007 SLIM BRAY RD","locationCoordinates":"36.10792,-85.54784"}
[2026-03-09 16:50:22] [INFO] Number of extracted fields: 23
[2026-03-09 16:50:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 16:50:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 16:50:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 16:50:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:50:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:50:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 16:50:23] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 16:50:23] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 16:50:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 16:50:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 16:50:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 16:50:23] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 16:50:23] [INFO] Found existing Dispatch with cADNumber '2026000641', ID: 69aef9ecc0bb4a976 - will update instead of create
[2026-03-09 16:50:24] [INFO] Updated existing Dispatches record with ID: 69aef9ecc0bb4a976
[2026-03-09 16:50:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165019.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025844_20260309_165019.XML
[2026-03-09 16:50:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165019.XML
[2026-03-09 16:50:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165020.XML
[2026-03-09 16:50:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165020.XML for user: 68f1466aed072ad4a
[2026-03-09 16:50:24] [INFO] File size: 6168 bytes
[2026-03-09 16:50:24] [INFO] Created FTPFiles record with ID: 69aefa5078065543d
[2026-03-09 16:50:24] [INFO] About to extract fields from XML. File size: 6168 bytes
[2026-03-09 16:50:24] [INFO] Number of mappings: 28
[2026-03-09 16:50:24] [INFO] Starting XML parsing. Content length: 6168
[2026-03-09 16:50:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:50:24] [INFO] Processing 28 field mappings
[2026-03-09 16:50:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:50:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:50:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 16:50:24] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 16:50:24] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 16:50:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 16:50:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:50:24] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 16:50:24] [INFO]   -> Found value: 2026000641
[2026-03-09 16:50:24] [INFO]   -> Set field 'incidentInternalId' = "2026000641"
[2026-03-09 16:50:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000641"
[2026-03-09 16:50:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:50:24] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 16:50:24] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 16:50:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:50:24] [INFO]   -> Found value: 2007
[2026-03-09 16:50:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2007
[2026-03-09 16:50:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:50:24] [INFO]   -> Found value: TN
[2026-03-09 16:50:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:50:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:50:24] [INFO]   -> Found value: 38506
[2026-03-09 16:50:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 16:50:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:50:24] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:50:24] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:50:24] [INFO]   -> Found value: 36.10792
[2026-03-09 16:50:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10792000000000001591615728102624416351318359375
[2026-03-09 16:50:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:50:24] [INFO]   -> Found value: -85.54784
[2026-03-09 16:50:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5478399999999936653694021515548229217529296875
[2026-03-09 16:50:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:50:24] [INFO]   -> Found value: 2026-03-09 11:47:48
[2026-03-09 16:50:24] [INFO]   -> Set field 'alarm' = "2026-03-09 11:47:48"
[2026-03-09 16:50:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:50:24] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:50:24] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:48:39"
[2026-03-09 16:50:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:50:24] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:50:24] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:50:24] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:50:24] [INFO]   -> Found value: JOE RAWLINGS RD
[2026-03-09 16:50:24] [INFO]   -> Set field 'incidentLocationCross' = "JOE RAWLINGS RD"
[2026-03-09 16:50:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:50:24] [INFO]   -> Found value: PCFR
[2026-03-09 16:50:24] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 16:50:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:50:24] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:50:24] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:48:39"
[2026-03-09 16:50:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:50:24] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:50:24] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:50:24] [INFO]   -> Found value: 2026-03-09 11:50:16
[2026-03-09 16:50:24] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 11:50:16"
[2026-03-09 16:50:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:50:24] [INFO]   -> Found value: 2026-03-09 11:50:16
[2026-03-09 16:50:24] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 11:50:16"
[2026-03-09 16:50:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:50:24] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 16:50:24] [INFO]   -> Found value: 20260025844
[2026-03-09 16:50:24] [INFO]   -> Set field 'policeReportNumber' = "20260025844"
[2026-03-09 16:50:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:50:24] [INFO]   -> Found value: [EMS] ALSO HX OF BREAST CA  [03/09/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03/09/26 11:49:19 KELLIS] ...
[2026-03-09 16:50:24] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:50:24] [INFO]   -> Set field 'cADLog' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:50:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:50:24] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:50:24] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:50:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:50:24] [INFO]   -> Found value: SLIM BRAY
[2026-03-09 16:50:24] [INFO]   -> Set field 'streetName' = "SLIM BRAY"
[2026-03-09 16:50:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:50:24] [INFO]   -> Found value: RD
[2026-03-09 16:50:24] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 16:50:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:50:24] [INFO]   -> Found value: 2007 SLIM BRAY RD
[2026-03-09 16:50:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2007 SLIM BRAY RD"
[2026-03-09 16:50:24] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 16:50:24] [INFO] Concatenating street name and type
[2026-03-09 16:50:24] [INFO]   -> Combined street name: SLIM BRAY RD
[2026-03-09 16:50:24] [INFO] Built locationCoordinates from lat/lng: 36.10792,-85.54784
[2026-03-09 16:50:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000641","dispatchRunNumber":"2026000641","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":2007,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10792000000000001591615728102624416351318359375,"nERISIncidentLongitude":-85.5478399999999936653694021515548229217529296875,"alarm":"2026-03-09 11:47:48","dispatched":"2026-03-09 11:48:39","incidentLocationCross":"JOE RAWLINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:48:39","timeunitclear":"2026-03-09 11:50:16","timecanceledenroute":"2026-03-09 11:50:16","policeReportNumber":"20260025844","dispatchNotes":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","cADLog":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"SLIM BRAY RD","incidentAddressTextVersionStreet":"2007 SLIM BRAY RD","locationCoordinates":"36.10792,-85.54784"}
[2026-03-09 16:50:24] [INFO] Number of extracted fields: 23
[2026-03-09 16:50:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 16:50:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 16:50:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 16:50:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:50:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:50:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 16:50: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-09 16:50: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-09 16:50:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 16:50:25] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 16:50:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 16:50:25] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 16:50:25] [INFO] Found existing Dispatch with cADNumber '2026000641', ID: 69aef9ecc0bb4a976 - will update instead of create
[2026-03-09 16:50:25] [INFO] Updated existing Dispatches record with ID: 69aef9ecc0bb4a976
[2026-03-09 16:50:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165020.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025844_20260309_165020.XML
[2026-03-09 16:50:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165020.XML
[2026-03-09 16:50:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165027.XML
[2026-03-09 16:50:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165027.XML for user: 68f1466aed072ad4a
[2026-03-09 16:50:27] [INFO] File size: 6235 bytes
[2026-03-09 16:50:55] [INFO] Created FTPFiles record with ID: 69aefa6fa701c0454
[2026-03-09 16:50:55] [INFO] About to extract fields from XML. File size: 6235 bytes
[2026-03-09 16:50:55] [INFO] Number of mappings: 28
[2026-03-09 16:50:55] [INFO] Starting XML parsing. Content length: 6235
[2026-03-09 16:50:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:50:55] [INFO] Processing 28 field mappings
[2026-03-09 16:50:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:50:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:50:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 16:50:55] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 16:50:55] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 16:50:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 16:50:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:50:55] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 16:50:55] [INFO]   -> Found value: 2026000641
[2026-03-09 16:50:55] [INFO]   -> Set field 'incidentInternalId' = "2026000641"
[2026-03-09 16:50:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000641"
[2026-03-09 16:50:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:50:55] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 16:50:55] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 16:50:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:50:55] [INFO]   -> Found value: 2007
[2026-03-09 16:50:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2007
[2026-03-09 16:50:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:50:55] [INFO]   -> Found value: TN
[2026-03-09 16:50:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:50:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:50:55] [INFO]   -> Found value: 38506
[2026-03-09 16:50:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 16:50:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:50:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:50:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:50:55] [INFO]   -> Found value: 36.10792
[2026-03-09 16:50:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10792000000000001591615728102624416351318359375
[2026-03-09 16:50:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:50:55] [INFO]   -> Found value: -85.54784
[2026-03-09 16:50:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5478399999999936653694021515548229217529296875
[2026-03-09 16:50:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:50:55] [INFO]   -> Found value: 2026-03-09 11:47:48
[2026-03-09 16:50:55] [INFO]   -> Set field 'alarm' = "2026-03-09 11:47:48"
[2026-03-09 16:50:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:50:55] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:50:55] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:48:39"
[2026-03-09 16:50:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:50:55] [INFO]   -> Found value: 2026-03-09 11:50:20
[2026-03-09 16:50:55] [INFO]   -> Set field 'enroute' = "2026-03-09 11:50:20"
[2026-03-09 16:50:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:50:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:50:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:50:55] [INFO]   -> Found value: JOE RAWLINGS RD
[2026-03-09 16:50:55] [INFO]   -> Set field 'incidentLocationCross' = "JOE RAWLINGS RD"
[2026-03-09 16:50:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:50:55] [INFO]   -> Found value: SQ11
[2026-03-09 16:50:55] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-09 16:50:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:50:55] [INFO]   -> Found value: 2026-03-09 11:50:16
[2026-03-09 16:50:55] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:50:16"
[2026-03-09 16:50:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:50:55] [INFO]   -> Found value: 2026-03-09 11:50:20
[2026-03-09 16:50:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 11:50:20"
[2026-03-09 16:50:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:50:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:50:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:50:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:50:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:50:55] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 16:50:55] [INFO]   -> Found value: 20260025844
[2026-03-09 16:50:55] [INFO]   -> Set field 'policeReportNumber' = "20260025844"
[2026-03-09 16:50:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:50:55] [INFO]   -> Found value: [EMS] ALSO HX OF BREAST CA  [03/09/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03/09/26 11:49:19 KELLIS] ...
[2026-03-09 16:50:55] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:50:55] [INFO]   -> Set field 'cADLog' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:50:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:50:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:50:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:50:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:50:55] [INFO]   -> Found value: SLIM BRAY
[2026-03-09 16:50:55] [INFO]   -> Set field 'streetName' = "SLIM BRAY"
[2026-03-09 16:50:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:50:55] [INFO]   -> Found value: RD
[2026-03-09 16:50:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 16:50:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:50:55] [INFO]   -> Found value: 2007 SLIM BRAY RD
[2026-03-09 16:50:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2007 SLIM BRAY RD"
[2026-03-09 16:50:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 16:50:55] [INFO] Concatenating street name and type
[2026-03-09 16:50:55] [INFO]   -> Combined street name: SLIM BRAY RD
[2026-03-09 16:50:55] [INFO] Built locationCoordinates from lat/lng: 36.10792,-85.54784
[2026-03-09 16:50:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000641","dispatchRunNumber":"2026000641","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":2007,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10792000000000001591615728102624416351318359375,"nERISIncidentLongitude":-85.5478399999999936653694021515548229217529296875,"alarm":"2026-03-09 11:47:48","dispatched":"2026-03-09 11:48:39","enroute":"2026-03-09 11:50:20","incidentLocationCross":"JOE RAWLINGS RD","cADVehicleID":"SQ11","timedispatch":"2026-03-09 11:50:16","timeenroutetoscene":"2026-03-09 11:50:20","policeReportNumber":"20260025844","dispatchNotes":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","cADLog":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"SLIM BRAY RD","incidentAddressTextVersionStreet":"2007 SLIM BRAY RD","locationCoordinates":"36.10792,-85.54784"}
[2026-03-09 16:50:55] [INFO] Number of extracted fields: 23
[2026-03-09 16:50:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 16:50:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 16:50:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 16:50:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:50:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:50:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 16:50: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-09 16:50: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-09 16:50:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 16:50:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 16:50:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 16:50:56] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 16:50:56] [INFO] Found existing Dispatch with cADNumber '2026000641', ID: 69aef9ecc0bb4a976 - will update instead of create
[2026-03-09 16:50:56] [INFO] Updated existing Dispatches record with ID: 69aef9ecc0bb4a976
[2026-03-09 16:50:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165027.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025844_20260309_165027.XML
[2026-03-09 16:50:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165027.XML
[2026-03-09 16:50:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165029.XML
[2026-03-09 16:50:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165029.XML for user: 68f1466aed072ad4a
[2026-03-09 16:50:56] [INFO] File size: 6235 bytes
[2026-03-09 16:51:20] [INFO] Created FTPFiles record with ID: 69aefa882b92ed181
[2026-03-09 16:51:20] [INFO] About to extract fields from XML. File size: 6235 bytes
[2026-03-09 16:51:20] [INFO] Number of mappings: 28
[2026-03-09 16:51:20] [INFO] Starting XML parsing. Content length: 6235
[2026-03-09 16:51:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:51:20] [INFO] Processing 28 field mappings
[2026-03-09 16:51:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:51:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:51:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 16:51:20] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 16:51:20] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 16:51:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 16:51:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:51:20] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 16:51:20] [INFO]   -> Found value: 2026000641
[2026-03-09 16:51:20] [INFO]   -> Set field 'incidentInternalId' = "2026000641"
[2026-03-09 16:51:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000641"
[2026-03-09 16:51:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:51:20] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 16:51:20] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 16:51:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:51:20] [INFO]   -> Found value: 2007
[2026-03-09 16:51:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2007
[2026-03-09 16:51:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:51:20] [INFO]   -> Found value: TN
[2026-03-09 16:51:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:51:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:51:20] [INFO]   -> Found value: 38506
[2026-03-09 16:51:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 16:51:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:51:20] [INFO]   -> No value found (null or empty)
[2026-03-09 16:51:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:51:20] [INFO]   -> No value found (null or empty)
[2026-03-09 16:51:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:51:20] [INFO]   -> Found value: 36.10792
[2026-03-09 16:51:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10792000000000001591615728102624416351318359375
[2026-03-09 16:51:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:51:20] [INFO]   -> Found value: -85.54784
[2026-03-09 16:51:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5478399999999936653694021515548229217529296875
[2026-03-09 16:51:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:51:20] [INFO]   -> Found value: 2026-03-09 11:47:48
[2026-03-09 16:51:20] [INFO]   -> Set field 'alarm' = "2026-03-09 11:47:48"
[2026-03-09 16:51:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:51:20] [INFO]   -> Found value: 2026-03-09 11:48:39
[2026-03-09 16:51:20] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:48:39"
[2026-03-09 16:51:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:51:20] [INFO]   -> Found value: 2026-03-09 11:50:20
[2026-03-09 16:51:20] [INFO]   -> Set field 'enroute' = "2026-03-09 11:50:20"
[2026-03-09 16:51:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:51:20] [INFO]   -> No value found (null or empty)
[2026-03-09 16:51:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:51:20] [INFO]   -> No value found (null or empty)
[2026-03-09 16:51:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:51:20] [INFO]   -> Found value: JOE RAWLINGS RD
[2026-03-09 16:51:20] [INFO]   -> Set field 'incidentLocationCross' = "JOE RAWLINGS RD"
[2026-03-09 16:51:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:51:20] [INFO]   -> Found value: SQ11
[2026-03-09 16:51:20] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-09 16:51:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:51:20] [INFO]   -> Found value: 2026-03-09 11:50:16
[2026-03-09 16:51:20] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:50:16"
[2026-03-09 16:51:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:51:20] [INFO]   -> Found value: 2026-03-09 11:50:20
[2026-03-09 16:51:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 11:50:20"
[2026-03-09 16:51:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:51:20] [INFO]   -> No value found (null or empty)
[2026-03-09 16:51:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:51:20] [INFO]   -> No value found (null or empty)
[2026-03-09 16:51:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:51:20] [INFO]   -> No value found (null or empty)
[2026-03-09 16:51:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:51:20] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 16:51:20] [INFO]   -> Found value: 20260025844
[2026-03-09 16:51:20] [INFO]   -> Set field 'policeReportNumber' = "20260025844"
[2026-03-09 16:51:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:51:20] [INFO]   -> Found value: [EMS] ALSO HX OF BREAST CA  [03/09/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03/09/26 11:49:19 KELLIS] ...
[2026-03-09 16:51:20] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:51:20] [INFO]   -> Set field 'cADLog' = "[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]"
[2026-03-09 16:51:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:51:20] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:51:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:51:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:51:20] [INFO]   -> Found value: SLIM BRAY
[2026-03-09 16:51:20] [INFO]   -> Set field 'streetName' = "SLIM BRAY"
[2026-03-09 16:51:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:51:20] [INFO]   -> Found value: RD
[2026-03-09 16:51:20] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 16:51:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:51:20] [INFO]   -> Found value: 2007 SLIM BRAY RD
[2026-03-09 16:51:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2007 SLIM BRAY RD"
[2026-03-09 16:51:20] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 16:51:20] [INFO] Concatenating street name and type
[2026-03-09 16:51:20] [INFO]   -> Combined street name: SLIM BRAY RD
[2026-03-09 16:51:20] [INFO] Built locationCoordinates from lat/lng: 36.10792,-85.54784
[2026-03-09 16:51:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000641","dispatchRunNumber":"2026000641","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":2007,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10792000000000001591615728102624416351318359375,"nERISIncidentLongitude":-85.5478399999999936653694021515548229217529296875,"alarm":"2026-03-09 11:47:48","dispatched":"2026-03-09 11:48:39","enroute":"2026-03-09 11:50:20","incidentLocationCross":"JOE RAWLINGS RD","cADVehicleID":"SQ11","timedispatch":"2026-03-09 11:50:16","timeenroutetoscene":"2026-03-09 11:50:20","policeReportNumber":"20260025844","dispatchNotes":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","cADLog":"[EMS] ALSO HX OF BREAST CA  [03\/09\/26 11:50:04 KELLIS] [EMS] O2 STAT 85  [03\/09\/26 11:49:19 KELLIS] [EMS] LUNG CA   HAS A CHEST TUBE    TERESA BOSTIC 08\/22\/1966  [03\/09\/26 11:49:02 KELLIS] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 11:47:48 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"SLIM BRAY RD","incidentAddressTextVersionStreet":"2007 SLIM BRAY RD","locationCoordinates":"36.10792,-85.54784"}
[2026-03-09 16:51:20] [INFO] Number of extracted fields: 23
[2026-03-09 16:51:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 16:51:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 16:51:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 16:51:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:51:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:51:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 16:51: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-09 16:51: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-09 16:51:46] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 16:51:46] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 16:51:46] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 16:51:46] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 16:51:46] [INFO] Found existing Dispatch with cADNumber '2026000641', ID: 69aef9ecc0bb4a976 - will update instead of create
[2026-03-09 16:51:47] [INFO] Updated existing Dispatches record with ID: 69aef9ecc0bb4a976
[2026-03-09 16:51:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165029.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025844_20260309_165029.XML
[2026-03-09 16:51:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025844_20260309_165029.XML
[2026-03-09 16:56:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07150.xml
[2026-03-09 16:56:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07150.xml for user: 68d56363ec1209189
[2026-03-09 16:56:44] [INFO] File size: 2319 bytes
[2026-03-09 16:56:44] [INFO] Created FTPFiles record with ID: 69aefbccdbb2ec1a1
[2026-03-09 16:56:44] [INFO] About to extract fields from XML. File size: 2319 bytes
[2026-03-09 16:56:44] [INFO] Number of mappings: 21
[2026-03-09 16:56:44] [INFO] Starting XML parsing. Content length: 2319
[2026-03-09 16:56:44] [INFO] XML parsed successfully. Root element: Incident
[2026-03-09 16:56:44] [INFO] Processing 21 field mappings
[2026-03-09 16:56:44] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-09 16:56:44] [INFO]   -> Found value: 26-07150
[2026-03-09 16:56:44] [INFO]   -> Set field 'dispatchRunNumber' = "26-07150"
[2026-03-09 16:56:44] [INFO]   -> Set field 'cADNumber' = "26-07150"
[2026-03-09 16:56:44] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-09 16:56:44] [INFO]   -> Found value: 830
[2026-03-09 16:56:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 830
[2026-03-09 16:56:44] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-09 16:56:44] [INFO]   -> Found value: E KATHLEEN ST
[2026-03-09 16:56:44] [INFO]   -> Set field 'streetName' = "E KATHLEEN ST"
[2026-03-09 16:56:44] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-09 16:56:44] [INFO]   -> No value found (null or empty)
[2026-03-09 16:56:44] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-09 16:56:44] [INFO]   -> Found value: SIKESTON
[2026-03-09 16:56:44] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-09 16:56:44] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-09 16:56:44] [INFO]   -> No value found (null or empty)
[2026-03-09 16:56:44] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-09 16:56:44] [INFO]   -> Found value: MO
[2026-03-09 16:56:44] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-09 16:56:44] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-09 16:56:44] [INFO]   -> Found value: 63801
[2026-03-09 16:56:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-09 16:56:44] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-09 16:56:44] [INFO]   -> Found value: 0
[2026-03-09 16:56:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-09 16:56:44] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-09 16:56:44] [INFO]   -> Found value: 0
[2026-03-09 16:56:44] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-09 16:56:44] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-09 16:56:44] [INFO]   -> Found value: MEDICAL
[2026-03-09 16:56:44] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-09 16:56:44] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-09 16:56:44] [INFO]   -> Found value: 03-09-2026 10:54:17|27 YEAR OLD MALE NOT BREATHING
JARED SANDLIN  03-09-2026 10:57:20|1501 ON SCENE ...
[2026-03-09 16:56:44] [INFO]   -> Set field 'dispatchNotes' = "03-09-2026 10:54:17|27 YEAR OLD MALE NOT BREATHING\nJARED SANDLIN  03-09-2026 10:57:20|1501 ON SCENE 03-09-2026 10:58:08|1501 J4 03-09-2026 10:59:43|C86 ADVISED TO CONTACT CORNOR 03-09-2026 11:00:11|1501 CLEAR 03-09-2026 11:01:10|D120 CONTACTING CORORNER 03-09-2026 11:03:22|CORORNER NOTIFIED 03-09-2026 11:08:31|1511 ADVISED J4 HAS NOT BEEN SCENE FOR 2 DAYS 1511 CLEAR 03-09-2026 11:08:59|Disposition - SSCA:  RPT 03-09-2026 11:09:49|Disposition - SSCA UNIT:  RPT 03-09-2026 11:18:37|343C ON AIR EN ROUTE TO E KATHLEEN 03-09-2026 11:21:06|268 ADVISED CIU IS CLEAR OF SCENE 03-09-2026 11:29:13|558 ADVISED CORORNER ON SCENE 03-09-2026 11:35:26|C86 REQUESTING FIRE DIVISION TO ASSIST CORONER FOR LIFT ASSIST ON J4 03-09-2026 11:56:19|CORONER HAS J4"
[2026-03-09 16:56:44] [INFO]   -> Set field 'cADLog' = "03-09-2026 10:54:17|27 YEAR OLD MALE NOT BREATHING\nJARED SANDLIN  03-09-2026 10:57:20|1501 ON SCENE 03-09-2026 10:58:08|1501 J4 03-09-2026 10:59:43|C86 ADVISED TO CONTACT CORNOR 03-09-2026 11:00:11|1501 CLEAR 03-09-2026 11:01:10|D120 CONTACTING CORORNER 03-09-2026 11:03:22|CORORNER NOTIFIED 03-09-2026 11:08:31|1511 ADVISED J4 HAS NOT BEEN SCENE FOR 2 DAYS 1511 CLEAR 03-09-2026 11:08:59|Disposition - SSCA:  RPT 03-09-2026 11:09:49|Disposition - SSCA UNIT:  RPT 03-09-2026 11:18:37|343C ON AIR EN ROUTE TO E KATHLEEN 03-09-2026 11:21:06|268 ADVISED CIU IS CLEAR OF SCENE 03-09-2026 11:29:13|558 ADVISED CORORNER ON SCENE 03-09-2026 11:35:26|C86 REQUESTING FIRE DIVISION TO ASSIST CORONER FOR LIFT ASSIST ON J4 03-09-2026 11:56:19|CORONER HAS J4"
[2026-03-09 16:56:44] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-09 16:56:44] [INFO]   -> Found value: 03-09-2026T10:55:36
[2026-03-09 16:56:44] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T10:55:36
[2026-03-09 16:56:44] [INFO]   -> Set field 'alarm' = "2026-09-03 10:55:36"
[2026-03-09 16:56:44] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T10:55:36
[2026-03-09 16:56:44] [INFO]   -> Set field 'dispatched' = "2026-09-03 10:55:36"
[2026-03-09 16:56:44] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-09 16:56:44] [INFO]   -> Found value: 03-09-2026T10:56:53
[2026-03-09 16:56:44] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T10:56:53
[2026-03-09 16:56:44] [INFO]   -> Set field 'onScene' = "2026-09-03 10:56:53"
[2026-03-09 16:56:44] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-09 16:56:44] [INFO]   -> No value found (null or empty)
[2026-03-09 16:56:44] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-09 16:56:44] [INFO]   -> Found value: ENG2
[2026-03-09 16:56:44] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-09 16:56:44] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-09 16:56:44] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-09 16:56:44] [INFO]   -> Found value: 03-09-2026T11:36:12
[2026-03-09 16:56:44] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T11:36:12
[2026-03-09 16:56:44] [INFO]   -> Set field 'timeenroutetoscene' = "2026-09-03 11:36:12"
[2026-03-09 16:56:44] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-09 16:56:44] [INFO]   -> Found value: 03-09-2026T11:39:02
[2026-03-09 16:56:44] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T11:39:02
[2026-03-09 16:56:44] [INFO]   -> Set field 'timeonscene' = "2026-09-03 11:39:02"
[2026-03-09 16:56:44] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-09 16:56:44] [INFO]   -> Found value: 03-09-2026T11:56:25
[2026-03-09 16:56:44] [INFO] Reformatted DD-MM-YYYY date '03-09-2026' (day=03, month=09) to ISO: 2026-09-03T11:56:25
[2026-03-09 16:56:44] [INFO]   -> Set field 'timeunitclear' = "2026-09-03 11:56:25"
[2026-03-09 16:56:44] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-09 16:56:44] [INFO]   -> No value found (null or empty)
[2026-03-09 16:56:44] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-09 16:56:44] [INFO]   -> Found value: SDPSFD
[2026-03-09 16:56:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-09 16:56:44] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 16:56:44] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-09 16:56:44] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07150","cADNumber":"26-07150","incidentLocationStreetNumber":830,"streetName":"E KATHLEEN ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-09-2026 10:54:17|27 YEAR OLD MALE NOT BREATHING\nJARED SANDLIN  03-09-2026 10:57:20|1501 ON SCENE 03-09-2026 10:58:08|1501 J4 03-09-2026 10:59:43|C86 ADVISED TO CONTACT CORNOR 03-09-2026 11:00:11|1501 CLEAR 03-09-2026 11:01:10|D120 CONTACTING CORORNER 03-09-2026 11:03:22|CORORNER NOTIFIED 03-09-2026 11:08:31|1511 ADVISED J4 HAS NOT BEEN SCENE FOR 2 DAYS 1511 CLEAR 03-09-2026 11:08:59|Disposition - SSCA:  RPT 03-09-2026 11:09:49|Disposition - SSCA UNIT:  RPT 03-09-2026 11:18:37|343C ON AIR EN ROUTE TO E KATHLEEN 03-09-2026 11:21:06|268 ADVISED CIU IS CLEAR OF SCENE 03-09-2026 11:29:13|558 ADVISED CORORNER ON SCENE 03-09-2026 11:35:26|C86 REQUESTING FIRE DIVISION TO ASSIST CORONER FOR LIFT ASSIST ON J4 03-09-2026 11:56:19|CORONER HAS J4","cADLog":"03-09-2026 10:54:17|27 YEAR OLD MALE NOT BREATHING\nJARED SANDLIN  03-09-2026 10:57:20|1501 ON SCENE 03-09-2026 10:58:08|1501 J4 03-09-2026 10:59:43|C86 ADVISED TO CONTACT CORNOR 03-09-2026 11:00:11|1501 CLEAR 03-09-2026 11:01:10|D120 CONTACTING CORORNER 03-09-2026 11:03:22|CORORNER NOTIFIED 03-09-2026 11:08:31|1511 ADVISED J4 HAS NOT BEEN SCENE FOR 2 DAYS 1511 CLEAR 03-09-2026 11:08:59|Disposition - SSCA:  RPT 03-09-2026 11:09:49|Disposition - SSCA UNIT:  RPT 03-09-2026 11:18:37|343C ON AIR EN ROUTE TO E KATHLEEN 03-09-2026 11:21:06|268 ADVISED CIU IS CLEAR OF SCENE 03-09-2026 11:29:13|558 ADVISED CORORNER ON SCENE 03-09-2026 11:35:26|C86 REQUESTING FIRE DIVISION TO ASSIST CORONER FOR LIFT ASSIST ON J4 03-09-2026 11:56:19|CORONER HAS J4","alarm":"2026-09-03 10:55:36","dispatched":"2026-09-03 10:55:36","onScene":"2026-09-03 10:56:53","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-09-03 11:36:12","timeonscene":"2026-09-03 11:39:02","timeunitclear":"2026-09-03 11:56:25","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-09 16:56:44] [INFO] Number of extracted fields: 22
[2026-03-09 16:56:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-09 16:56:44] [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-09 16:56:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-09 16:56:44] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:56:45] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-09 16:56:45] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-09 16:56:45] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-09 16:56:45] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-09 16:56:45] [INFO] Found existing IncidentTypeMapping with ID: 6976908dc15ecc087
[2026-03-09 16:56:59] [INFO] Created new Dispatches record with ID: 69aefbda12f6a69f5
[2026-03-09 16:56:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07150.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-09/SDPSFD_26-07150.xml
[2026-03-09 16:56:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-07150.xml
[2026-03-09 16:56:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165653.XML
[2026-03-09 16:56:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165653.XML for user: 68f1466aed072ad4a
[2026-03-09 16:56:59] [INFO] File size: 5670 bytes
[2026-03-09 16:57:28] [INFO] Created FTPFiles record with ID: 69aefbf8021ede8a3
[2026-03-09 16:57:28] [INFO] About to extract fields from XML. File size: 5670 bytes
[2026-03-09 16:57:28] [INFO] Number of mappings: 28
[2026-03-09 16:57:28] [INFO] Starting XML parsing. Content length: 5670
[2026-03-09 16:57:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:57:28] [INFO] Processing 28 field mappings
[2026-03-09 16:57:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:57:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:57:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 16:57:28] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 16:57:28] [INFO]   -> Found value: PCFD
EMS
CPD
CFD
[2026-03-09 16:57:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nCPD\nCFD"
[2026-03-09 16:57:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:57:28] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 16:57:28] [INFO]   -> Found value: 2026000642
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentInternalId' = "2026000642"
[2026-03-09 16:57:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000642"
[2026-03-09 16:57:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:57:28] [INFO]   -> Found value: SEIZURE
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-09 16:57:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:57:28] [INFO]   -> Found value: 769
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 769
[2026-03-09 16:57:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:57:28] [INFO]   -> Found value: TN
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:57:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:57:28] [INFO]   -> Found value: 38501
[2026-03-09 16:57:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 16:57:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:57:28] [INFO]   -> Found value: 3
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentLocationApt' = 3
[2026-03-09 16:57:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:57:28] [INFO]   -> Found value: 36.18344
[2026-03-09 16:57:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18343999999999738292899564839899539947509765625
[2026-03-09 16:57:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:57:28] [INFO]   -> Found value: -85.48899
[2026-03-09 16:57:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.48899000000000114596332423388957977294921875
[2026-03-09 16:57:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:57:28] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:57:28] [INFO]   -> Set field 'alarm' = "2026-03-09 11:56:47"
[2026-03-09 16:57:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:57:28] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:57:28] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:56:47"
[2026-03-09 16:57:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:57:28] [INFO]   -> Found value: DENTON AVE
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentLocationCross' = "DENTON AVE"
[2026-03-09 16:57:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:57:28] [INFO]   -> Found value: PCFR
[2026-03-09 16:57:28] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 16:57:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:57:28] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:57:28] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:56:47"
[2026-03-09 16:57:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:57:28] [INFO]   -> No value found (null or empty)
[2026-03-09 16:57:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:57:28] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 16:57:28] [INFO]   -> Found value: 20260025852
[2026-03-09 16:57:28] [INFO]   -> Set field 'policeReportNumber' = "20260025852"
[2026-03-09 16:57:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:57:28] [INFO]   -> Found value: Event spawned from SEIZURE.  [03/09/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03/09/26 11...
[2026-03-09 16:57:28] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 16:57:28] [INFO]   -> Set field 'cADLog' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 16:57:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:57:28] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:57:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:57:28] [INFO]   -> Found value: BRADLEY
[2026-03-09 16:57:28] [INFO]   -> Set field 'streetName' = "BRADLEY"
[2026-03-09 16:57:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:57:28] [INFO]   -> Found value: DR
[2026-03-09 16:57:28] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 16:57:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:57:28] [INFO]   -> Found value: 769-3 BRADLEY DR
[2026-03-09 16:57:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "769-3 BRADLEY DR"
[2026-03-09 16:57:28] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-09 16:57:28] [INFO] Concatenating street name and type
[2026-03-09 16:57:28] [INFO]   -> Combined street name: BRADLEY DR
[2026-03-09 16:57:28] [INFO] Built locationCoordinates from lat/lng: 36.18344,-85.48899
[2026-03-09 16:57:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nCPD\nCFD","incidentInternalId":"2026000642","dispatchRunNumber":"2026000642","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":769,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":3,"nERISIncidentLatitude":36.18343999999999738292899564839899539947509765625,"nERISIncidentLongitude":-85.48899000000000114596332423388957977294921875,"alarm":"2026-03-09 11:56:47","dispatched":"2026-03-09 11:56:47","incidentLocationCross":"DENTON AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:56:47","policeReportNumber":"20260025852","dispatchNotes":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","cADLog":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"BRADLEY DR","incidentAddressTextVersionStreet":"769-3 BRADLEY DR","locationCoordinates":"36.18344,-85.48899"}
[2026-03-09 16:57:28] [INFO] Number of extracted fields: 22
[2026-03-09 16:57:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
CPD
CFD'
[2026-03-09 16:57:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
CPD
CFD', Parsed IDs = ["PCFD","EMS","CPD","CFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 16:57:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","CPD","CFD"]
[2026-03-09 16:57:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:57:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:57:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","CPD","CFD"]
[2026-03-09 16:57: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-09 16:57: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-09 16:57:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 16:57:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 16:57:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 16:57:28] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-09 16:58:04] [INFO] Created new Dispatches record with ID: 69aefc1342eb645db
[2026-03-09 16:58:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165653.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025852_20260309_165653.XML
[2026-03-09 16:58:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165653.XML
[2026-03-09 16:58:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165837.XML
[2026-03-09 16:58:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165837.XML for user: 68f1466aed072ad4a
[2026-03-09 16:58:37] [INFO] File size: 5349 bytes
[2026-03-09 16:58:38] [INFO] Created FTPFiles record with ID: 69aefc3e47a3bb6ff
[2026-03-09 16:58:38] [INFO] About to extract fields from XML. File size: 5349 bytes
[2026-03-09 16:58:38] [INFO] Number of mappings: 28
[2026-03-09 16:58:38] [INFO] Starting XML parsing. Content length: 5349
[2026-03-09 16:58:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:58:38] [INFO] Processing 28 field mappings
[2026-03-09 16:58:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:58:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:58:38] [INFO]   -> Found value: PCFD
[2026-03-09 16:58:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-09 16:58:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:58:38] [INFO]   -> Found value: 2026000642
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentInternalId' = "2026000642"
[2026-03-09 16:58:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000642"
[2026-03-09 16:58:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:58:38] [INFO]   -> Found value: SEIZURE
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-09 16:58:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:58:38] [INFO]   -> Found value: 769
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 769
[2026-03-09 16:58:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:58:38] [INFO]   -> Found value: TN
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:58:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:58:38] [INFO]   -> Found value: 38501
[2026-03-09 16:58:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 16:58:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:58:38] [INFO]   -> No value found (null or empty)
[2026-03-09 16:58:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:58:38] [INFO]   -> Found value: 3
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentLocationApt' = 3
[2026-03-09 16:58:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:58:38] [INFO]   -> Found value: 36.18344
[2026-03-09 16:58:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18343999999999738292899564839899539947509765625
[2026-03-09 16:58:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:58:38] [INFO]   -> Found value: -85.48899
[2026-03-09 16:58:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.48899000000000114596332423388957977294921875
[2026-03-09 16:58:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:58:38] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:58:38] [INFO]   -> Set field 'alarm' = "2026-03-09 11:56:47"
[2026-03-09 16:58:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:58:38] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:58:38] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:56:47"
[2026-03-09 16:58:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:58:38] [INFO]   -> No value found (null or empty)
[2026-03-09 16:58:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:58:38] [INFO]   -> No value found (null or empty)
[2026-03-09 16:58:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:58:38] [INFO]   -> No value found (null or empty)
[2026-03-09 16:58:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:58:38] [INFO]   -> Found value: DENTON AVE
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentLocationCross' = "DENTON AVE"
[2026-03-09 16:58:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:58:38] [INFO]   -> Found value: PCFR
[2026-03-09 16:58:38] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 16:58:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:58:38] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:58:38] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:56:47"
[2026-03-09 16:58:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:58:38] [INFO]   -> No value found (null or empty)
[2026-03-09 16:58:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:58:38] [INFO]   -> No value found (null or empty)
[2026-03-09 16:58:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:58:38] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 16:58:38] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 11:58:29"
[2026-03-09 16:58:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:58:38] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 16:58:38] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 11:58:29"
[2026-03-09 16:58:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:58:38] [INFO]   -> Found value: 20260025852
[2026-03-09 16:58:38] [INFO]   -> Set field 'policeReportNumber' = "20260025852"
[2026-03-09 16:58:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:58:38] [INFO]   -> Found value: Event spawned from SEIZURE.  [03/09/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03/09/26 11...
[2026-03-09 16:58:38] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 16:58:38] [INFO]   -> Set field 'cADLog' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 16:58:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:58:38] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:58:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:58:38] [INFO]   -> Found value: BRADLEY
[2026-03-09 16:58:38] [INFO]   -> Set field 'streetName' = "BRADLEY"
[2026-03-09 16:58:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:58:38] [INFO]   -> Found value: DR
[2026-03-09 16:58:38] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 16:58:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:58:38] [INFO]   -> Found value: 769-3 BRADLEY DR
[2026-03-09 16:58:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "769-3 BRADLEY DR"
[2026-03-09 16:58:38] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 16:58:38] [INFO] Concatenating street name and type
[2026-03-09 16:58:38] [INFO]   -> Combined street name: BRADLEY DR
[2026-03-09 16:58:38] [INFO] Built locationCoordinates from lat/lng: 36.18344,-85.48899
[2026-03-09 16:58:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000642","dispatchRunNumber":"2026000642","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":769,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":3,"nERISIncidentLatitude":36.18343999999999738292899564839899539947509765625,"nERISIncidentLongitude":-85.48899000000000114596332423388957977294921875,"alarm":"2026-03-09 11:56:47","dispatched":"2026-03-09 11:56:47","incidentLocationCross":"DENTON AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:56:47","timeunitclear":"2026-03-09 11:58:29","timecanceledenroute":"2026-03-09 11:58:29","policeReportNumber":"20260025852","dispatchNotes":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","cADLog":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"BRADLEY DR","incidentAddressTextVersionStreet":"769-3 BRADLEY DR","locationCoordinates":"36.18344,-85.48899"}
[2026-03-09 16:58:38] [INFO] Number of extracted fields: 24
[2026-03-09 16:58:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-09 16:58:38] [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-09 16:58:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-09 16:58:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:58:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:58:38] [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-09 16:58:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 16:58:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 16:59:05] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-09 16:59:28] [INFO] Found existing Dispatch with cADNumber '2026000642', ID: 69aefc1342eb645db - will update instead of create
[2026-03-09 16:59:55] [INFO] Updated existing Dispatches record with ID: 69aefc1342eb645db
[2026-03-09 16:59:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165837.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025852_20260309_165837.XML
[2026-03-09 16:59:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165837.XML
[2026-03-09 16:59:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839.XML
[2026-03-09 16:59:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839.XML for user: 68f1466aed072ad4a
[2026-03-09 16:59:55] [INFO] File size: 5349 bytes
[2026-03-09 16:59:55] [INFO] Created FTPFiles record with ID: 69aefc8bc8b6c7e51
[2026-03-09 16:59:55] [INFO] About to extract fields from XML. File size: 5349 bytes
[2026-03-09 16:59:55] [INFO] Number of mappings: 28
[2026-03-09 16:59:55] [INFO] Starting XML parsing. Content length: 5349
[2026-03-09 16:59:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 16:59:55] [INFO] Processing 28 field mappings
[2026-03-09 16:59:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 16:59:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 16:59:55] [INFO]   -> Found value: PCFD
[2026-03-09 16:59:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-09 16:59:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 16:59:55] [INFO]   -> Found value: 2026000642
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentInternalId' = "2026000642"
[2026-03-09 16:59:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000642"
[2026-03-09 16:59:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 16:59:55] [INFO]   -> Found value: SEIZURE
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-09 16:59:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 16:59:55] [INFO]   -> Found value: 769
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 769
[2026-03-09 16:59:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 16:59:55] [INFO]   -> Found value: TN
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 16:59:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 16:59:55] [INFO]   -> Found value: 38501
[2026-03-09 16:59:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 16:59:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 16:59:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:59:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 16:59:55] [INFO]   -> Found value: 3
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentLocationApt' = 3
[2026-03-09 16:59:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 16:59:55] [INFO]   -> Found value: 36.18344
[2026-03-09 16:59:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18343999999999738292899564839899539947509765625
[2026-03-09 16:59:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 16:59:55] [INFO]   -> Found value: -85.48899
[2026-03-09 16:59:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.48899000000000114596332423388957977294921875
[2026-03-09 16:59:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 16:59:55] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:59:55] [INFO]   -> Set field 'alarm' = "2026-03-09 11:56:47"
[2026-03-09 16:59:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 16:59:55] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:59:55] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:56:47"
[2026-03-09 16:59:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 16:59:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:59:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 16:59:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:59:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 16:59:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:59:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 16:59:55] [INFO]   -> Found value: DENTON AVE
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentLocationCross' = "DENTON AVE"
[2026-03-09 16:59:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 16:59:55] [INFO]   -> Found value: PCFR
[2026-03-09 16:59:55] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 16:59:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 16:59:55] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 16:59:55] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:56:47"
[2026-03-09 16:59:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 16:59:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:59:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 16:59:55] [INFO]   -> No value found (null or empty)
[2026-03-09 16:59:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 16:59:55] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 16:59:55] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 11:58:29"
[2026-03-09 16:59:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 16:59:55] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 16:59:55] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 11:58:29"
[2026-03-09 16:59:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 16:59:55] [INFO]   -> Found value: 20260025852
[2026-03-09 16:59:55] [INFO]   -> Set field 'policeReportNumber' = "20260025852"
[2026-03-09 16:59:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 16:59:55] [INFO]   -> Found value: Event spawned from SEIZURE.  [03/09/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03/09/26 11...
[2026-03-09 16:59:55] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 16:59:55] [INFO]   -> Set field 'cADLog' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 16:59:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 16:59:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 16:59:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 16:59:55] [INFO]   -> Found value: BRADLEY
[2026-03-09 16:59:55] [INFO]   -> Set field 'streetName' = "BRADLEY"
[2026-03-09 16:59:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 16:59:55] [INFO]   -> Found value: DR
[2026-03-09 16:59:55] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 16:59:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 16:59:55] [INFO]   -> Found value: 769-3 BRADLEY DR
[2026-03-09 16:59:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "769-3 BRADLEY DR"
[2026-03-09 16:59:55] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 16:59:55] [INFO] Concatenating street name and type
[2026-03-09 16:59:55] [INFO]   -> Combined street name: BRADLEY DR
[2026-03-09 16:59:55] [INFO] Built locationCoordinates from lat/lng: 36.18344,-85.48899
[2026-03-09 16:59:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000642","dispatchRunNumber":"2026000642","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":769,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":3,"nERISIncidentLatitude":36.18343999999999738292899564839899539947509765625,"nERISIncidentLongitude":-85.48899000000000114596332423388957977294921875,"alarm":"2026-03-09 11:56:47","dispatched":"2026-03-09 11:56:47","incidentLocationCross":"DENTON AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:56:47","timeunitclear":"2026-03-09 11:58:29","timecanceledenroute":"2026-03-09 11:58:29","policeReportNumber":"20260025852","dispatchNotes":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","cADLog":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"BRADLEY DR","incidentAddressTextVersionStreet":"769-3 BRADLEY DR","locationCoordinates":"36.18344,-85.48899"}
[2026-03-09 16:59:55] [INFO] Number of extracted fields: 24
[2026-03-09 16:59:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-09 16:59:55] [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-09 16:59:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-09 16:59:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 16:59:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 16:59: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-09 16:59: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-09 16:59:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:00:05] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-09 17:00:05] [INFO] Found existing Dispatch with cADNumber '2026000642', ID: 69aefc1342eb645db - will update instead of create
[2026-03-09 17:00:06] [INFO] Updated existing Dispatches record with ID: 69aefc1342eb645db
[2026-03-09 17:00:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025852_20260309_165839.XML
[2026-03-09 17:00:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839.XML
[2026-03-09 17:00:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839_1.XML
[2026-03-09 17:00:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839_1.XML for user: 68f1466aed072ad4a
[2026-03-09 17:00:06] [INFO] File size: 5349 bytes
[2026-03-09 17:00:06] [INFO] Created FTPFiles record with ID: 69aefc9670aebec14
[2026-03-09 17:00:06] [INFO] About to extract fields from XML. File size: 5349 bytes
[2026-03-09 17:00:06] [INFO] Number of mappings: 28
[2026-03-09 17:00:06] [INFO] Starting XML parsing. Content length: 5349
[2026-03-09 17:00:06] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:00:06] [INFO] Processing 28 field mappings
[2026-03-09 17:00:06] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:00:06] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:00:06] [INFO]   -> Found value: PCFD
[2026-03-09 17:00:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-09 17:00:06] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:00:06] [INFO]   -> Found value: 2026000642
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentInternalId' = "2026000642"
[2026-03-09 17:00:06] [INFO]   -> Set field 'dispatchRunNumber' = "2026000642"
[2026-03-09 17:00:06] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:00:06] [INFO]   -> Found value: SEIZURE
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-09 17:00:06] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:00:06] [INFO]   -> Found value: 769
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 769
[2026-03-09 17:00:06] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:00:06] [INFO]   -> Found value: TN
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:00:06] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:00:06] [INFO]   -> Found value: 38501
[2026-03-09 17:00:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 17:00:06] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:00:06] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:06] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:00:06] [INFO]   -> Found value: 3
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentLocationApt' = 3
[2026-03-09 17:00:06] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:00:06] [INFO]   -> Found value: 36.18344
[2026-03-09 17:00:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18343999999999738292899564839899539947509765625
[2026-03-09 17:00:06] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:00:06] [INFO]   -> Found value: -85.48899
[2026-03-09 17:00:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.48899000000000114596332423388957977294921875
[2026-03-09 17:00:06] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:00:06] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 17:00:06] [INFO]   -> Set field 'alarm' = "2026-03-09 11:56:47"
[2026-03-09 17:00:06] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:00:06] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 17:00:06] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:56:47"
[2026-03-09 17:00:06] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:00:06] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:06] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:00:06] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:06] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:00:06] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:06] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:00:06] [INFO]   -> Found value: DENTON AVE
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentLocationCross' = "DENTON AVE"
[2026-03-09 17:00:06] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:00:06] [INFO]   -> Found value: PCFR
[2026-03-09 17:00:06] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:00:06] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:00:06] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 17:00:06] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:56:47"
[2026-03-09 17:00:06] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:00:06] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:06] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:00:06] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:06] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:00:06] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 17:00:06] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 11:58:29"
[2026-03-09 17:00:06] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:00:06] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 17:00:06] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 11:58:29"
[2026-03-09 17:00:06] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:00:06] [INFO]   -> Found value: 20260025852
[2026-03-09 17:00:06] [INFO]   -> Set field 'policeReportNumber' = "20260025852"
[2026-03-09 17:00:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:00:06] [INFO]   -> Found value: Event spawned from SEIZURE.  [03/09/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03/09/26 11...
[2026-03-09 17:00:06] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 17:00:06] [INFO]   -> Set field 'cADLog' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 17:00:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:00:06] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:00:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:00:06] [INFO]   -> Found value: BRADLEY
[2026-03-09 17:00:06] [INFO]   -> Set field 'streetName' = "BRADLEY"
[2026-03-09 17:00:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:00:06] [INFO]   -> Found value: DR
[2026-03-09 17:00:06] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 17:00:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:00:06] [INFO]   -> Found value: 769-3 BRADLEY DR
[2026-03-09 17:00:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "769-3 BRADLEY DR"
[2026-03-09 17:00:06] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 17:00:06] [INFO] Concatenating street name and type
[2026-03-09 17:00:06] [INFO]   -> Combined street name: BRADLEY DR
[2026-03-09 17:00:06] [INFO] Built locationCoordinates from lat/lng: 36.18344,-85.48899
[2026-03-09 17:00:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000642","dispatchRunNumber":"2026000642","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":769,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":3,"nERISIncidentLatitude":36.18343999999999738292899564839899539947509765625,"nERISIncidentLongitude":-85.48899000000000114596332423388957977294921875,"alarm":"2026-03-09 11:56:47","dispatched":"2026-03-09 11:56:47","incidentLocationCross":"DENTON AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:56:47","timeunitclear":"2026-03-09 11:58:29","timecanceledenroute":"2026-03-09 11:58:29","policeReportNumber":"20260025852","dispatchNotes":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","cADLog":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"BRADLEY DR","incidentAddressTextVersionStreet":"769-3 BRADLEY DR","locationCoordinates":"36.18344,-85.48899"}
[2026-03-09 17:00:06] [INFO] Number of extracted fields: 24
[2026-03-09 17:00:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-09 17:00:06] [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-09 17:00:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-09 17:00:06] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:00:06] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:00: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-09 17:00: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-09 17:00:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:00:33] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-09 17:00:45] [INFO] Found existing Dispatch with cADNumber '2026000642', ID: 69aefc1342eb645db - will update instead of create
[2026-03-09 17:00:46] [INFO] Updated existing Dispatches record with ID: 69aefc1342eb645db
[2026-03-09 17:00:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025852_20260309_165839_1.XML
[2026-03-09 17:00:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165839_1.XML
[2026-03-09 17:00:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165840.XML
[2026-03-09 17:00:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165840.XML for user: 68f1466aed072ad4a
[2026-03-09 17:00:46] [INFO] File size: 5349 bytes
[2026-03-09 17:00:46] [INFO] Created FTPFiles record with ID: 69aefcbe8034e27d5
[2026-03-09 17:00:46] [INFO] About to extract fields from XML. File size: 5349 bytes
[2026-03-09 17:00:46] [INFO] Number of mappings: 28
[2026-03-09 17:00:46] [INFO] Starting XML parsing. Content length: 5349
[2026-03-09 17:00:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:00:46] [INFO] Processing 28 field mappings
[2026-03-09 17:00:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:00:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:00:46] [INFO]   -> Found value: PCFD
[2026-03-09 17:00:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-09 17:00:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:00:46] [INFO]   -> Found value: 2026000642
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentInternalId' = "2026000642"
[2026-03-09 17:00:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000642"
[2026-03-09 17:00:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:00:46] [INFO]   -> Found value: SEIZURE
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-09 17:00:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:00:46] [INFO]   -> Found value: 769
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 769
[2026-03-09 17:00:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:00:46] [INFO]   -> Found value: TN
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:00:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:00:46] [INFO]   -> Found value: 38501
[2026-03-09 17:00:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 17:00:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:00:46] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:00:46] [INFO]   -> Found value: 3
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentLocationApt' = 3
[2026-03-09 17:00:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:00:46] [INFO]   -> Found value: 36.18344
[2026-03-09 17:00:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18343999999999738292899564839899539947509765625
[2026-03-09 17:00:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:00:46] [INFO]   -> Found value: -85.48899
[2026-03-09 17:00:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.48899000000000114596332423388957977294921875
[2026-03-09 17:00:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:00:46] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 17:00:46] [INFO]   -> Set field 'alarm' = "2026-03-09 11:56:47"
[2026-03-09 17:00:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:00:46] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 17:00:46] [INFO]   -> Set field 'dispatched' = "2026-03-09 11:56:47"
[2026-03-09 17:00:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:00:46] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:00:46] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:00:46] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:00:46] [INFO]   -> Found value: DENTON AVE
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentLocationCross' = "DENTON AVE"
[2026-03-09 17:00:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:00:46] [INFO]   -> Found value: PCFR
[2026-03-09 17:00:46] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:00:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:00:46] [INFO]   -> Found value: 2026-03-09 11:56:47
[2026-03-09 17:00:46] [INFO]   -> Set field 'timedispatch' = "2026-03-09 11:56:47"
[2026-03-09 17:00:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:00:46] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:00:46] [INFO]   -> No value found (null or empty)
[2026-03-09 17:00:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:00:46] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 17:00:46] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 11:58:29"
[2026-03-09 17:00:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:00:46] [INFO]   -> Found value: 2026-03-09 11:58:29
[2026-03-09 17:00:46] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 11:58:29"
[2026-03-09 17:00:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:00:46] [INFO]   -> Found value: 20260025852
[2026-03-09 17:00:46] [INFO]   -> Set field 'policeReportNumber' = "20260025852"
[2026-03-09 17:00:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:00:46] [INFO]   -> Found value: Event spawned from SEIZURE.  [03/09/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03/09/26 11...
[2026-03-09 17:00:46] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 17:00:46] [INFO]   -> Set field 'cADLog' = "Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]"
[2026-03-09 17:00:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:00:46] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:00:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:00:46] [INFO]   -> Found value: BRADLEY
[2026-03-09 17:00:46] [INFO]   -> Set field 'streetName' = "BRADLEY"
[2026-03-09 17:00:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:00:46] [INFO]   -> Found value: DR
[2026-03-09 17:00:46] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 17:00:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:00:46] [INFO]   -> Found value: 769-3 BRADLEY DR
[2026-03-09 17:00:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "769-3 BRADLEY DR"
[2026-03-09 17:00:46] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 17:00:46] [INFO] Concatenating street name and type
[2026-03-09 17:00:46] [INFO]   -> Combined street name: BRADLEY DR
[2026-03-09 17:00:46] [INFO] Built locationCoordinates from lat/lng: 36.18344,-85.48899
[2026-03-09 17:00:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000642","dispatchRunNumber":"2026000642","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":769,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":3,"nERISIncidentLatitude":36.18343999999999738292899564839899539947509765625,"nERISIncidentLongitude":-85.48899000000000114596332423388957977294921875,"alarm":"2026-03-09 11:56:47","dispatched":"2026-03-09 11:56:47","incidentLocationCross":"DENTON AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 11:56:47","timeunitclear":"2026-03-09 11:58:29","timecanceledenroute":"2026-03-09 11:58:29","policeReportNumber":"20260025852","dispatchNotes":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","cADLog":"Event spawned from SEIZURE.  [03\/09\/2026 11:56:47 DSTEPHENS] [EMS] FRONT DOOR ENTRANCE  [03\/09\/26 11:56:37 KHILL] [EMS] POSSIBLE NEW ONSET AS OF 6 MONTHS AGO  [03\/09\/26 11:56:27 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 11:56:25 JDAVIS2] Event spawned from SEIZURE.  [03\/09\/2026 11:56:12 KHILL] SEIZURES  FELL IN THE FLOOR  ROOMMATE  - JOHN PIERCESON  [03\/09\/26 11:56:09 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"BRADLEY DR","incidentAddressTextVersionStreet":"769-3 BRADLEY DR","locationCoordinates":"36.18344,-85.48899"}
[2026-03-09 17:00:46] [INFO] Number of extracted fields: 24
[2026-03-09 17:00:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-09 17:00:46] [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-09 17:00:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-09 17:00:46] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:00:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:00: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-09 17:00: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-09 17:00:46] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:00:47] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-09 17:00:47] [INFO] Found existing Dispatch with cADNumber '2026000642', ID: 69aefc1342eb645db - will update instead of create
[2026-03-09 17:00:47] [INFO] Updated existing Dispatches record with ID: 69aefc1342eb645db
[2026-03-09 17:00:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165840.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025852_20260309_165840.XML
[2026-03-09 17:00:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025852_20260309_165840.XML
[2026-03-09 17:13:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171348.XML
[2026-03-09 17:13:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171348.XML for user: 68f1466aed072ad4a
[2026-03-09 17:13:48] [INFO] File size: 5695 bytes
[2026-03-09 17:13:48] [INFO] Created FTPFiles record with ID: 69aeffcc6aa830a22
[2026-03-09 17:13:48] [INFO] About to extract fields from XML. File size: 5695 bytes
[2026-03-09 17:13:48] [INFO] Number of mappings: 28
[2026-03-09 17:13:48] [INFO] Starting XML parsing. Content length: 5695
[2026-03-09 17:13:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:13:48] [INFO] Processing 28 field mappings
[2026-03-09 17:13:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:13:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:13:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:13:48] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:13:48] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:13:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:13:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:13:48] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:13:48] [INFO]   -> Found value: 2026000643
[2026-03-09 17:13:48] [INFO]   -> Set field 'incidentInternalId' = "2026000643"
[2026-03-09 17:13:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000643"
[2026-03-09 17:13:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:13:48] [INFO]   -> Found value: MEDICAL CALL
[2026-03-09 17:13:48] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-09 17:13:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:13:48] [INFO]   -> Found value: 2188
[2026-03-09 17:13:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2188
[2026-03-09 17:13:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:13:48] [INFO]   -> Found value: TN
[2026-03-09 17:13:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:13:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:13:48] [INFO]   -> Found value: 38506
[2026-03-09 17:13:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:13:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:13:48] [INFO]   -> Found value: 36.12293
[2026-03-09 17:13:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12292999999999665305949747562408447265625
[2026-03-09 17:13:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:13:48] [INFO]   -> Found value: -85.47009
[2026-03-09 17:13:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.470089999999999008650775067508220672607421875
[2026-03-09 17:13:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:13:48] [INFO]   -> Found value: 2026-03-09 12:13:27
[2026-03-09 17:13:48] [INFO]   -> Set field 'alarm' = "2026-03-09 12:13:27"
[2026-03-09 17:13:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:13:48] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:13:48] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:13:43"
[2026-03-09 17:13:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:13:48] [INFO]   -> Found value: MIKONDA DR/KIRBY LN
[2026-03-09 17:13:48] [INFO]   -> Set field 'incidentLocationCross' = "MIKONDA DR\/KIRBY LN"
[2026-03-09 17:13:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:13:48] [INFO]   -> Found value: PCFR
[2026-03-09 17:13:48] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:13:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:13:48] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:13:48] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:13:43"
[2026-03-09 17:13:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:13:48] [INFO]   -> No value found (null or empty)
[2026-03-09 17:13:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:13:48] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:13:48] [INFO]   -> Found value: 20260025863
[2026-03-09 17:13:48] [INFO]   -> Set field 'policeReportNumber' = "20260025863"
[2026-03-09 17:13:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:13:48] [INFO]   -> Found value: Event spawned from EMS EMERGENCY CALL.  [03/09/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVE...
[2026-03-09 17:13:48] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:13:48] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:13:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:13:48] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:13:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:13:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:13:48] [INFO]   -> Found value: BROWNS MILL
[2026-03-09 17:13:48] [INFO]   -> Set field 'streetName' = "BROWNS MILL"
[2026-03-09 17:13:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:13:48] [INFO]   -> Found value: RD
[2026-03-09 17:13:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 17:13:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:13:48] [INFO]   -> Found value: 2188 BROWNS MILL RD
[2026-03-09 17:13:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2188 BROWNS MILL RD"
[2026-03-09 17:13:48] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 17:13:48] [INFO] Concatenating street name and type
[2026-03-09 17:13:48] [INFO]   -> Combined street name: BROWNS MILL RD
[2026-03-09 17:13:48] [INFO] Built locationCoordinates from lat/lng: 36.12293,-85.47009
[2026-03-09 17:13:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000643","dispatchRunNumber":"2026000643","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":2188,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12292999999999665305949747562408447265625,"nERISIncidentLongitude":-85.470089999999999008650775067508220672607421875,"alarm":"2026-03-09 12:13:27","dispatched":"2026-03-09 12:13:43","incidentLocationCross":"MIKONDA DR\/KIRBY LN","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:13:43","policeReportNumber":"20260025863","dispatchNotes":"Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","cADLog":"Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"BROWNS MILL RD","incidentAddressTextVersionStreet":"2188 BROWNS MILL RD","locationCoordinates":"36.12293,-85.47009"}
[2026-03-09 17:13:48] [INFO] Number of extracted fields: 21
[2026-03-09 17:13:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:13:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:13:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:13:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:13:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:13:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17: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-09 17: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-09 17:13:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:13:48] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:13:48] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:13:48] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-09 17:13:58] [INFO] Created new Dispatches record with ID: 69aeffcd48747c2a3
[2026-03-09 17:13:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171348.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025863_20260309_171348.XML
[2026-03-09 17:13:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171348.XML
[2026-03-09 17:14:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171438.XML
[2026-03-09 17:14:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171438.XML for user: 68f1466aed072ad4a
[2026-03-09 17:14:38] [INFO] File size: 6639 bytes
[2026-03-09 17:14:39] [INFO] Created FTPFiles record with ID: 69aeffff2d7fe3677
[2026-03-09 17:14:39] [INFO] About to extract fields from XML. File size: 6639 bytes
[2026-03-09 17:14:39] [INFO] Number of mappings: 28
[2026-03-09 17:14:39] [INFO] Starting XML parsing. Content length: 6639
[2026-03-09 17:14:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:14:39] [INFO] Processing 28 field mappings
[2026-03-09 17:14:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:14:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:14:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:14:39] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:14:39] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:14:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:14:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:14:39] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:14:39] [INFO]   -> Found value: 2026000643
[2026-03-09 17:14:39] [INFO]   -> Set field 'incidentInternalId' = "2026000643"
[2026-03-09 17:14:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000643"
[2026-03-09 17:14:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:14:39] [INFO]   -> Found value: MEDICAL CALL
[2026-03-09 17:14:39] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-09 17:14:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:14:39] [INFO]   -> Found value: 2188
[2026-03-09 17:14:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2188
[2026-03-09 17:14:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:14:39] [INFO]   -> Found value: TN
[2026-03-09 17:14:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:14:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:14:39] [INFO]   -> Found value: 38506
[2026-03-09 17:14:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:14:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:14:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:14:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:14:39] [INFO]   -> Found value: 36.12293
[2026-03-09 17:14:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12292999999999665305949747562408447265625
[2026-03-09 17:14:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:14:39] [INFO]   -> Found value: -85.47009
[2026-03-09 17:14:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.470089999999999008650775067508220672607421875
[2026-03-09 17:14:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:14:39] [INFO]   -> Found value: 2026-03-09 12:13:27
[2026-03-09 17:14:39] [INFO]   -> Set field 'alarm' = "2026-03-09 12:13:27"
[2026-03-09 17:14:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:14:39] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:14:39] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:13:43"
[2026-03-09 17:14:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:14:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:14:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:14:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:14:39] [INFO]   -> Found value: MIKONDA DR/KIRBY LN
[2026-03-09 17:14:39] [INFO]   -> Set field 'incidentLocationCross' = "MIKONDA DR\/KIRBY LN"
[2026-03-09 17:14:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:14:39] [INFO]   -> Found value: PCFR
[2026-03-09 17:14:39] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:14:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:14:39] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:14:39] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:13:43"
[2026-03-09 17:14:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:14:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:14:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:14:39] [INFO]   -> Found value: 2026-03-09 12:14:32
[2026-03-09 17:14:39] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 12:14:32"
[2026-03-09 17:14:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:14:39] [INFO]   -> Found value: 2026-03-09 12:14:32
[2026-03-09 17:14:39] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 12:14:32"
[2026-03-09 17:14:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:14:39] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:14:39] [INFO]   -> Found value: 20260025863
[2026-03-09 17:14:39] [INFO]   -> Set field 'policeReportNumber' = "20260025863"
[2026-03-09 17:14:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:14:39] [INFO]   -> Found value: [EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03/09/26 12:13:56 MCLAYBURN2] Event spawn...
[2026-03-09 17:14:39] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:39] [INFO]   -> Set field 'cADLog' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:14:39] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:14:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:14:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:14:39] [INFO]   -> Found value: BROWNS MILL
[2026-03-09 17:14:39] [INFO]   -> Set field 'streetName' = "BROWNS MILL"
[2026-03-09 17:14:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:14:39] [INFO]   -> Found value: RD
[2026-03-09 17:14:39] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 17:14:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:14:39] [INFO]   -> Found value: 2188 BROWNS MILL RD
[2026-03-09 17:14:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2188 BROWNS MILL RD"
[2026-03-09 17:14:39] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:14:39] [INFO] Concatenating street name and type
[2026-03-09 17:14:39] [INFO]   -> Combined street name: BROWNS MILL RD
[2026-03-09 17:14:39] [INFO] Built locationCoordinates from lat/lng: 36.12293,-85.47009
[2026-03-09 17:14:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000643","dispatchRunNumber":"2026000643","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":2188,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12292999999999665305949747562408447265625,"nERISIncidentLongitude":-85.470089999999999008650775067508220672607421875,"alarm":"2026-03-09 12:13:27","dispatched":"2026-03-09 12:13:43","incidentLocationCross":"MIKONDA DR\/KIRBY LN","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:13:43","timeunitclear":"2026-03-09 12:14:32","timecanceledenroute":"2026-03-09 12:14:32","policeReportNumber":"20260025863","dispatchNotes":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","cADLog":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"BROWNS MILL RD","incidentAddressTextVersionStreet":"2188 BROWNS MILL RD","locationCoordinates":"36.12293,-85.47009"}
[2026-03-09 17:14:39] [INFO] Number of extracted fields: 23
[2026-03-09 17:14:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:14:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:14:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:14:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:14:39] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:14:39] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:14:39] [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-09 17:14:39] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 17:14:39] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:14:39] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:14:39] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:14:39] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-09 17:14:39] [INFO] Found existing Dispatch with cADNumber '2026000643', ID: 69aeffcd48747c2a3 - will update instead of create
[2026-03-09 17:14:40] [INFO] Updated existing Dispatches record with ID: 69aeffcd48747c2a3
[2026-03-09 17:14:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171438.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025863_20260309_171438.XML
[2026-03-09 17:14:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171438.XML
[2026-03-09 17:14:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171439.XML
[2026-03-09 17:14:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171439.XML for user: 68f1466aed072ad4a
[2026-03-09 17:14:40] [INFO] File size: 6639 bytes
[2026-03-09 17:14:40] [INFO] Created FTPFiles record with ID: 69af000081ebd187e
[2026-03-09 17:14:40] [INFO] About to extract fields from XML. File size: 6639 bytes
[2026-03-09 17:14:40] [INFO] Number of mappings: 28
[2026-03-09 17:14:40] [INFO] Starting XML parsing. Content length: 6639
[2026-03-09 17:14:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:14:40] [INFO] Processing 28 field mappings
[2026-03-09 17:14:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:14:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:14:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:14:40] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:14:40] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:14:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:14:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:14:40] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:14:40] [INFO]   -> Found value: 2026000643
[2026-03-09 17:14:40] [INFO]   -> Set field 'incidentInternalId' = "2026000643"
[2026-03-09 17:14:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000643"
[2026-03-09 17:14:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:14:40] [INFO]   -> Found value: MEDICAL CALL
[2026-03-09 17:14:40] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-09 17:14:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:14:40] [INFO]   -> Found value: 2188
[2026-03-09 17:14:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2188
[2026-03-09 17:14:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:14:40] [INFO]   -> Found value: TN
[2026-03-09 17:14:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:14:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:14:40] [INFO]   -> Found value: 38506
[2026-03-09 17:14:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:14:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:14:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:14:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:14:40] [INFO]   -> Found value: 36.12293
[2026-03-09 17:14:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12292999999999665305949747562408447265625
[2026-03-09 17:14:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:14:40] [INFO]   -> Found value: -85.47009
[2026-03-09 17:14:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.470089999999999008650775067508220672607421875
[2026-03-09 17:14:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:14:40] [INFO]   -> Found value: 2026-03-09 12:13:27
[2026-03-09 17:14:40] [INFO]   -> Set field 'alarm' = "2026-03-09 12:13:27"
[2026-03-09 17:14:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:14:40] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:14:40] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:13:43"
[2026-03-09 17:14:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:14:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:14:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:14:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:14:40] [INFO]   -> Found value: MIKONDA DR/KIRBY LN
[2026-03-09 17:14:40] [INFO]   -> Set field 'incidentLocationCross' = "MIKONDA DR\/KIRBY LN"
[2026-03-09 17:14:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:14:40] [INFO]   -> Found value: PCFR
[2026-03-09 17:14:40] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:14:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:14:40] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:14:40] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:13:43"
[2026-03-09 17:14:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:14:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:14:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:14:40] [INFO]   -> Found value: 2026-03-09 12:14:32
[2026-03-09 17:14:40] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 12:14:32"
[2026-03-09 17:14:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:14:40] [INFO]   -> Found value: 2026-03-09 12:14:32
[2026-03-09 17:14:40] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 12:14:32"
[2026-03-09 17:14:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:14:40] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:14:40] [INFO]   -> Found value: 20260025863
[2026-03-09 17:14:40] [INFO]   -> Set field 'policeReportNumber' = "20260025863"
[2026-03-09 17:14:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:14:40] [INFO]   -> Found value: [EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03/09/26 12:13:56 MCLAYBURN2] Event spawn...
[2026-03-09 17:14:40] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:40] [INFO]   -> Set field 'cADLog' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:14:40] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:14:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:14:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:14:40] [INFO]   -> Found value: BROWNS MILL
[2026-03-09 17:14:40] [INFO]   -> Set field 'streetName' = "BROWNS MILL"
[2026-03-09 17:14:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:14:40] [INFO]   -> Found value: RD
[2026-03-09 17:14:40] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 17:14:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:14:40] [INFO]   -> Found value: 2188 BROWNS MILL RD
[2026-03-09 17:14:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2188 BROWNS MILL RD"
[2026-03-09 17:14:40] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:14:40] [INFO] Concatenating street name and type
[2026-03-09 17:14:40] [INFO]   -> Combined street name: BROWNS MILL RD
[2026-03-09 17:14:40] [INFO] Built locationCoordinates from lat/lng: 36.12293,-85.47009
[2026-03-09 17:14:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000643","dispatchRunNumber":"2026000643","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":2188,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12292999999999665305949747562408447265625,"nERISIncidentLongitude":-85.470089999999999008650775067508220672607421875,"alarm":"2026-03-09 12:13:27","dispatched":"2026-03-09 12:13:43","incidentLocationCross":"MIKONDA DR\/KIRBY LN","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:13:43","timeunitclear":"2026-03-09 12:14:32","timecanceledenroute":"2026-03-09 12:14:32","policeReportNumber":"20260025863","dispatchNotes":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","cADLog":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"BROWNS MILL RD","incidentAddressTextVersionStreet":"2188 BROWNS MILL RD","locationCoordinates":"36.12293,-85.47009"}
[2026-03-09 17:14:40] [INFO] Number of extracted fields: 23
[2026-03-09 17:14:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:14:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:14:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:14:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:14:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:14:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:14:40] [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-09 17:14:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 17:14:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:14:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:14:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:14:41] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-09 17:14:41] [INFO] Found existing Dispatch with cADNumber '2026000643', ID: 69aeffcd48747c2a3 - will update instead of create
[2026-03-09 17:14:41] [INFO] Updated existing Dispatches record with ID: 69aeffcd48747c2a3
[2026-03-09 17:14:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171439.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025863_20260309_171439.XML
[2026-03-09 17:14:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171439.XML
[2026-03-09 17:14:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171440.XML
[2026-03-09 17:14:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171440.XML for user: 68f1466aed072ad4a
[2026-03-09 17:14:41] [INFO] File size: 6639 bytes
[2026-03-09 17:14:41] [INFO] Created FTPFiles record with ID: 69af0001cf848b1ec
[2026-03-09 17:14:41] [INFO] About to extract fields from XML. File size: 6639 bytes
[2026-03-09 17:14:41] [INFO] Number of mappings: 28
[2026-03-09 17:14:41] [INFO] Starting XML parsing. Content length: 6639
[2026-03-09 17:14:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:14:41] [INFO] Processing 28 field mappings
[2026-03-09 17:14:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:14:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:14:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:14:41] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:14:41] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:14:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:14:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:14:41] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:14:41] [INFO]   -> Found value: 2026000643
[2026-03-09 17:14:41] [INFO]   -> Set field 'incidentInternalId' = "2026000643"
[2026-03-09 17:14:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000643"
[2026-03-09 17:14:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:14:41] [INFO]   -> Found value: MEDICAL CALL
[2026-03-09 17:14:41] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-09 17:14:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:14:41] [INFO]   -> Found value: 2188
[2026-03-09 17:14:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2188
[2026-03-09 17:14:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:14:41] [INFO]   -> Found value: TN
[2026-03-09 17:14:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:14:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:14:41] [INFO]   -> Found value: 38506
[2026-03-09 17:14:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:14:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:14:41] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:14:41] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:14:41] [INFO]   -> Found value: 36.12293
[2026-03-09 17:14:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12292999999999665305949747562408447265625
[2026-03-09 17:14:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:14:41] [INFO]   -> Found value: -85.47009
[2026-03-09 17:14:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.470089999999999008650775067508220672607421875
[2026-03-09 17:14:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:14:41] [INFO]   -> Found value: 2026-03-09 12:13:27
[2026-03-09 17:14:41] [INFO]   -> Set field 'alarm' = "2026-03-09 12:13:27"
[2026-03-09 17:14:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:14:41] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:14:41] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:13:43"
[2026-03-09 17:14:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:14:41] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:14:41] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:14:41] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:14:41] [INFO]   -> Found value: MIKONDA DR/KIRBY LN
[2026-03-09 17:14:41] [INFO]   -> Set field 'incidentLocationCross' = "MIKONDA DR\/KIRBY LN"
[2026-03-09 17:14:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:14:41] [INFO]   -> Found value: PCFR
[2026-03-09 17:14:41] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:14:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:14:41] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:14:41] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:13:43"
[2026-03-09 17:14:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:14:41] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:14:41] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:14:41] [INFO]   -> Found value: 2026-03-09 12:14:32
[2026-03-09 17:14:41] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 12:14:32"
[2026-03-09 17:14:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:14:41] [INFO]   -> Found value: 2026-03-09 12:14:32
[2026-03-09 17:14:41] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 12:14:32"
[2026-03-09 17:14:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:14:41] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:14:41] [INFO]   -> Found value: 20260025863
[2026-03-09 17:14:41] [INFO]   -> Set field 'policeReportNumber' = "20260025863"
[2026-03-09 17:14:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:14:41] [INFO]   -> Found value: [EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03/09/26 12:13:56 MCLAYBURN2] Event spawn...
[2026-03-09 17:14:41] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:41] [INFO]   -> Set field 'cADLog' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:14:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:14:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:14:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:14:41] [INFO]   -> Found value: BROWNS MILL
[2026-03-09 17:14:41] [INFO]   -> Set field 'streetName' = "BROWNS MILL"
[2026-03-09 17:14:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:14:41] [INFO]   -> Found value: RD
[2026-03-09 17:14:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 17:14:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:14:41] [INFO]   -> Found value: 2188 BROWNS MILL RD
[2026-03-09 17:14:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2188 BROWNS MILL RD"
[2026-03-09 17:14:41] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:14:41] [INFO] Concatenating street name and type
[2026-03-09 17:14:41] [INFO]   -> Combined street name: BROWNS MILL RD
[2026-03-09 17:14:41] [INFO] Built locationCoordinates from lat/lng: 36.12293,-85.47009
[2026-03-09 17:14:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000643","dispatchRunNumber":"2026000643","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":2188,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12292999999999665305949747562408447265625,"nERISIncidentLongitude":-85.470089999999999008650775067508220672607421875,"alarm":"2026-03-09 12:13:27","dispatched":"2026-03-09 12:13:43","incidentLocationCross":"MIKONDA DR\/KIRBY LN","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:13:43","timeunitclear":"2026-03-09 12:14:32","timecanceledenroute":"2026-03-09 12:14:32","policeReportNumber":"20260025863","dispatchNotes":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","cADLog":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"BROWNS MILL RD","incidentAddressTextVersionStreet":"2188 BROWNS MILL RD","locationCoordinates":"36.12293,-85.47009"}
[2026-03-09 17:14:41] [INFO] Number of extracted fields: 23
[2026-03-09 17:14:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:14:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:14:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:14:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:14:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:14:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:14: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-09 17:14: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-09 17:14:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:14:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:14:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:14:42] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-09 17:14:42] [INFO] Found existing Dispatch with cADNumber '2026000643', ID: 69aeffcd48747c2a3 - will update instead of create
[2026-03-09 17:14:42] [INFO] Updated existing Dispatches record with ID: 69aeffcd48747c2a3
[2026-03-09 17:14:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171440.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025863_20260309_171440.XML
[2026-03-09 17:14:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171440.XML
[2026-03-09 17:14:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171443.XML
[2026-03-09 17:14:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171443.XML for user: 68f1466aed072ad4a
[2026-03-09 17:14:43] [INFO] File size: 6706 bytes
[2026-03-09 17:14:44] [INFO] Created FTPFiles record with ID: 69af00041b5b987ed
[2026-03-09 17:14:44] [INFO] About to extract fields from XML. File size: 6706 bytes
[2026-03-09 17:14:44] [INFO] Number of mappings: 28
[2026-03-09 17:14:44] [INFO] Starting XML parsing. Content length: 6706
[2026-03-09 17:14:44] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:14:44] [INFO] Processing 28 field mappings
[2026-03-09 17:14:44] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:14:44] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:14:44] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:14:44] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:14:44] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:14:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:14:44] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:14:44] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:14:44] [INFO]   -> Found value: 2026000643
[2026-03-09 17:14:44] [INFO]   -> Set field 'incidentInternalId' = "2026000643"
[2026-03-09 17:14:44] [INFO]   -> Set field 'dispatchRunNumber' = "2026000643"
[2026-03-09 17:14:44] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:14:44] [INFO]   -> Found value: MEDICAL CALL
[2026-03-09 17:14:44] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-03-09 17:14:44] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:14:44] [INFO]   -> Found value: 2188
[2026-03-09 17:14:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2188
[2026-03-09 17:14:44] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:14:44] [INFO]   -> Found value: TN
[2026-03-09 17:14:44] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:14:44] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:14:44] [INFO]   -> Found value: 38506
[2026-03-09 17:14:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:14:44] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:14:44] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:44] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:14:44] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:44] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:14:44] [INFO]   -> Found value: 36.12293
[2026-03-09 17:14:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12292999999999665305949747562408447265625
[2026-03-09 17:14:44] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:14:44] [INFO]   -> Found value: -85.47009
[2026-03-09 17:14:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.470089999999999008650775067508220672607421875
[2026-03-09 17:14:44] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:14:44] [INFO]   -> Found value: 2026-03-09 12:13:27
[2026-03-09 17:14:44] [INFO]   -> Set field 'alarm' = "2026-03-09 12:13:27"
[2026-03-09 17:14:44] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:14:44] [INFO]   -> Found value: 2026-03-09 12:13:43
[2026-03-09 17:14:44] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:13:43"
[2026-03-09 17:14:44] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:14:44] [INFO]   -> Found value: 2026-03-09 12:14:40
[2026-03-09 17:14:44] [INFO]   -> Set field 'enroute' = "2026-03-09 12:14:40"
[2026-03-09 17:14:44] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:14:44] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:44] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:14:44] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:44] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:14:44] [INFO]   -> Found value: MIKONDA DR/KIRBY LN
[2026-03-09 17:14:44] [INFO]   -> Set field 'incidentLocationCross' = "MIKONDA DR\/KIRBY LN"
[2026-03-09 17:14:44] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:14:44] [INFO]   -> Found value: EN11
[2026-03-09 17:14:44] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-09 17:14:44] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:14:44] [INFO]   -> Found value: 2026-03-09 12:14:32
[2026-03-09 17:14:44] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:14:32"
[2026-03-09 17:14:44] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:14:44] [INFO]   -> Found value: 2026-03-09 12:14:40
[2026-03-09 17:14:44] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 12:14:40"
[2026-03-09 17:14:44] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:14:44] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:44] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:14:44] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:44] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:14:44] [INFO]   -> No value found (null or empty)
[2026-03-09 17:14:44] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:14:44] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:14:44] [INFO]   -> Found value: 20260025863
[2026-03-09 17:14:44] [INFO]   -> Set field 'policeReportNumber' = "20260025863"
[2026-03-09 17:14:44] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:14:44] [INFO]   -> Found value: [EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03/09/26 12:13:56 MCLAYBURN2] Event spawn...
[2026-03-09 17:14:44] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:44] [INFO]   -> Set field 'cADLog' = "[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]"
[2026-03-09 17:14:44] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:14:44] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:14:44] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:14:44] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:14:44] [INFO]   -> Found value: BROWNS MILL
[2026-03-09 17:14:44] [INFO]   -> Set field 'streetName' = "BROWNS MILL"
[2026-03-09 17:14:44] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:14:44] [INFO]   -> Found value: RD
[2026-03-09 17:14:44] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 17:14:44] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:14:44] [INFO]   -> Found value: 2188 BROWNS MILL RD
[2026-03-09 17:14:44] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2188 BROWNS MILL RD"
[2026-03-09 17:14:44] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:14:44] [INFO] Concatenating street name and type
[2026-03-09 17:14:44] [INFO]   -> Combined street name: BROWNS MILL RD
[2026-03-09 17:14:44] [INFO] Built locationCoordinates from lat/lng: 36.12293,-85.47009
[2026-03-09 17:14:44] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000643","dispatchRunNumber":"2026000643","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":2188,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12292999999999665305949747562408447265625,"nERISIncidentLongitude":-85.470089999999999008650775067508220672607421875,"alarm":"2026-03-09 12:13:27","dispatched":"2026-03-09 12:13:43","enroute":"2026-03-09 12:14:40","incidentLocationCross":"MIKONDA DR\/KIRBY LN","cADVehicleID":"EN11","timedispatch":"2026-03-09 12:14:32","timeenroutetoscene":"2026-03-09 12:14:40","policeReportNumber":"20260025863","dispatchNotes":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","cADLog":"[EMS] SENDING FIRST RESPONDERS DUE TO NO TRUCK AVAILABLE  [03\/09\/26 12:13:56 MCLAYBURN2] Event spawned from EMS EMERGENCY CALL.  [03\/09\/2026 12:13:27 MCLAYBURN2] PULLED INTO A FRIENDS DRIVEWAY TO WAIT ON AMBULANCE  [03\/09\/26 12:02:38 MCLAYBURN2] 65 YR OLD MALE  [03\/09\/26 12:01:45 MCLAYBURN2]  [03\/09\/26 12:02:12 MCLAYBURN2] RIB BROKE A WEEK BEFORE SATURDAY  [03\/09\/26 12:00:56 MCLAYBURN2] RIGHT SIDE IS INJURED BUT LEFT SIDE IS HURTING BEEN HURTING BAD SINCE SATURDAY \/\/  [03\/09\/26 12:00:36 MCLAYBURN2] WAS DRIVING AND IT IS HURTING HIM REALLY BAD  [03\/09\/26 12:00:05 MCLAYBURN2] SILVER PRIUS  [03\/09\/26 11:58:58 MCLAYBURN2] FRACTURED RIB CHARLES BRIGGS  [03\/09\/26 11:58:43 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"BROWNS MILL RD","incidentAddressTextVersionStreet":"2188 BROWNS MILL RD","locationCoordinates":"36.12293,-85.47009"}
[2026-03-09 17:14:44] [INFO] Number of extracted fields: 23
[2026-03-09 17:14:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:14:44] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:14:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:14:44] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:14:44] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:14:44] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:14:44] [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-09 17:14:44] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 17:14:44] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:14:44] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:14:44] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:14:44] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-03-09 17:14:44] [INFO] Found existing Dispatch with cADNumber '2026000643', ID: 69aeffcd48747c2a3 - will update instead of create
[2026-03-09 17:14:44] [INFO] Updated existing Dispatches record with ID: 69aeffcd48747c2a3
[2026-03-09 17:14:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171443.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025863_20260309_171443.XML
[2026-03-09 17:14:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025863_20260309_171443.XML
[2026-03-09 17:33:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173308.XML
[2026-03-09 17:33:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173308.XML for user: 68f1466aed072ad4a
[2026-03-09 17:33:08] [INFO] File size: 5198 bytes
[2026-03-09 17:33:08] [INFO] Created FTPFiles record with ID: 69af0454b57af04d4
[2026-03-09 17:33:08] [INFO] About to extract fields from XML. File size: 5198 bytes
[2026-03-09 17:33:08] [INFO] Number of mappings: 28
[2026-03-09 17:33:08] [INFO] Starting XML parsing. Content length: 5198
[2026-03-09 17:33:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:33:08] [INFO] Processing 28 field mappings
[2026-03-09 17:33:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:33:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:33:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:33:08] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:33:08] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:33:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:33:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:33:08] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:33:08] [INFO]   -> Found value: 2026000644
[2026-03-09 17:33:08] [INFO]   -> Set field 'incidentInternalId' = "2026000644"
[2026-03-09 17:33:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000644"
[2026-03-09 17:33:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:33:08] [INFO]   -> Found value: ABDOMINAL PAIN
[2026-03-09 17:33:08] [INFO]   -> Set field 'incidentTypeValue1' = "ABDOMINAL PAIN"
[2026-03-09 17:33:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:33:08] [INFO]   -> Found value: 2783
[2026-03-09 17:33:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2783
[2026-03-09 17:33:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:33:08] [INFO]   -> Found value: TN
[2026-03-09 17:33:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:33:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:33:08] [INFO]   -> Found value: 38506
[2026-03-09 17:33:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:33:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:33:08] [INFO]   -> Found value: 36.12811
[2026-03-09 17:33:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12810999999999950205165077932178974151611328125
[2026-03-09 17:33:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:33:08] [INFO]   -> Found value: -85.44598
[2026-03-09 17:33:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4459800000000058162186178378760814666748046875
[2026-03-09 17:33:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:33:08] [INFO]   -> Found value: 2026-03-09 12:32:23
[2026-03-09 17:33:08] [INFO]   -> Set field 'alarm' = "2026-03-09 12:32:23"
[2026-03-09 17:33:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:33:08] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:08] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:33:05"
[2026-03-09 17:33:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:33:08] [INFO]   -> Found value: LAKE VIEW DR/LAKE VIEW DR
[2026-03-09 17:33:08] [INFO]   -> Set field 'incidentLocationCross' = "LAKE VIEW DR\/LAKE VIEW DR"
[2026-03-09 17:33:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:33:08] [INFO]   -> Found value: PCFR
[2026-03-09 17:33:08] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:33:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:33:08] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:08] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:33:05"
[2026-03-09 17:33:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:33:08] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:33:08] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:33:08] [INFO]   -> Found value: 20260025877
[2026-03-09 17:33:08] [INFO]   -> Set field 'policeReportNumber' = "20260025877"
[2026-03-09 17:33:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:33:08] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRANCE  [03/09/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03/09/...
[2026-03-09 17:33:08] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:08] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:33:08] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:33:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:33:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:33:08] [INFO]   -> Found value: LAKE VALLEY
[2026-03-09 17:33:08] [INFO]   -> Set field 'streetName' = "LAKE VALLEY"
[2026-03-09 17:33:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:33:08] [INFO]   -> Found value: DR
[2026-03-09 17:33:08] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 17:33:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:33:08] [INFO]   -> Found value: 2783 LAKE VALLEY DR
[2026-03-09 17:33:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2783 LAKE VALLEY DR"
[2026-03-09 17:33:08] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 17:33:08] [INFO] Concatenating street name and type
[2026-03-09 17:33:08] [INFO]   -> Combined street name: LAKE VALLEY DR
[2026-03-09 17:33:08] [INFO] Built locationCoordinates from lat/lng: 36.12811,-85.44598
[2026-03-09 17:33:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000644","dispatchRunNumber":"2026000644","incidentTypeValue1":"ABDOMINAL PAIN","incidentLocationStreetNumber":2783,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12810999999999950205165077932178974151611328125,"nERISIncidentLongitude":-85.4459800000000058162186178378760814666748046875,"alarm":"2026-03-09 12:32:23","dispatched":"2026-03-09 12:33:05","incidentLocationCross":"LAKE VIEW DR\/LAKE VIEW DR","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:33:05","policeReportNumber":"20260025877","dispatchNotes":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","cADLog":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"LAKE VALLEY DR","incidentAddressTextVersionStreet":"2783 LAKE VALLEY DR","locationCoordinates":"36.12811,-85.44598"}
[2026-03-09 17:33:08] [INFO] Number of extracted fields: 21
[2026-03-09 17:33:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:33:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:33:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:33:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:33:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:33:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:33: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-09 17:33: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-09 17:33:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:33:09] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:33:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:33:09] [INFO] Found existing IncidentTypeMapping with ID: 6950ee4041befee87
[2026-03-09 17:33:19] [INFO] Created new Dispatches record with ID: 69af0455ab436c9ad
[2026-03-09 17:33:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173308.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025877_20260309_173308.XML
[2026-03-09 17:33:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173308.XML
[2026-03-09 17:33:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173333.XML
[2026-03-09 17:33:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173333.XML for user: 68f1466aed072ad4a
[2026-03-09 17:33:33] [INFO] File size: 6053 bytes
[2026-03-09 17:33:34] [INFO] Created FTPFiles record with ID: 69af046e4684c2371
[2026-03-09 17:33:34] [INFO] About to extract fields from XML. File size: 6053 bytes
[2026-03-09 17:33:34] [INFO] Number of mappings: 28
[2026-03-09 17:33:34] [INFO] Starting XML parsing. Content length: 6053
[2026-03-09 17:33:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:33:34] [INFO] Processing 28 field mappings
[2026-03-09 17:33:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:33:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:33:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:33:34] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:33:34] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:33:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:33:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:33:34] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:33:34] [INFO]   -> Found value: 2026000644
[2026-03-09 17:33:34] [INFO]   -> Set field 'incidentInternalId' = "2026000644"
[2026-03-09 17:33:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000644"
[2026-03-09 17:33:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:33:34] [INFO]   -> Found value: ABDOMINAL PAIN
[2026-03-09 17:33:34] [INFO]   -> Set field 'incidentTypeValue1' = "ABDOMINAL PAIN"
[2026-03-09 17:33:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:33:34] [INFO]   -> Found value: 2783
[2026-03-09 17:33:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2783
[2026-03-09 17:33:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:33:34] [INFO]   -> Found value: TN
[2026-03-09 17:33:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:33:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:33:34] [INFO]   -> Found value: 38506
[2026-03-09 17:33:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:33:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:33:34] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:33:34] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:33:34] [INFO]   -> Found value: 36.12811
[2026-03-09 17:33:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12810999999999950205165077932178974151611328125
[2026-03-09 17:33:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:33:34] [INFO]   -> Found value: -85.44598
[2026-03-09 17:33:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4459800000000058162186178378760814666748046875
[2026-03-09 17:33:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:33:34] [INFO]   -> Found value: 2026-03-09 12:32:23
[2026-03-09 17:33:34] [INFO]   -> Set field 'alarm' = "2026-03-09 12:32:23"
[2026-03-09 17:33:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:33:34] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:34] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:33:05"
[2026-03-09 17:33:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:33:34] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:33:34] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:33:34] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:33:34] [INFO]   -> Found value: LAKE VIEW DR/LAKE VIEW DR
[2026-03-09 17:33:34] [INFO]   -> Set field 'incidentLocationCross' = "LAKE VIEW DR\/LAKE VIEW DR"
[2026-03-09 17:33:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:33:34] [INFO]   -> Found value: PCFR
[2026-03-09 17:33:34] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:33:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:33:34] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:34] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:33:05"
[2026-03-09 17:33:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:33:34] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:33:34] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:33:34] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:34] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 12:33:28"
[2026-03-09 17:33:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:33:34] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:34] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 12:33:28"
[2026-03-09 17:33:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:33:34] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:33:34] [INFO]   -> Found value: 20260025877
[2026-03-09 17:33:34] [INFO]   -> Set field 'policeReportNumber' = "20260025877"
[2026-03-09 17:33:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:33:34] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRANCE  [03/09/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03/09/...
[2026-03-09 17:33:34] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:34] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:33:34] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:33:34] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:33:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:33:34] [INFO]   -> Found value: LAKE VALLEY
[2026-03-09 17:33:34] [INFO]   -> Set field 'streetName' = "LAKE VALLEY"
[2026-03-09 17:33:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:33:34] [INFO]   -> Found value: DR
[2026-03-09 17:33:34] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 17:33:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:33:34] [INFO]   -> Found value: 2783 LAKE VALLEY DR
[2026-03-09 17:33:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2783 LAKE VALLEY DR"
[2026-03-09 17:33:34] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:33:34] [INFO] Concatenating street name and type
[2026-03-09 17:33:34] [INFO]   -> Combined street name: LAKE VALLEY DR
[2026-03-09 17:33:34] [INFO] Built locationCoordinates from lat/lng: 36.12811,-85.44598
[2026-03-09 17:33:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000644","dispatchRunNumber":"2026000644","incidentTypeValue1":"ABDOMINAL PAIN","incidentLocationStreetNumber":2783,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12810999999999950205165077932178974151611328125,"nERISIncidentLongitude":-85.4459800000000058162186178378760814666748046875,"alarm":"2026-03-09 12:32:23","dispatched":"2026-03-09 12:33:05","incidentLocationCross":"LAKE VIEW DR\/LAKE VIEW DR","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:33:05","timeunitclear":"2026-03-09 12:33:28","timecanceledenroute":"2026-03-09 12:33:28","policeReportNumber":"20260025877","dispatchNotes":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","cADLog":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"LAKE VALLEY DR","incidentAddressTextVersionStreet":"2783 LAKE VALLEY DR","locationCoordinates":"36.12811,-85.44598"}
[2026-03-09 17:33:34] [INFO] Number of extracted fields: 23
[2026-03-09 17:33:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:33:34] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:33:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:33:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:33:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:33:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:33:34] [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-09 17:33:34] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 17:33:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:33:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:33:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:33:34] [INFO] Found existing IncidentTypeMapping with ID: 6950ee4041befee87
[2026-03-09 17:33:35] [INFO] Found existing Dispatch with cADNumber '2026000644', ID: 69af0455ab436c9ad - will update instead of create
[2026-03-09 17:33:35] [INFO] Updated existing Dispatches record with ID: 69af0455ab436c9ad
[2026-03-09 17:33:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173333.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025877_20260309_173333.XML
[2026-03-09 17:33:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173333.XML
[2026-03-09 17:33:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339.XML
[2026-03-09 17:33:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339.XML for user: 68f1466aed072ad4a
[2026-03-09 17:33:39] [INFO] File size: 6053 bytes
[2026-03-09 17:33:39] [INFO] Created FTPFiles record with ID: 69af04735e4a1ae92
[2026-03-09 17:33:39] [INFO] About to extract fields from XML. File size: 6053 bytes
[2026-03-09 17:33:39] [INFO] Number of mappings: 28
[2026-03-09 17:33:39] [INFO] Starting XML parsing. Content length: 6053
[2026-03-09 17:33:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:33:39] [INFO] Processing 28 field mappings
[2026-03-09 17:33:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:33:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:33:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:33:39] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:33:39] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:33:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:33:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:33:39] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:33:39] [INFO]   -> Found value: 2026000644
[2026-03-09 17:33:39] [INFO]   -> Set field 'incidentInternalId' = "2026000644"
[2026-03-09 17:33:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000644"
[2026-03-09 17:33:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:33:39] [INFO]   -> Found value: ABDOMINAL PAIN
[2026-03-09 17:33:39] [INFO]   -> Set field 'incidentTypeValue1' = "ABDOMINAL PAIN"
[2026-03-09 17:33:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:33:39] [INFO]   -> Found value: 2783
[2026-03-09 17:33:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2783
[2026-03-09 17:33:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:33:39] [INFO]   -> Found value: TN
[2026-03-09 17:33:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:33:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:33:39] [INFO]   -> Found value: 38506
[2026-03-09 17:33:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:33:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:33:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:33:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:33:39] [INFO]   -> Found value: 36.12811
[2026-03-09 17:33:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12810999999999950205165077932178974151611328125
[2026-03-09 17:33:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:33:39] [INFO]   -> Found value: -85.44598
[2026-03-09 17:33:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4459800000000058162186178378760814666748046875
[2026-03-09 17:33:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:33:39] [INFO]   -> Found value: 2026-03-09 12:32:23
[2026-03-09 17:33:39] [INFO]   -> Set field 'alarm' = "2026-03-09 12:32:23"
[2026-03-09 17:33:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:33:39] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:39] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:33:05"
[2026-03-09 17:33:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:33:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:33:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:33:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:33:39] [INFO]   -> Found value: LAKE VIEW DR/LAKE VIEW DR
[2026-03-09 17:33:39] [INFO]   -> Set field 'incidentLocationCross' = "LAKE VIEW DR\/LAKE VIEW DR"
[2026-03-09 17:33:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:33:39] [INFO]   -> Found value: PCFR
[2026-03-09 17:33:39] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:33:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:33:39] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:39] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:33:05"
[2026-03-09 17:33:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:33:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:33:39] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:33:39] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:39] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 12:33:28"
[2026-03-09 17:33:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:33:39] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:39] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 12:33:28"
[2026-03-09 17:33:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:33:39] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:33:39] [INFO]   -> Found value: 20260025877
[2026-03-09 17:33:39] [INFO]   -> Set field 'policeReportNumber' = "20260025877"
[2026-03-09 17:33:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:33:39] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRANCE  [03/09/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03/09/...
[2026-03-09 17:33:39] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:39] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:33:39] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:33:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:33:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:33:39] [INFO]   -> Found value: LAKE VALLEY
[2026-03-09 17:33:39] [INFO]   -> Set field 'streetName' = "LAKE VALLEY"
[2026-03-09 17:33:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:33:39] [INFO]   -> Found value: DR
[2026-03-09 17:33:39] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 17:33:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:33:39] [INFO]   -> Found value: 2783 LAKE VALLEY DR
[2026-03-09 17:33:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2783 LAKE VALLEY DR"
[2026-03-09 17:33:39] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:33:39] [INFO] Concatenating street name and type
[2026-03-09 17:33:39] [INFO]   -> Combined street name: LAKE VALLEY DR
[2026-03-09 17:33:39] [INFO] Built locationCoordinates from lat/lng: 36.12811,-85.44598
[2026-03-09 17:33:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000644","dispatchRunNumber":"2026000644","incidentTypeValue1":"ABDOMINAL PAIN","incidentLocationStreetNumber":2783,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12810999999999950205165077932178974151611328125,"nERISIncidentLongitude":-85.4459800000000058162186178378760814666748046875,"alarm":"2026-03-09 12:32:23","dispatched":"2026-03-09 12:33:05","incidentLocationCross":"LAKE VIEW DR\/LAKE VIEW DR","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:33:05","timeunitclear":"2026-03-09 12:33:28","timecanceledenroute":"2026-03-09 12:33:28","policeReportNumber":"20260025877","dispatchNotes":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","cADLog":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"LAKE VALLEY DR","incidentAddressTextVersionStreet":"2783 LAKE VALLEY DR","locationCoordinates":"36.12811,-85.44598"}
[2026-03-09 17:33:39] [INFO] Number of extracted fields: 23
[2026-03-09 17:33:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:33:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:33:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:33:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:33:39] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:33:39] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:33:39] [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-09 17:33:39] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 17:33:39] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:33:39] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:33:39] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:33:39] [INFO] Found existing IncidentTypeMapping with ID: 6950ee4041befee87
[2026-03-09 17:33:40] [INFO] Found existing Dispatch with cADNumber '2026000644', ID: 69af0455ab436c9ad - will update instead of create
[2026-03-09 17:33:40] [INFO] Updated existing Dispatches record with ID: 69af0455ab436c9ad
[2026-03-09 17:33:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025877_20260309_173339.XML
[2026-03-09 17:33:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339.XML
[2026-03-09 17:33:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339_1.XML
[2026-03-09 17:33:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339_1.XML for user: 68f1466aed072ad4a
[2026-03-09 17:33:40] [INFO] File size: 6053 bytes
[2026-03-09 17:33:40] [INFO] Created FTPFiles record with ID: 69af0474a35c8958a
[2026-03-09 17:33:40] [INFO] About to extract fields from XML. File size: 6053 bytes
[2026-03-09 17:33:40] [INFO] Number of mappings: 28
[2026-03-09 17:33:40] [INFO] Starting XML parsing. Content length: 6053
[2026-03-09 17:33:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:33:40] [INFO] Processing 28 field mappings
[2026-03-09 17:33:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:33:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:33:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:33:40] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:33:40] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:33:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:33:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:33:40] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:33:40] [INFO]   -> Found value: 2026000644
[2026-03-09 17:33:40] [INFO]   -> Set field 'incidentInternalId' = "2026000644"
[2026-03-09 17:33:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000644"
[2026-03-09 17:33:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:33:40] [INFO]   -> Found value: ABDOMINAL PAIN
[2026-03-09 17:33:40] [INFO]   -> Set field 'incidentTypeValue1' = "ABDOMINAL PAIN"
[2026-03-09 17:33:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:33:40] [INFO]   -> Found value: 2783
[2026-03-09 17:33:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2783
[2026-03-09 17:33:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:33:40] [INFO]   -> Found value: TN
[2026-03-09 17:33:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:33:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:33:40] [INFO]   -> Found value: 38506
[2026-03-09 17:33:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:33:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:33:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:33:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:33:40] [INFO]   -> Found value: 36.12811
[2026-03-09 17:33:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12810999999999950205165077932178974151611328125
[2026-03-09 17:33:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:33:40] [INFO]   -> Found value: -85.44598
[2026-03-09 17:33:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4459800000000058162186178378760814666748046875
[2026-03-09 17:33:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:33:40] [INFO]   -> Found value: 2026-03-09 12:32:23
[2026-03-09 17:33:40] [INFO]   -> Set field 'alarm' = "2026-03-09 12:32:23"
[2026-03-09 17:33:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:33:40] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:40] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:33:05"
[2026-03-09 17:33:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:33:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:33:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:33:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:33:40] [INFO]   -> Found value: LAKE VIEW DR/LAKE VIEW DR
[2026-03-09 17:33:40] [INFO]   -> Set field 'incidentLocationCross' = "LAKE VIEW DR\/LAKE VIEW DR"
[2026-03-09 17:33:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:33:40] [INFO]   -> Found value: PCFR
[2026-03-09 17:33:40] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:33:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:33:40] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:40] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:33:05"
[2026-03-09 17:33:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:33:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:33:40] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:33:40] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:40] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 12:33:28"
[2026-03-09 17:33:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:33:40] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:40] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 12:33:28"
[2026-03-09 17:33:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:33:40] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:33:40] [INFO]   -> Found value: 20260025877
[2026-03-09 17:33:40] [INFO]   -> Set field 'policeReportNumber' = "20260025877"
[2026-03-09 17:33:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:33:40] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRANCE  [03/09/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03/09/...
[2026-03-09 17:33:40] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:40] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:33:40] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:33:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:33:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:33:40] [INFO]   -> Found value: LAKE VALLEY
[2026-03-09 17:33:40] [INFO]   -> Set field 'streetName' = "LAKE VALLEY"
[2026-03-09 17:33:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:33:40] [INFO]   -> Found value: DR
[2026-03-09 17:33:40] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 17:33:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:33:40] [INFO]   -> Found value: 2783 LAKE VALLEY DR
[2026-03-09 17:33:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2783 LAKE VALLEY DR"
[2026-03-09 17:33:40] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:33:40] [INFO] Concatenating street name and type
[2026-03-09 17:33:40] [INFO]   -> Combined street name: LAKE VALLEY DR
[2026-03-09 17:33:40] [INFO] Built locationCoordinates from lat/lng: 36.12811,-85.44598
[2026-03-09 17:33:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000644","dispatchRunNumber":"2026000644","incidentTypeValue1":"ABDOMINAL PAIN","incidentLocationStreetNumber":2783,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12810999999999950205165077932178974151611328125,"nERISIncidentLongitude":-85.4459800000000058162186178378760814666748046875,"alarm":"2026-03-09 12:32:23","dispatched":"2026-03-09 12:33:05","incidentLocationCross":"LAKE VIEW DR\/LAKE VIEW DR","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:33:05","timeunitclear":"2026-03-09 12:33:28","timecanceledenroute":"2026-03-09 12:33:28","policeReportNumber":"20260025877","dispatchNotes":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","cADLog":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"LAKE VALLEY DR","incidentAddressTextVersionStreet":"2783 LAKE VALLEY DR","locationCoordinates":"36.12811,-85.44598"}
[2026-03-09 17:33:40] [INFO] Number of extracted fields: 23
[2026-03-09 17:33:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:33:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:33:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:33:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:33:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:33:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:33: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-09 17:33: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-09 17:33:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:33:41] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:33:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:33:41] [INFO] Found existing IncidentTypeMapping with ID: 6950ee4041befee87
[2026-03-09 17:33:41] [INFO] Found existing Dispatch with cADNumber '2026000644', ID: 69af0455ab436c9ad - will update instead of create
[2026-03-09 17:33:41] [INFO] Updated existing Dispatches record with ID: 69af0455ab436c9ad
[2026-03-09 17:33:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025877_20260309_173339_1.XML
[2026-03-09 17:33:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173339_1.XML
[2026-03-09 17:33:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173341.XML
[2026-03-09 17:33:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173341.XML for user: 68f1466aed072ad4a
[2026-03-09 17:33:41] [INFO] File size: 6053 bytes
[2026-03-09 17:33:42] [INFO] Created FTPFiles record with ID: 69af0475f0ae9be04
[2026-03-09 17:33:42] [INFO] About to extract fields from XML. File size: 6053 bytes
[2026-03-09 17:33:42] [INFO] Number of mappings: 28
[2026-03-09 17:33:42] [INFO] Starting XML parsing. Content length: 6053
[2026-03-09 17:33:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 17:33:42] [INFO] Processing 28 field mappings
[2026-03-09 17:33:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 17:33:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 17:33:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 17:33:42] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 17:33:42] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 17:33:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 17:33:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 17:33:42] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 17:33:42] [INFO]   -> Found value: 2026000644
[2026-03-09 17:33:42] [INFO]   -> Set field 'incidentInternalId' = "2026000644"
[2026-03-09 17:33:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000644"
[2026-03-09 17:33:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 17:33:42] [INFO]   -> Found value: ABDOMINAL PAIN
[2026-03-09 17:33:42] [INFO]   -> Set field 'incidentTypeValue1' = "ABDOMINAL PAIN"
[2026-03-09 17:33:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 17:33:42] [INFO]   -> Found value: 2783
[2026-03-09 17:33:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2783
[2026-03-09 17:33:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 17:33:42] [INFO]   -> Found value: TN
[2026-03-09 17:33:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 17:33:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 17:33:42] [INFO]   -> Found value: 38506
[2026-03-09 17:33:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 17:33:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 17:33:42] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 17:33:42] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 17:33:42] [INFO]   -> Found value: 36.12811
[2026-03-09 17:33:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12810999999999950205165077932178974151611328125
[2026-03-09 17:33:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 17:33:42] [INFO]   -> Found value: -85.44598
[2026-03-09 17:33:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4459800000000058162186178378760814666748046875
[2026-03-09 17:33:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 17:33:42] [INFO]   -> Found value: 2026-03-09 12:32:23
[2026-03-09 17:33:42] [INFO]   -> Set field 'alarm' = "2026-03-09 12:32:23"
[2026-03-09 17:33:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 17:33:42] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:42] [INFO]   -> Set field 'dispatched' = "2026-03-09 12:33:05"
[2026-03-09 17:33:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 17:33:42] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 17:33:42] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 17:33:42] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 17:33:42] [INFO]   -> Found value: LAKE VIEW DR/LAKE VIEW DR
[2026-03-09 17:33:42] [INFO]   -> Set field 'incidentLocationCross' = "LAKE VIEW DR\/LAKE VIEW DR"
[2026-03-09 17:33:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 17:33:42] [INFO]   -> Found value: PCFR
[2026-03-09 17:33:42] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 17:33:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 17:33:42] [INFO]   -> Found value: 2026-03-09 12:33:05
[2026-03-09 17:33:42] [INFO]   -> Set field 'timedispatch' = "2026-03-09 12:33:05"
[2026-03-09 17:33:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 17:33:42] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 17:33:42] [INFO]   -> No value found (null or empty)
[2026-03-09 17:33:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 17:33:42] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:42] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 12:33:28"
[2026-03-09 17:33:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 17:33:42] [INFO]   -> Found value: 2026-03-09 12:33:28
[2026-03-09 17:33:42] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 12:33:28"
[2026-03-09 17:33:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 17:33:42] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 17:33:42] [INFO]   -> Found value: 20260025877
[2026-03-09 17:33:42] [INFO]   -> Set field 'policeReportNumber' = "20260025877"
[2026-03-09 17:33:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 17:33:42] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRANCE  [03/09/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03/09/...
[2026-03-09 17:33:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:42] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]"
[2026-03-09 17:33:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 17:33:42] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 17:33:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 17:33:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 17:33:42] [INFO]   -> Found value: LAKE VALLEY
[2026-03-09 17:33:42] [INFO]   -> Set field 'streetName' = "LAKE VALLEY"
[2026-03-09 17:33:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 17:33:42] [INFO]   -> Found value: DR
[2026-03-09 17:33:42] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 17:33:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 17:33:42] [INFO]   -> Found value: 2783 LAKE VALLEY DR
[2026-03-09 17:33:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2783 LAKE VALLEY DR"
[2026-03-09 17:33:42] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 17:33:42] [INFO] Concatenating street name and type
[2026-03-09 17:33:42] [INFO]   -> Combined street name: LAKE VALLEY DR
[2026-03-09 17:33:42] [INFO] Built locationCoordinates from lat/lng: 36.12811,-85.44598
[2026-03-09 17:33:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000644","dispatchRunNumber":"2026000644","incidentTypeValue1":"ABDOMINAL PAIN","incidentLocationStreetNumber":2783,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12810999999999950205165077932178974151611328125,"nERISIncidentLongitude":-85.4459800000000058162186178378760814666748046875,"alarm":"2026-03-09 12:32:23","dispatched":"2026-03-09 12:33:05","incidentLocationCross":"LAKE VIEW DR\/LAKE VIEW DR","cADVehicleID":"PCFR","timedispatch":"2026-03-09 12:33:05","timeunitclear":"2026-03-09 12:33:28","timecanceledenroute":"2026-03-09 12:33:28","policeReportNumber":"20260025877","dispatchNotes":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","cADLog":"[EMS] FRONT DOOR ENTRANCE  [03\/09\/26 12:32:53 KHILL] [EMS] 48 HOURS  POSSIBLE KIDNEY STONES  [03\/09\/26 12:32:34 KHILL] Event spawned from ABDOMINAL PAIN.  [03\/09\/2026 12:32:23 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"LAKE VALLEY DR","incidentAddressTextVersionStreet":"2783 LAKE VALLEY DR","locationCoordinates":"36.12811,-85.44598"}
[2026-03-09 17:33:42] [INFO] Number of extracted fields: 23
[2026-03-09 17:33:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 17:33:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 17:33:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 17:33:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 17:33:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 17:33:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 17:33: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-09 17:33: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-09 17:33:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 17:33:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 17:33:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 17:33:42] [INFO] Found existing IncidentTypeMapping with ID: 6950ee4041befee87
[2026-03-09 17:33:42] [INFO] Found existing Dispatch with cADNumber '2026000644', ID: 69af0455ab436c9ad - will update instead of create
[2026-03-09 17:33:42] [INFO] Updated existing Dispatches record with ID: 69af0455ab436c9ad
[2026-03-09 17:33:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173341.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025877_20260309_173341.XML
[2026-03-09 17:33:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025877_20260309_173341.XML
[2026-03-09 18:07:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180700.XML
[2026-03-09 18:07:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180700.XML for user: 68f1466aed072ad4a
[2026-03-09 18:07:00] [INFO] File size: 5611 bytes
[2026-03-09 18:07:01] [INFO] Created FTPFiles record with ID: 69af0c45265b633f3
[2026-03-09 18:07:01] [INFO] About to extract fields from XML. File size: 5611 bytes
[2026-03-09 18:07:01] [INFO] Number of mappings: 28
[2026-03-09 18:07:01] [INFO] Starting XML parsing. Content length: 5611
[2026-03-09 18:07:01] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 18:07:01] [INFO] Processing 28 field mappings
[2026-03-09 18:07:01] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 18:07:01] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 18:07:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 18:07:01] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 18:07:01] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 18:07:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 18:07:01] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 18:07:01] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 18:07:01] [INFO]   -> Found value: 2026000645
[2026-03-09 18:07:01] [INFO]   -> Set field 'incidentInternalId' = "2026000645"
[2026-03-09 18:07:01] [INFO]   -> Set field 'dispatchRunNumber' = "2026000645"
[2026-03-09 18:07:01] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 18:07:01] [INFO]   -> Found value: OVERDOSE
[2026-03-09 18:07:01] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-09 18:07:01] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 18:07:01] [INFO]   -> Found value: 1724
[2026-03-09 18:07:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1724
[2026-03-09 18:07:01] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 18:07:01] [INFO]   -> Found value: TN
[2026-03-09 18:07:01] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 18:07:01] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 18:07:01] [INFO]   -> Found value: 38506
[2026-03-09 18:07:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 18:07:01] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 18:07:01] [INFO]   -> Found value: 36.09544
[2026-03-09 18:07:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09544000000000352201823261566460132598876953125
[2026-03-09 18:07:01] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 18:07:01] [INFO]   -> Found value: -85.54545
[2026-03-09 18:07:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5454500000000024328983272425830364227294921875
[2026-03-09 18:07:01] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 18:07:01] [INFO]   -> Found value: 2026-03-09 13:06:21
[2026-03-09 18:07:01] [INFO]   -> Set field 'alarm' = "2026-03-09 13:06:21"
[2026-03-09 18:07:01] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 18:07:01] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:01] [INFO]   -> Set field 'dispatched' = "2026-03-09 13:06:58"
[2026-03-09 18:07:01] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 18:07:01] [INFO]   -> Found value: HILLTOP DR/CARR FARM RD
[2026-03-09 18:07:01] [INFO]   -> Set field 'incidentLocationCross' = "HILLTOP DR\/CARR FARM RD"
[2026-03-09 18:07:01] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 18:07:01] [INFO]   -> Found value: PCFR
[2026-03-09 18:07:01] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 18:07:01] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 18:07:01] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:01] [INFO]   -> Set field 'timedispatch' = "2026-03-09 13:06:58"
[2026-03-09 18:07:01] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 18:07:01] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:01] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 18:07:01] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 18:07:01] [INFO]   -> Found value: 20260025893
[2026-03-09 18:07:01] [INFO]   -> Set field 'policeReportNumber' = "20260025893"
[2026-03-09 18:07:01] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 18:07:01] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/09/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03/09/26 1...
[2026-03-09 18:07:01] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:01] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:01] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 18:07:01] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 18:07:01] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 18:07:01] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 18:07:01] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-09 18:07:01] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-09 18:07:01] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 18:07:01] [INFO]   -> Found value: RD
[2026-03-09 18:07:01] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 18:07:01] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 18:07:01] [INFO]   -> Found value: 1724 BURGESS SCHOOL RD
[2026-03-09 18:07:01] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1724 BURGESS SCHOOL RD"
[2026-03-09 18:07:01] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 18:07:01] [INFO] Concatenating street name and type
[2026-03-09 18:07:01] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-09 18:07:01] [INFO] Built locationCoordinates from lat/lng: 36.09544,-85.54545
[2026-03-09 18:07:01] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000645","dispatchRunNumber":"2026000645","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1724,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09544000000000352201823261566460132598876953125,"nERISIncidentLongitude":-85.5454500000000024328983272425830364227294921875,"alarm":"2026-03-09 13:06:21","dispatched":"2026-03-09 13:06:58","incidentLocationCross":"HILLTOP DR\/CARR FARM RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 13:06:58","policeReportNumber":"20260025893","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"1724 BURGESS SCHOOL RD","locationCoordinates":"36.09544,-85.54545"}
[2026-03-09 18:07:01] [INFO] Number of extracted fields: 21
[2026-03-09 18:07:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 18:07:01] [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-09 18:07:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 18:07:01] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 18:07:01] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 18:07:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 18:07:01] [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-09 18:07:01] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 18:07:01] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 18:07:01] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 18:07:01] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 18:07:01] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-09 18:07:10] [INFO] Created new Dispatches record with ID: 69af0c4627df1338a
[2026-03-09 18:07:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180700.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025893_20260309_180700.XML
[2026-03-09 18:07:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180700.XML
[2026-03-09 18:07:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180728.XML
[2026-03-09 18:07:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180728.XML for user: 68f1466aed072ad4a
[2026-03-09 18:07:28] [INFO] File size: 6644 bytes
[2026-03-09 18:07:31] [INFO] Created FTPFiles record with ID: 69af0c6300178c858
[2026-03-09 18:07:31] [INFO] About to extract fields from XML. File size: 6644 bytes
[2026-03-09 18:07:31] [INFO] Number of mappings: 28
[2026-03-09 18:07:31] [INFO] Starting XML parsing. Content length: 6644
[2026-03-09 18:07:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 18:07:31] [INFO] Processing 28 field mappings
[2026-03-09 18:07:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 18:07:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 18:07:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 18:07:31] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 18:07:31] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 18:07:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 18:07:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 18:07:31] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 18:07:31] [INFO]   -> Found value: 2026000645
[2026-03-09 18:07:31] [INFO]   -> Set field 'incidentInternalId' = "2026000645"
[2026-03-09 18:07:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000645"
[2026-03-09 18:07:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 18:07:31] [INFO]   -> Found value: OVERDOSE
[2026-03-09 18:07:31] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-09 18:07:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 18:07:31] [INFO]   -> Found value: 1724
[2026-03-09 18:07:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1724
[2026-03-09 18:07:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 18:07:31] [INFO]   -> Found value: TN
[2026-03-09 18:07:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 18:07:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 18:07:31] [INFO]   -> Found value: 38506
[2026-03-09 18:07:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 18:07:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 18:07:31] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 18:07:31] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 18:07:31] [INFO]   -> Found value: 36.09544
[2026-03-09 18:07:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09544000000000352201823261566460132598876953125
[2026-03-09 18:07:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 18:07:31] [INFO]   -> Found value: -85.54545
[2026-03-09 18:07:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5454500000000024328983272425830364227294921875
[2026-03-09 18:07:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 18:07:31] [INFO]   -> Found value: 2026-03-09 13:06:21
[2026-03-09 18:07:31] [INFO]   -> Set field 'alarm' = "2026-03-09 13:06:21"
[2026-03-09 18:07:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 18:07:31] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:31] [INFO]   -> Set field 'dispatched' = "2026-03-09 13:06:58"
[2026-03-09 18:07:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 18:07:31] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 18:07:31] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 18:07:31] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 18:07:31] [INFO]   -> Found value: HILLTOP DR/CARR FARM RD
[2026-03-09 18:07:31] [INFO]   -> Set field 'incidentLocationCross' = "HILLTOP DR\/CARR FARM RD"
[2026-03-09 18:07:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 18:07:31] [INFO]   -> Found value: PCFR
[2026-03-09 18:07:31] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 18:07:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 18:07:31] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:31] [INFO]   -> Set field 'timedispatch' = "2026-03-09 13:06:58"
[2026-03-09 18:07:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 18:07:31] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 18:07:31] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 18:07:31] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:31] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 13:07:24"
[2026-03-09 18:07:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 18:07:31] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:31] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 13:07:24"
[2026-03-09 18:07:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 18:07:31] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 18:07:31] [INFO]   -> Found value: 20260025893
[2026-03-09 18:07:31] [INFO]   -> Set field 'policeReportNumber' = "20260025893"
[2026-03-09 18:07:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 18:07:31] [INFO]   -> Found value: [EMS] HASNT SMOKED POT IN A LONG TIME  [03/09/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING ...
[2026-03-09 18:07:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:31] [INFO]   -> Set field 'cADLog' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 18:07:31] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 18:07:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 18:07:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 18:07:31] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-09 18:07:31] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-09 18:07:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 18:07:31] [INFO]   -> Found value: RD
[2026-03-09 18:07:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 18:07:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 18:07:31] [INFO]   -> Found value: 1724 BURGESS SCHOOL RD
[2026-03-09 18:07:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1724 BURGESS SCHOOL RD"
[2026-03-09 18:07:31] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 18:07:31] [INFO] Concatenating street name and type
[2026-03-09 18:07:31] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-09 18:07:31] [INFO] Built locationCoordinates from lat/lng: 36.09544,-85.54545
[2026-03-09 18:07:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000645","dispatchRunNumber":"2026000645","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1724,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09544000000000352201823261566460132598876953125,"nERISIncidentLongitude":-85.5454500000000024328983272425830364227294921875,"alarm":"2026-03-09 13:06:21","dispatched":"2026-03-09 13:06:58","incidentLocationCross":"HILLTOP DR\/CARR FARM RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 13:06:58","timeunitclear":"2026-03-09 13:07:24","timecanceledenroute":"2026-03-09 13:07:24","policeReportNumber":"20260025893","dispatchNotes":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","cADLog":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"1724 BURGESS SCHOOL RD","locationCoordinates":"36.09544,-85.54545"}
[2026-03-09 18:07:31] [INFO] Number of extracted fields: 23
[2026-03-09 18:07:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 18:07: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-09 18:07:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 18:07:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 18:07:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 18:07:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 18:07: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-09 18:07: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-09 18:07:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 18:07:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 18:07:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 18:07:31] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-09 18:07:31] [INFO] Found existing Dispatch with cADNumber '2026000645', ID: 69af0c4627df1338a - will update instead of create
[2026-03-09 18:07:32] [INFO] Updated existing Dispatches record with ID: 69af0c4627df1338a
[2026-03-09 18:07:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180728.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025893_20260309_180728.XML
[2026-03-09 18:07:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180728.XML
[2026-03-09 18:07:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731.XML
[2026-03-09 18:07:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731.XML for user: 68f1466aed072ad4a
[2026-03-09 18:07:32] [INFO] File size: 6644 bytes
[2026-03-09 18:07:32] [INFO] Created FTPFiles record with ID: 69af0c6485f6c71ce
[2026-03-09 18:07:32] [INFO] About to extract fields from XML. File size: 6644 bytes
[2026-03-09 18:07:32] [INFO] Number of mappings: 28
[2026-03-09 18:07:32] [INFO] Starting XML parsing. Content length: 6644
[2026-03-09 18:07:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 18:07:32] [INFO] Processing 28 field mappings
[2026-03-09 18:07:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 18:07:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 18:07:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 18:07:32] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 18:07:32] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 18:07:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 18:07:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 18:07:32] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 18:07:32] [INFO]   -> Found value: 2026000645
[2026-03-09 18:07:32] [INFO]   -> Set field 'incidentInternalId' = "2026000645"
[2026-03-09 18:07:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000645"
[2026-03-09 18:07:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 18:07:32] [INFO]   -> Found value: OVERDOSE
[2026-03-09 18:07:32] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-09 18:07:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 18:07:32] [INFO]   -> Found value: 1724
[2026-03-09 18:07:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1724
[2026-03-09 18:07:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 18:07:32] [INFO]   -> Found value: TN
[2026-03-09 18:07:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 18:07:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 18:07:32] [INFO]   -> Found value: 38506
[2026-03-09 18:07:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 18:07:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 18:07:32] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 18:07:32] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 18:07:32] [INFO]   -> Found value: 36.09544
[2026-03-09 18:07:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09544000000000352201823261566460132598876953125
[2026-03-09 18:07:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 18:07:32] [INFO]   -> Found value: -85.54545
[2026-03-09 18:07:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5454500000000024328983272425830364227294921875
[2026-03-09 18:07:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 18:07:32] [INFO]   -> Found value: 2026-03-09 13:06:21
[2026-03-09 18:07:32] [INFO]   -> Set field 'alarm' = "2026-03-09 13:06:21"
[2026-03-09 18:07:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 18:07:32] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:32] [INFO]   -> Set field 'dispatched' = "2026-03-09 13:06:58"
[2026-03-09 18:07:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 18:07:32] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 18:07:32] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 18:07:32] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 18:07:32] [INFO]   -> Found value: HILLTOP DR/CARR FARM RD
[2026-03-09 18:07:32] [INFO]   -> Set field 'incidentLocationCross' = "HILLTOP DR\/CARR FARM RD"
[2026-03-09 18:07:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 18:07:32] [INFO]   -> Found value: PCFR
[2026-03-09 18:07:32] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 18:07:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 18:07:32] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:32] [INFO]   -> Set field 'timedispatch' = "2026-03-09 13:06:58"
[2026-03-09 18:07:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 18:07:32] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 18:07:32] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 18:07:32] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:32] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 13:07:24"
[2026-03-09 18:07:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 18:07:32] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:32] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 13:07:24"
[2026-03-09 18:07:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 18:07:32] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 18:07:32] [INFO]   -> Found value: 20260025893
[2026-03-09 18:07:32] [INFO]   -> Set field 'policeReportNumber' = "20260025893"
[2026-03-09 18:07:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 18:07:32] [INFO]   -> Found value: [EMS] HASNT SMOKED POT IN A LONG TIME  [03/09/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING ...
[2026-03-09 18:07:32] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:32] [INFO]   -> Set field 'cADLog' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 18:07:32] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 18:07:32] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 18:07:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 18:07:32] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-09 18:07:32] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-09 18:07:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 18:07:32] [INFO]   -> Found value: RD
[2026-03-09 18:07:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 18:07:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 18:07:32] [INFO]   -> Found value: 1724 BURGESS SCHOOL RD
[2026-03-09 18:07:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1724 BURGESS SCHOOL RD"
[2026-03-09 18:07:32] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 18:07:32] [INFO] Concatenating street name and type
[2026-03-09 18:07:32] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-09 18:07:32] [INFO] Built locationCoordinates from lat/lng: 36.09544,-85.54545
[2026-03-09 18:07:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000645","dispatchRunNumber":"2026000645","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1724,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09544000000000352201823261566460132598876953125,"nERISIncidentLongitude":-85.5454500000000024328983272425830364227294921875,"alarm":"2026-03-09 13:06:21","dispatched":"2026-03-09 13:06:58","incidentLocationCross":"HILLTOP DR\/CARR FARM RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 13:06:58","timeunitclear":"2026-03-09 13:07:24","timecanceledenroute":"2026-03-09 13:07:24","policeReportNumber":"20260025893","dispatchNotes":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","cADLog":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"1724 BURGESS SCHOOL RD","locationCoordinates":"36.09544,-85.54545"}
[2026-03-09 18:07:32] [INFO] Number of extracted fields: 23
[2026-03-09 18:07:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 18:07:32] [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-09 18:07:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 18:07:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 18:07:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 18:07:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 18:07: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-09 18:07: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-09 18:07:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 18:07:32] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 18:07:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 18:07:33] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-09 18:07:33] [INFO] Found existing Dispatch with cADNumber '2026000645', ID: 69af0c4627df1338a - will update instead of create
[2026-03-09 18:07:33] [INFO] Updated existing Dispatches record with ID: 69af0c4627df1338a
[2026-03-09 18:07:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025893_20260309_180731.XML
[2026-03-09 18:07:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731.XML
[2026-03-09 18:07:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731_1.XML
[2026-03-09 18:07:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731_1.XML for user: 68f1466aed072ad4a
[2026-03-09 18:07:33] [INFO] File size: 6644 bytes
[2026-03-09 18:07:33] [INFO] Created FTPFiles record with ID: 69af0c65d5fad5213
[2026-03-09 18:07:33] [INFO] About to extract fields from XML. File size: 6644 bytes
[2026-03-09 18:07:33] [INFO] Number of mappings: 28
[2026-03-09 18:07:33] [INFO] Starting XML parsing. Content length: 6644
[2026-03-09 18:07:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 18:07:33] [INFO] Processing 28 field mappings
[2026-03-09 18:07:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 18:07:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 18:07:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 18:07:33] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 18:07:33] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 18:07:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 18:07:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 18:07:33] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 18:07:33] [INFO]   -> Found value: 2026000645
[2026-03-09 18:07:33] [INFO]   -> Set field 'incidentInternalId' = "2026000645"
[2026-03-09 18:07:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000645"
[2026-03-09 18:07:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 18:07:33] [INFO]   -> Found value: OVERDOSE
[2026-03-09 18:07:33] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-09 18:07:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 18:07:33] [INFO]   -> Found value: 1724
[2026-03-09 18:07:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1724
[2026-03-09 18:07:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 18:07:33] [INFO]   -> Found value: TN
[2026-03-09 18:07:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 18:07:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 18:07:33] [INFO]   -> Found value: 38506
[2026-03-09 18:07:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 18:07:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 18:07:33] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 18:07:33] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 18:07:33] [INFO]   -> Found value: 36.09544
[2026-03-09 18:07:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09544000000000352201823261566460132598876953125
[2026-03-09 18:07:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 18:07:33] [INFO]   -> Found value: -85.54545
[2026-03-09 18:07:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5454500000000024328983272425830364227294921875
[2026-03-09 18:07:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 18:07:33] [INFO]   -> Found value: 2026-03-09 13:06:21
[2026-03-09 18:07:33] [INFO]   -> Set field 'alarm' = "2026-03-09 13:06:21"
[2026-03-09 18:07:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 18:07:33] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:33] [INFO]   -> Set field 'dispatched' = "2026-03-09 13:06:58"
[2026-03-09 18:07:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 18:07:33] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 18:07:33] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 18:07:33] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 18:07:33] [INFO]   -> Found value: HILLTOP DR/CARR FARM RD
[2026-03-09 18:07:33] [INFO]   -> Set field 'incidentLocationCross' = "HILLTOP DR\/CARR FARM RD"
[2026-03-09 18:07:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 18:07:33] [INFO]   -> Found value: PCFR
[2026-03-09 18:07:33] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 18:07:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 18:07:33] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:33] [INFO]   -> Set field 'timedispatch' = "2026-03-09 13:06:58"
[2026-03-09 18:07:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 18:07:33] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 18:07:33] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 18:07:33] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:33] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 13:07:24"
[2026-03-09 18:07:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 18:07:33] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:33] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 13:07:24"
[2026-03-09 18:07:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 18:07:33] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 18:07:33] [INFO]   -> Found value: 20260025893
[2026-03-09 18:07:33] [INFO]   -> Set field 'policeReportNumber' = "20260025893"
[2026-03-09 18:07:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 18:07:33] [INFO]   -> Found value: [EMS] HASNT SMOKED POT IN A LONG TIME  [03/09/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING ...
[2026-03-09 18:07:33] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:33] [INFO]   -> Set field 'cADLog' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 18:07:33] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 18:07:33] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 18:07:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 18:07:33] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-09 18:07:33] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-09 18:07:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 18:07:33] [INFO]   -> Found value: RD
[2026-03-09 18:07:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 18:07:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 18:07:33] [INFO]   -> Found value: 1724 BURGESS SCHOOL RD
[2026-03-09 18:07:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1724 BURGESS SCHOOL RD"
[2026-03-09 18:07:33] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 18:07:33] [INFO] Concatenating street name and type
[2026-03-09 18:07:33] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-09 18:07:33] [INFO] Built locationCoordinates from lat/lng: 36.09544,-85.54545
[2026-03-09 18:07:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000645","dispatchRunNumber":"2026000645","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1724,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09544000000000352201823261566460132598876953125,"nERISIncidentLongitude":-85.5454500000000024328983272425830364227294921875,"alarm":"2026-03-09 13:06:21","dispatched":"2026-03-09 13:06:58","incidentLocationCross":"HILLTOP DR\/CARR FARM RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 13:06:58","timeunitclear":"2026-03-09 13:07:24","timecanceledenroute":"2026-03-09 13:07:24","policeReportNumber":"20260025893","dispatchNotes":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","cADLog":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"1724 BURGESS SCHOOL RD","locationCoordinates":"36.09544,-85.54545"}
[2026-03-09 18:07:33] [INFO] Number of extracted fields: 23
[2026-03-09 18:07:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 18:07:33] [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-09 18:07:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 18:07:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 18:07:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 18:07:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 18:07:34] [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-09 18:07:34] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 18:07:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 18:07:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 18:07:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 18:07:34] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-09 18:07:34] [INFO] Found existing Dispatch with cADNumber '2026000645', ID: 69af0c4627df1338a - will update instead of create
[2026-03-09 18:07:34] [INFO] Updated existing Dispatches record with ID: 69af0c4627df1338a
[2026-03-09 18:07:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025893_20260309_180731_1.XML
[2026-03-09 18:07:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180731_1.XML
[2026-03-09 18:07:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180734.XML
[2026-03-09 18:07:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180734.XML for user: 68f1466aed072ad4a
[2026-03-09 18:07:34] [INFO] File size: 6644 bytes
[2026-03-09 18:07:35] [INFO] Created FTPFiles record with ID: 69af0c670fe42ed20
[2026-03-09 18:07:35] [INFO] About to extract fields from XML. File size: 6644 bytes
[2026-03-09 18:07:35] [INFO] Number of mappings: 28
[2026-03-09 18:07:35] [INFO] Starting XML parsing. Content length: 6644
[2026-03-09 18:07:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 18:07:35] [INFO] Processing 28 field mappings
[2026-03-09 18:07:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 18:07:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 18:07:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 18:07:35] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 18:07:35] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 18:07:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 18:07:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 18:07:35] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 18:07:35] [INFO]   -> Found value: 2026000645
[2026-03-09 18:07:35] [INFO]   -> Set field 'incidentInternalId' = "2026000645"
[2026-03-09 18:07:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000645"
[2026-03-09 18:07:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 18:07:35] [INFO]   -> Found value: OVERDOSE
[2026-03-09 18:07:35] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-09 18:07:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 18:07:35] [INFO]   -> Found value: 1724
[2026-03-09 18:07:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1724
[2026-03-09 18:07:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 18:07:35] [INFO]   -> Found value: TN
[2026-03-09 18:07:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 18:07:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 18:07:35] [INFO]   -> Found value: 38506
[2026-03-09 18:07:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 18:07:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 18:07:35] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 18:07:35] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 18:07:35] [INFO]   -> Found value: 36.09544
[2026-03-09 18:07:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09544000000000352201823261566460132598876953125
[2026-03-09 18:07:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 18:07:35] [INFO]   -> Found value: -85.54545
[2026-03-09 18:07:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5454500000000024328983272425830364227294921875
[2026-03-09 18:07:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 18:07:35] [INFO]   -> Found value: 2026-03-09 13:06:21
[2026-03-09 18:07:35] [INFO]   -> Set field 'alarm' = "2026-03-09 13:06:21"
[2026-03-09 18:07:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 18:07:35] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:35] [INFO]   -> Set field 'dispatched' = "2026-03-09 13:06:58"
[2026-03-09 18:07:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 18:07:35] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 18:07:35] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 18:07:35] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 18:07:35] [INFO]   -> Found value: HILLTOP DR/CARR FARM RD
[2026-03-09 18:07:35] [INFO]   -> Set field 'incidentLocationCross' = "HILLTOP DR\/CARR FARM RD"
[2026-03-09 18:07:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 18:07:35] [INFO]   -> Found value: PCFR
[2026-03-09 18:07:35] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 18:07:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 18:07:35] [INFO]   -> Found value: 2026-03-09 13:06:58
[2026-03-09 18:07:35] [INFO]   -> Set field 'timedispatch' = "2026-03-09 13:06:58"
[2026-03-09 18:07:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 18:07:35] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 18:07:35] [INFO]   -> No value found (null or empty)
[2026-03-09 18:07:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 18:07:35] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:35] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 13:07:24"
[2026-03-09 18:07:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 18:07:35] [INFO]   -> Found value: 2026-03-09 13:07:24
[2026-03-09 18:07:35] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 13:07:24"
[2026-03-09 18:07:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 18:07:35] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 18:07:35] [INFO]   -> Found value: 20260025893
[2026-03-09 18:07:35] [INFO]   -> Set field 'policeReportNumber' = "20260025893"
[2026-03-09 18:07:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 18:07:35] [INFO]   -> Found value: [EMS] HASNT SMOKED POT IN A LONG TIME  [03/09/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING ...
[2026-03-09 18:07:35] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:35] [INFO]   -> Set field 'cADLog' = "[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]"
[2026-03-09 18:07:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 18:07:35] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 18:07:35] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 18:07:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 18:07:35] [INFO]   -> Found value: BURGESS SCHOOL
[2026-03-09 18:07:35] [INFO]   -> Set field 'streetName' = "BURGESS SCHOOL"
[2026-03-09 18:07:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 18:07:35] [INFO]   -> Found value: RD
[2026-03-09 18:07:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 18:07:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 18:07:35] [INFO]   -> Found value: 1724 BURGESS SCHOOL RD
[2026-03-09 18:07:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1724 BURGESS SCHOOL RD"
[2026-03-09 18:07:35] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 18:07:35] [INFO] Concatenating street name and type
[2026-03-09 18:07:35] [INFO]   -> Combined street name: BURGESS SCHOOL RD
[2026-03-09 18:07:35] [INFO] Built locationCoordinates from lat/lng: 36.09544,-85.54545
[2026-03-09 18:07:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000645","dispatchRunNumber":"2026000645","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":1724,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.09544000000000352201823261566460132598876953125,"nERISIncidentLongitude":-85.5454500000000024328983272425830364227294921875,"alarm":"2026-03-09 13:06:21","dispatched":"2026-03-09 13:06:58","incidentLocationCross":"HILLTOP DR\/CARR FARM RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 13:06:58","timeunitclear":"2026-03-09 13:07:24","timecanceledenroute":"2026-03-09 13:07:24","policeReportNumber":"20260025893","dispatchNotes":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","cADLog":"[EMS] HASNT SMOKED POT IN A LONG TIME  [03\/09\/26 13:07:17 MCLAYBURN2] [EMS] LAYING MOANING GRUNTING  [03\/09\/26 13:07:08 MCLAYBURN2] [EMS] EMS STAGE  [03\/09\/26 13:07:07 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 13:06:56 SBALLARD] [EMS] JOSHUA BARNES  [03\/09\/26 13:06:40 MCLAYBURN2] [EMS] STATED HE SMOKED POT  [03\/09\/26 13:06:30 MCLAYBURN2] Event spawned from OVERDOSE.  [03\/09\/2026 13:06:21 MCLAYBURN2] SON REQUESTING NARCAN  [03\/09\/26 13:06:14 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BURGESS SCHOOL RD","incidentAddressTextVersionStreet":"1724 BURGESS SCHOOL RD","locationCoordinates":"36.09544,-85.54545"}
[2026-03-09 18:07:35] [INFO] Number of extracted fields: 23
[2026-03-09 18:07:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 18:07:35] [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-09 18:07:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 18:07:35] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 18:07:35] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 18:07:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 18:07: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-09 18:07: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-09 18:07:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 18:07:35] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 18:07:35] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 18:07:35] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-09 18:07:35] [INFO] Found existing Dispatch with cADNumber '2026000645', ID: 69af0c4627df1338a - will update instead of create
[2026-03-09 18:07:35] [INFO] Updated existing Dispatches record with ID: 69af0c4627df1338a
[2026-03-09 18:07:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180734.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025893_20260309_180734.XML
[2026-03-09 18:07:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025893_20260309_180734.XML
[2026-03-09 19:10:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191058.XML
[2026-03-09 19:10:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191058.XML for user: 68f1466aed072ad4a
[2026-03-09 19:10:58] [INFO] File size: 4927 bytes
[2026-03-09 19:10:59] [INFO] Created FTPFiles record with ID: 69af1b434f6c5eed1
[2026-03-09 19:10:59] [INFO] About to extract fields from XML. File size: 4927 bytes
[2026-03-09 19:10:59] [INFO] Number of mappings: 28
[2026-03-09 19:10:59] [INFO] Starting XML parsing. Content length: 4927
[2026-03-09 19:10:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 19:10:59] [INFO] Processing 28 field mappings
[2026-03-09 19:10:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 19:10:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 19:10:59] [INFO]   -> Found value: AFD
[2026-03-09 19:10:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2026-03-09 19:10:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 19:10:59] [INFO]   -> Found value: 2026000098
[2026-03-09 19:10:59] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-09 19:10:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-09 19:10:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 19:10:59] [INFO]   -> Found value: FIRE ALARM
[2026-03-09 19:10:59] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-09 19:10:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 19:10:59] [INFO]   -> Found value: 278
[2026-03-09 19:10:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 278
[2026-03-09 19:10:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 19:10:59] [INFO]   -> Found value: TN
[2026-03-09 19:10:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 19:10:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 19:10:59] [INFO]   -> Found value: 38506
[2026-03-09 19:10:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 19:10:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 19:10:59] [INFO]   -> Found value: SIGNATURE HEALTHCARE
[2026-03-09 19:10:59] [INFO]   -> Set field 'businessName' = "SIGNATURE HEALTHCARE"
[2026-03-09 19:10:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 19:10:59] [INFO]   -> Found value: 36.18491
[2026-03-09 19:10:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18491000000000212821760214865207672119140625
[2026-03-09 19:10:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 19:10:59] [INFO]   -> Found value: -85.45000
[2026-03-09 19:10:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4500000000000028421709430404007434844970703125
[2026-03-09 19:10:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 19:10:59] [INFO]   -> Found value: 2026-03-09 14:09:30
[2026-03-09 19:10:59] [INFO]   -> Set field 'alarm' = "2026-03-09 14:09:30"
[2026-03-09 19:10:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 19:10:59] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:10:59] [INFO]   -> Set field 'dispatched' = "2026-03-09 14:10:53"
[2026-03-09 19:10:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 19:10:59] [INFO]   -> Found value: WILLIAMS CIR/ELM ST
[2026-03-09 19:10:59] [INFO]   -> Set field 'incidentLocationCross' = "WILLIAMS CIR\/ELM ST"
[2026-03-09 19:10:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 19:10:59] [INFO]   -> Found value: AEN1
[2026-03-09 19:10:59] [INFO]   -> Set field 'cADVehicleID' = "AEN1"
[2026-03-09 19:10:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 19:10:59] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:10:59] [INFO]   -> Set field 'timedispatch' = "2026-03-09 14:10:53"
[2026-03-09 19:10:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 19:10:59] [INFO]   -> No value found (null or empty)
[2026-03-09 19:10:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 19:10:59] [INFO]   -> Found value: 20260025917
[2026-03-09 19:10:59] [INFO]   -> Set field 'policeReportNumber' = "20260025917"
[2026-03-09 19:10:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 19:10:59] [INFO]   -> Found value: SMOKE DETECTOR DESCRIPTION M11654  [03/09/26 14:09:58 KHILL]]
[2026-03-09 19:10:59] [INFO]   -> Set field 'dispatchNotes' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:10:59] [INFO]   -> Set field 'cADLog' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:10:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 19:10:59] [INFO]   -> Found value: ALGOOD
[2026-03-09 19:10:59] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-09 19:10:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 19:10:59] [INFO]   -> Found value: DRY VALLEY
[2026-03-09 19:10:59] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-09 19:10:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 19:10:59] [INFO]   -> Found value: RD
[2026-03-09 19:10:59] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 19:10:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 19:10:59] [INFO]   -> Found value: 278 DRY VALLEY RD
[2026-03-09 19:10:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "278 DRY VALLEY RD"
[2026-03-09 19:10:59] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-09 19:10:59] [INFO] Concatenating street name and type
[2026-03-09 19:10:59] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-09 19:10:59] [INFO] Built locationCoordinates from lat/lng: 36.18491,-85.45
[2026-03-09 19:10:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":278,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"SIGNATURE HEALTHCARE","nERISIncidentLatitude":36.18491000000000212821760214865207672119140625,"nERISIncidentLongitude":-85.4500000000000028421709430404007434844970703125,"alarm":"2026-03-09 14:09:30","dispatched":"2026-03-09 14:10:53","incidentLocationCross":"WILLIAMS CIR\/ELM ST","cADVehicleID":"AEN1","timedispatch":"2026-03-09 14:10:53","policeReportNumber":"20260025917","dispatchNotes":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","cADLog":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"278 DRY VALLEY RD","locationCoordinates":"36.18491,-85.45"}
[2026-03-09 19:10:59] [INFO] Number of extracted fields: 22
[2026-03-09 19:10:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2026-03-09 19:10:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-09 19:10:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2026-03-09 19:10:59] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-09 19:10:59] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-09 19:10:59] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-09 19:10:59] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-09 19:10:59] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-09 19:11:00] [INFO] Found existing IncidentTypeMapping with ID: 6978e351e0f80c4f5
[2026-03-09 19:11:05] [INFO] Created new Dispatches record with ID: 69af1b4460a2715c3
[2026-03-09 19:11:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191058.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/AFD_20260025917_20260309_191058.XML
[2026-03-09 19:11:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191058.XML
[2026-03-09 19:11:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191111.XML
[2026-03-09 19:11:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191111.XML for user: 68f1466aed072ad4a
[2026-03-09 19:11:11] [INFO] File size: 4994 bytes
[2026-03-09 19:11:11] [INFO] Created FTPFiles record with ID: 69af1b4f5a5d71fc8
[2026-03-09 19:11:11] [INFO] About to extract fields from XML. File size: 4994 bytes
[2026-03-09 19:11:11] [INFO] Number of mappings: 28
[2026-03-09 19:11:11] [INFO] Starting XML parsing. Content length: 4994
[2026-03-09 19:11:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 19:11:11] [INFO] Processing 28 field mappings
[2026-03-09 19:11:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 19:11:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 19:11:11] [INFO]   -> Found value: AFD
[2026-03-09 19:11:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2026-03-09 19:11:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 19:11:11] [INFO]   -> Found value: 2026000098
[2026-03-09 19:11:11] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-09 19:11:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-09 19:11:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 19:11:11] [INFO]   -> Found value: FIRE ALARM
[2026-03-09 19:11:11] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-09 19:11:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 19:11:11] [INFO]   -> Found value: 278
[2026-03-09 19:11:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 278
[2026-03-09 19:11:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 19:11:11] [INFO]   -> Found value: TN
[2026-03-09 19:11:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 19:11:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 19:11:11] [INFO]   -> Found value: 38506
[2026-03-09 19:11:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 19:11:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 19:11:11] [INFO]   -> Found value: SIGNATURE HEALTHCARE
[2026-03-09 19:11:11] [INFO]   -> Set field 'businessName' = "SIGNATURE HEALTHCARE"
[2026-03-09 19:11:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 19:11:11] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 19:11:11] [INFO]   -> Found value: 36.18491
[2026-03-09 19:11:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18491000000000212821760214865207672119140625
[2026-03-09 19:11:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 19:11:11] [INFO]   -> Found value: -85.45000
[2026-03-09 19:11:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4500000000000028421709430404007434844970703125
[2026-03-09 19:11:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 19:11:11] [INFO]   -> Found value: 2026-03-09 14:09:30
[2026-03-09 19:11:11] [INFO]   -> Set field 'alarm' = "2026-03-09 14:09:30"
[2026-03-09 19:11:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 19:11:11] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:11] [INFO]   -> Set field 'dispatched' = "2026-03-09 14:10:53"
[2026-03-09 19:11:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 19:11:11] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:11] [INFO]   -> Set field 'enroute' = "2026-03-09 14:11:08"
[2026-03-09 19:11:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 19:11:11] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 19:11:11] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 19:11:11] [INFO]   -> Found value: WILLIAMS CIR/ELM ST
[2026-03-09 19:11:11] [INFO]   -> Set field 'incidentLocationCross' = "WILLIAMS CIR\/ELM ST"
[2026-03-09 19:11:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 19:11:11] [INFO]   -> Found value: AEN1
[2026-03-09 19:11:11] [INFO]   -> Set field 'cADVehicleID' = "AEN1"
[2026-03-09 19:11:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 19:11:11] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:11] [INFO]   -> Set field 'timedispatch' = "2026-03-09 14:10:53"
[2026-03-09 19:11:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 19:11:11] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 14:11:08"
[2026-03-09 19:11:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 19:11:11] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 19:11:11] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 19:11:11] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 19:11:11] [INFO]   -> Found value: 20260025917
[2026-03-09 19:11:11] [INFO]   -> Set field 'policeReportNumber' = "20260025917"
[2026-03-09 19:11:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 19:11:11] [INFO]   -> Found value: SMOKE DETECTOR DESCRIPTION M11654  [03/09/26 14:09:58 KHILL]]
[2026-03-09 19:11:11] [INFO]   -> Set field 'dispatchNotes' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:11] [INFO]   -> Set field 'cADLog' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 19:11:11] [INFO]   -> Found value: ALGOOD
[2026-03-09 19:11:11] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-09 19:11:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 19:11:11] [INFO]   -> Found value: DRY VALLEY
[2026-03-09 19:11:11] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-09 19:11:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 19:11:11] [INFO]   -> Found value: RD
[2026-03-09 19:11:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 19:11:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 19:11:11] [INFO]   -> Found value: 278 DRY VALLEY RD
[2026-03-09 19:11:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "278 DRY VALLEY RD"
[2026-03-09 19:11:11] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 19:11:11] [INFO] Concatenating street name and type
[2026-03-09 19:11:11] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-09 19:11:11] [INFO] Built locationCoordinates from lat/lng: 36.18491,-85.45
[2026-03-09 19:11:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":278,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"SIGNATURE HEALTHCARE","nERISIncidentLatitude":36.18491000000000212821760214865207672119140625,"nERISIncidentLongitude":-85.4500000000000028421709430404007434844970703125,"alarm":"2026-03-09 14:09:30","dispatched":"2026-03-09 14:10:53","enroute":"2026-03-09 14:11:08","incidentLocationCross":"WILLIAMS CIR\/ELM ST","cADVehicleID":"AEN1","timedispatch":"2026-03-09 14:10:53","timeenroutetoscene":"2026-03-09 14:11:08","policeReportNumber":"20260025917","dispatchNotes":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","cADLog":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"278 DRY VALLEY RD","locationCoordinates":"36.18491,-85.45"}
[2026-03-09 19:11:11] [INFO] Number of extracted fields: 24
[2026-03-09 19:11:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2026-03-09 19:11:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-09 19:11:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2026-03-09 19:11:11] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-09 19:11:11] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-09 19:11:11] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-09 19:11:11] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-09 19:11:11] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-09 19:11:12] [INFO] Found existing IncidentTypeMapping with ID: 6978e351e0f80c4f5
[2026-03-09 19:11:12] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69af1b4460a2715c3 - will update instead of create
[2026-03-09 19:11:12] [INFO] Updated existing Dispatches record with ID: 69af1b4460a2715c3
[2026-03-09 19:11:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191111.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/AFD_20260025917_20260309_191111.XML
[2026-03-09 19:11:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191111.XML
[2026-03-09 19:11:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191114.XML
[2026-03-09 19:11:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191114.XML for user: 68f1466aed072ad4a
[2026-03-09 19:11:14] [INFO] File size: 4994 bytes
[2026-03-09 19:11:14] [INFO] Created FTPFiles record with ID: 69af1b5286eea56c1
[2026-03-09 19:11:14] [INFO] About to extract fields from XML. File size: 4994 bytes
[2026-03-09 19:11:14] [INFO] Number of mappings: 28
[2026-03-09 19:11:14] [INFO] Starting XML parsing. Content length: 4994
[2026-03-09 19:11:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 19:11:14] [INFO] Processing 28 field mappings
[2026-03-09 19:11:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 19:11:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 19:11:14] [INFO]   -> Found value: AFD
[2026-03-09 19:11:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2026-03-09 19:11:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 19:11:14] [INFO]   -> Found value: 2026000098
[2026-03-09 19:11:14] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-09 19:11:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-09 19:11:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 19:11:14] [INFO]   -> Found value: FIRE ALARM
[2026-03-09 19:11:14] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-09 19:11:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 19:11:14] [INFO]   -> Found value: 278
[2026-03-09 19:11:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 278
[2026-03-09 19:11:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 19:11:14] [INFO]   -> Found value: TN
[2026-03-09 19:11:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 19:11:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 19:11:14] [INFO]   -> Found value: 38506
[2026-03-09 19:11:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 19:11:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 19:11:14] [INFO]   -> Found value: SIGNATURE HEALTHCARE
[2026-03-09 19:11:14] [INFO]   -> Set field 'businessName' = "SIGNATURE HEALTHCARE"
[2026-03-09 19:11:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 19:11:14] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 19:11:14] [INFO]   -> Found value: 36.18491
[2026-03-09 19:11:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18491000000000212821760214865207672119140625
[2026-03-09 19:11:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 19:11:14] [INFO]   -> Found value: -85.45000
[2026-03-09 19:11:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4500000000000028421709430404007434844970703125
[2026-03-09 19:11:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 19:11:14] [INFO]   -> Found value: 2026-03-09 14:09:30
[2026-03-09 19:11:14] [INFO]   -> Set field 'alarm' = "2026-03-09 14:09:30"
[2026-03-09 19:11:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 19:11:14] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:14] [INFO]   -> Set field 'dispatched' = "2026-03-09 14:10:53"
[2026-03-09 19:11:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 19:11:14] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:14] [INFO]   -> Set field 'enroute' = "2026-03-09 14:11:08"
[2026-03-09 19:11:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 19:11:14] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 19:11:14] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 19:11:14] [INFO]   -> Found value: WILLIAMS CIR/ELM ST
[2026-03-09 19:11:14] [INFO]   -> Set field 'incidentLocationCross' = "WILLIAMS CIR\/ELM ST"
[2026-03-09 19:11:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 19:11:14] [INFO]   -> Found value: AEN1
[2026-03-09 19:11:14] [INFO]   -> Set field 'cADVehicleID' = "AEN1"
[2026-03-09 19:11:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 19:11:14] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:14] [INFO]   -> Set field 'timedispatch' = "2026-03-09 14:10:53"
[2026-03-09 19:11:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 19:11:14] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 14:11:08"
[2026-03-09 19:11:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 19:11:14] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 19:11:14] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 19:11:14] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 19:11:14] [INFO]   -> Found value: 20260025917
[2026-03-09 19:11:14] [INFO]   -> Set field 'policeReportNumber' = "20260025917"
[2026-03-09 19:11:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 19:11:14] [INFO]   -> Found value: SMOKE DETECTOR DESCRIPTION M11654  [03/09/26 14:09:58 KHILL]]
[2026-03-09 19:11:14] [INFO]   -> Set field 'dispatchNotes' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:14] [INFO]   -> Set field 'cADLog' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 19:11:14] [INFO]   -> Found value: ALGOOD
[2026-03-09 19:11:14] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-09 19:11:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 19:11:14] [INFO]   -> Found value: DRY VALLEY
[2026-03-09 19:11:14] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-09 19:11:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 19:11:14] [INFO]   -> Found value: RD
[2026-03-09 19:11:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 19:11:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 19:11:14] [INFO]   -> Found value: 278 DRY VALLEY RD
[2026-03-09 19:11:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "278 DRY VALLEY RD"
[2026-03-09 19:11:14] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 19:11:14] [INFO] Concatenating street name and type
[2026-03-09 19:11:14] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-09 19:11:14] [INFO] Built locationCoordinates from lat/lng: 36.18491,-85.45
[2026-03-09 19:11:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":278,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"SIGNATURE HEALTHCARE","nERISIncidentLatitude":36.18491000000000212821760214865207672119140625,"nERISIncidentLongitude":-85.4500000000000028421709430404007434844970703125,"alarm":"2026-03-09 14:09:30","dispatched":"2026-03-09 14:10:53","enroute":"2026-03-09 14:11:08","incidentLocationCross":"WILLIAMS CIR\/ELM ST","cADVehicleID":"AEN1","timedispatch":"2026-03-09 14:10:53","timeenroutetoscene":"2026-03-09 14:11:08","policeReportNumber":"20260025917","dispatchNotes":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","cADLog":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"278 DRY VALLEY RD","locationCoordinates":"36.18491,-85.45"}
[2026-03-09 19:11:14] [INFO] Number of extracted fields: 24
[2026-03-09 19:11:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2026-03-09 19:11:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-09 19:11:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2026-03-09 19:11:14] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-09 19:11:14] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-09 19:11:14] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-09 19:11:14] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-09 19:11:15] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-09 19:11:15] [INFO] Found existing IncidentTypeMapping with ID: 6978e351e0f80c4f5
[2026-03-09 19:11:15] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69af1b4460a2715c3 - will update instead of create
[2026-03-09 19:11:15] [INFO] Updated existing Dispatches record with ID: 69af1b4460a2715c3
[2026-03-09 19:11:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191114.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/AFD_20260025917_20260309_191114.XML
[2026-03-09 19:11:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191114.XML
[2026-03-09 19:11:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191119.XML
[2026-03-09 19:11:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191119.XML for user: 68f1466aed072ad4a
[2026-03-09 19:11:19] [INFO] File size: 4994 bytes
[2026-03-09 19:11:20] [INFO] Created FTPFiles record with ID: 69af1b5825766e00f
[2026-03-09 19:11:20] [INFO] About to extract fields from XML. File size: 4994 bytes
[2026-03-09 19:11:20] [INFO] Number of mappings: 28
[2026-03-09 19:11:20] [INFO] Starting XML parsing. Content length: 4994
[2026-03-09 19:11:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 19:11:20] [INFO] Processing 28 field mappings
[2026-03-09 19:11:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 19:11:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 19:11:20] [INFO]   -> Found value: AFD
[2026-03-09 19:11:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2026-03-09 19:11:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 19:11:20] [INFO]   -> Found value: 2026000098
[2026-03-09 19:11:20] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-09 19:11:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-09 19:11:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 19:11:20] [INFO]   -> Found value: FIRE ALARM
[2026-03-09 19:11:20] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-09 19:11:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 19:11:20] [INFO]   -> Found value: 278
[2026-03-09 19:11:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 278
[2026-03-09 19:11:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 19:11:20] [INFO]   -> Found value: TN
[2026-03-09 19:11:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 19:11:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 19:11:20] [INFO]   -> Found value: 38506
[2026-03-09 19:11:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 19:11:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 19:11:20] [INFO]   -> Found value: SIGNATURE HEALTHCARE
[2026-03-09 19:11:20] [INFO]   -> Set field 'businessName' = "SIGNATURE HEALTHCARE"
[2026-03-09 19:11:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 19:11:20] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 19:11:20] [INFO]   -> Found value: 36.18491
[2026-03-09 19:11:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18491000000000212821760214865207672119140625
[2026-03-09 19:11:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 19:11:20] [INFO]   -> Found value: -85.45000
[2026-03-09 19:11:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4500000000000028421709430404007434844970703125
[2026-03-09 19:11:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 19:11:20] [INFO]   -> Found value: 2026-03-09 14:09:30
[2026-03-09 19:11:20] [INFO]   -> Set field 'alarm' = "2026-03-09 14:09:30"
[2026-03-09 19:11:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 19:11:20] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:20] [INFO]   -> Set field 'dispatched' = "2026-03-09 14:10:53"
[2026-03-09 19:11:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 19:11:20] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:20] [INFO]   -> Set field 'enroute' = "2026-03-09 14:11:08"
[2026-03-09 19:11:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 19:11:20] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 19:11:20] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 19:11:20] [INFO]   -> Found value: WILLIAMS CIR/ELM ST
[2026-03-09 19:11:20] [INFO]   -> Set field 'incidentLocationCross' = "WILLIAMS CIR\/ELM ST"
[2026-03-09 19:11:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 19:11:20] [INFO]   -> Found value: AEN1
[2026-03-09 19:11:20] [INFO]   -> Set field 'cADVehicleID' = "AEN1"
[2026-03-09 19:11:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 19:11:20] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:20] [INFO]   -> Set field 'timedispatch' = "2026-03-09 14:10:53"
[2026-03-09 19:11:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 19:11:20] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 14:11:08"
[2026-03-09 19:11:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 19:11:20] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 19:11:20] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 19:11:20] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 19:11:20] [INFO]   -> Found value: 20260025917
[2026-03-09 19:11:20] [INFO]   -> Set field 'policeReportNumber' = "20260025917"
[2026-03-09 19:11:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 19:11:20] [INFO]   -> Found value: SMOKE DETECTOR DESCRIPTION M11654  [03/09/26 14:09:58 KHILL]]
[2026-03-09 19:11:20] [INFO]   -> Set field 'dispatchNotes' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:20] [INFO]   -> Set field 'cADLog' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 19:11:20] [INFO]   -> Found value: ALGOOD
[2026-03-09 19:11:20] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-09 19:11:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 19:11:20] [INFO]   -> Found value: DRY VALLEY
[2026-03-09 19:11:20] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-09 19:11:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 19:11:20] [INFO]   -> Found value: RD
[2026-03-09 19:11:20] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 19:11:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 19:11:20] [INFO]   -> Found value: 278 DRY VALLEY RD
[2026-03-09 19:11:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "278 DRY VALLEY RD"
[2026-03-09 19:11:20] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 19:11:20] [INFO] Concatenating street name and type
[2026-03-09 19:11:20] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-09 19:11:20] [INFO] Built locationCoordinates from lat/lng: 36.18491,-85.45
[2026-03-09 19:11:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":278,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"SIGNATURE HEALTHCARE","nERISIncidentLatitude":36.18491000000000212821760214865207672119140625,"nERISIncidentLongitude":-85.4500000000000028421709430404007434844970703125,"alarm":"2026-03-09 14:09:30","dispatched":"2026-03-09 14:10:53","enroute":"2026-03-09 14:11:08","incidentLocationCross":"WILLIAMS CIR\/ELM ST","cADVehicleID":"AEN1","timedispatch":"2026-03-09 14:10:53","timeenroutetoscene":"2026-03-09 14:11:08","policeReportNumber":"20260025917","dispatchNotes":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","cADLog":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"278 DRY VALLEY RD","locationCoordinates":"36.18491,-85.45"}
[2026-03-09 19:11:20] [INFO] Number of extracted fields: 24
[2026-03-09 19:11:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2026-03-09 19:11:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-09 19:11:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2026-03-09 19:11:20] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-09 19:11:20] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-09 19:11:20] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-09 19:11:20] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-09 19:11:20] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-09 19:11:20] [INFO] Found existing IncidentTypeMapping with ID: 6978e351e0f80c4f5
[2026-03-09 19:11:21] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69af1b4460a2715c3 - will update instead of create
[2026-03-09 19:11:21] [INFO] Updated existing Dispatches record with ID: 69af1b4460a2715c3
[2026-03-09 19:11:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191119.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/AFD_20260025917_20260309_191119.XML
[2026-03-09 19:11:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191119.XML
[2026-03-09 19:11:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191120.XML
[2026-03-09 19:11:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191120.XML for user: 68f1466aed072ad4a
[2026-03-09 19:11:21] [INFO] File size: 4994 bytes
[2026-03-09 19:11:21] [INFO] Created FTPFiles record with ID: 69af1b598aeceff25
[2026-03-09 19:11:21] [INFO] About to extract fields from XML. File size: 4994 bytes
[2026-03-09 19:11:21] [INFO] Number of mappings: 28
[2026-03-09 19:11:21] [INFO] Starting XML parsing. Content length: 4994
[2026-03-09 19:11:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 19:11:21] [INFO] Processing 28 field mappings
[2026-03-09 19:11:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 19:11:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 19:11:21] [INFO]   -> Found value: AFD
[2026-03-09 19:11:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2026-03-09 19:11:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 19:11:21] [INFO]   -> Found value: 2026000098
[2026-03-09 19:11:21] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-09 19:11:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-09 19:11:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 19:11:21] [INFO]   -> Found value: FIRE ALARM
[2026-03-09 19:11:21] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-09 19:11:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 19:11:21] [INFO]   -> Found value: 278
[2026-03-09 19:11:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 278
[2026-03-09 19:11:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 19:11:21] [INFO]   -> Found value: TN
[2026-03-09 19:11:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 19:11:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 19:11:21] [INFO]   -> Found value: 38506
[2026-03-09 19:11:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 19:11:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 19:11:21] [INFO]   -> Found value: SIGNATURE HEALTHCARE
[2026-03-09 19:11:21] [INFO]   -> Set field 'businessName' = "SIGNATURE HEALTHCARE"
[2026-03-09 19:11:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 19:11:21] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 19:11:21] [INFO]   -> Found value: 36.18491
[2026-03-09 19:11:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18491000000000212821760214865207672119140625
[2026-03-09 19:11:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 19:11:21] [INFO]   -> Found value: -85.45000
[2026-03-09 19:11:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4500000000000028421709430404007434844970703125
[2026-03-09 19:11:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 19:11:21] [INFO]   -> Found value: 2026-03-09 14:09:30
[2026-03-09 19:11:21] [INFO]   -> Set field 'alarm' = "2026-03-09 14:09:30"
[2026-03-09 19:11:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 19:11:21] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:21] [INFO]   -> Set field 'dispatched' = "2026-03-09 14:10:53"
[2026-03-09 19:11:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 19:11:21] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:21] [INFO]   -> Set field 'enroute' = "2026-03-09 14:11:08"
[2026-03-09 19:11:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 19:11:21] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 19:11:21] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 19:11:21] [INFO]   -> Found value: WILLIAMS CIR/ELM ST
[2026-03-09 19:11:21] [INFO]   -> Set field 'incidentLocationCross' = "WILLIAMS CIR\/ELM ST"
[2026-03-09 19:11:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 19:11:21] [INFO]   -> Found value: AEN1
[2026-03-09 19:11:21] [INFO]   -> Set field 'cADVehicleID' = "AEN1"
[2026-03-09 19:11:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 19:11:21] [INFO]   -> Found value: 2026-03-09 14:10:53
[2026-03-09 19:11:21] [INFO]   -> Set field 'timedispatch' = "2026-03-09 14:10:53"
[2026-03-09 19:11:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 19:11:21] [INFO]   -> Found value: 2026-03-09 14:11:08
[2026-03-09 19:11:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 14:11:08"
[2026-03-09 19:11:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 19:11:21] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 19:11:21] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 19:11:21] [INFO]   -> No value found (null or empty)
[2026-03-09 19:11:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 19:11:21] [INFO]   -> Found value: 20260025917
[2026-03-09 19:11:21] [INFO]   -> Set field 'policeReportNumber' = "20260025917"
[2026-03-09 19:11:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 19:11:21] [INFO]   -> Found value: SMOKE DETECTOR DESCRIPTION M11654  [03/09/26 14:09:58 KHILL]]
[2026-03-09 19:11:21] [INFO]   -> Set field 'dispatchNotes' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:21] [INFO]   -> Set field 'cADLog' = "SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]"
[2026-03-09 19:11:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 19:11:21] [INFO]   -> Found value: ALGOOD
[2026-03-09 19:11:21] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-09 19:11:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 19:11:21] [INFO]   -> Found value: DRY VALLEY
[2026-03-09 19:11:21] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-09 19:11:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 19:11:21] [INFO]   -> Found value: RD
[2026-03-09 19:11:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 19:11:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 19:11:21] [INFO]   -> Found value: 278 DRY VALLEY RD
[2026-03-09 19:11:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "278 DRY VALLEY RD"
[2026-03-09 19:11:21] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 19:11:21] [INFO] Concatenating street name and type
[2026-03-09 19:11:21] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-09 19:11:21] [INFO] Built locationCoordinates from lat/lng: 36.18491,-85.45
[2026-03-09 19:11:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":278,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"SIGNATURE HEALTHCARE","nERISIncidentLatitude":36.18491000000000212821760214865207672119140625,"nERISIncidentLongitude":-85.4500000000000028421709430404007434844970703125,"alarm":"2026-03-09 14:09:30","dispatched":"2026-03-09 14:10:53","enroute":"2026-03-09 14:11:08","incidentLocationCross":"WILLIAMS CIR\/ELM ST","cADVehicleID":"AEN1","timedispatch":"2026-03-09 14:10:53","timeenroutetoscene":"2026-03-09 14:11:08","policeReportNumber":"20260025917","dispatchNotes":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","cADLog":"SMOKE DETECTOR DESCRIPTION M11654  [03\/09\/26 14:09:58 KHILL]]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"278 DRY VALLEY RD","locationCoordinates":"36.18491,-85.45"}
[2026-03-09 19:11:21] [INFO] Number of extracted fields: 24
[2026-03-09 19:11:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2026-03-09 19:11:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-09 19:11:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2026-03-09 19:11:21] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-09 19:11:21] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-09 19:11:21] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-09 19:11:21] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-09 19:11:22] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-09 19:11:22] [INFO] Found existing IncidentTypeMapping with ID: 6978e351e0f80c4f5
[2026-03-09 19:11:22] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69af1b4460a2715c3 - will update instead of create
[2026-03-09 19:11:22] [INFO] Updated existing Dispatches record with ID: 69af1b4460a2715c3
[2026-03-09 19:11:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191120.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/AFD_20260025917_20260309_191120.XML
[2026-03-09 19:11:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260025917_20260309_191120.XML
[2026-03-09 20:43:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204321.XML
[2026-03-09 20:43:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204321.XML for user: 68f1466aed072ad4a
[2026-03-09 20:43:21] [INFO] File size: 5959 bytes
[2026-03-09 20:43:21] [INFO] Created FTPFiles record with ID: 69af30e9eaa717318
[2026-03-09 20:43:21] [INFO] About to extract fields from XML. File size: 5959 bytes
[2026-03-09 20:43:21] [INFO] Number of mappings: 28
[2026-03-09 20:43:21] [INFO] Starting XML parsing. Content length: 5959
[2026-03-09 20:43:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:43:21] [INFO] Processing 28 field mappings
[2026-03-09 20:43:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:43:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:43:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:43:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 20:43:21] [INFO]   -> Found value: PCFD
PCSO
EMS
BPD
[2026-03-09 20:43:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nBPD"
[2026-03-09 20:43:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:43:21] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:43:21] [INFO]   -> Found value: 2026000646
[2026-03-09 20:43:21] [INFO]   -> Set field 'incidentInternalId' = "2026000646"
[2026-03-09 20:43:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000646"
[2026-03-09 20:43:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:43:21] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:43:21] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:43:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:43:21] [INFO]   -> Found value: 5946
[2026-03-09 20:43:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:43:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:43:21] [INFO]   -> Found value: TN
[2026-03-09 20:43:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:43:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:43:21] [INFO]   -> Found value: 38544
[2026-03-09 20:43:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:43:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:43:21] [INFO]   -> Found value: 36.17060
[2026-03-09 20:43:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:43:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:43:21] [INFO]   -> Found value: -85.61945
[2026-03-09 20:43:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:43:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:43:21] [INFO]   -> Found value: 2026-03-09 15:41:04
[2026-03-09 20:43:21] [INFO]   -> Set field 'alarm' = "2026-03-09 15:41:04"
[2026-03-09 20:43:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:43:21] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:43:21] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:43:19"
[2026-03-09 20:43:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:43:21] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:43:21] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:43:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:43:21] [INFO]   -> Found value: TK31
[2026-03-09 20:43:21] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-09 20:43:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:43:21] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:43:21] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:43:19"
[2026-03-09 20:43:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:43:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:43:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:43:21] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:43:21] [INFO]   -> Found value: 20260025980
[2026-03-09 20:43:21] [INFO]   -> Set field 'policeReportNumber' = "20260025980"
[2026-03-09 20:43:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:43:21] [INFO]   -> Found value: [EMS] SEND FIRE FOR OIL IN THE ROAD  [03/09/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03/09/2...
[2026-03-09 20:43:21] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:43:21] [INFO]   -> Set field 'cADLog' = "[EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:43:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:43:21] [INFO]   -> Found value: BAXTER
[2026-03-09 20:43:21] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:43:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:43:21] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:43:21] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:43:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:43:21] [INFO]   -> Found value: HWY
[2026-03-09 20:43:21] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:43:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:43:21] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:43:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:43:21] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 20:43:21] [INFO] Concatenating street name and type
[2026-03-09 20:43:21] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:43:21] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:43:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nBPD","incidentInternalId":"2026000646","dispatchRunNumber":"2026000646","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:41:04","dispatched":"2026-03-09 15:43:19","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"TK31","timedispatch":"2026-03-09 15:43:19","policeReportNumber":"20260025980","dispatchNotes":"[EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"[EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:43:21] [INFO] Number of extracted fields: 21
[2026-03-09 20:43:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
BPD'
[2026-03-09 20:43:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
BPD', Parsed IDs = ["PCFD","PCSO","EMS","BPD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 20:43:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","BPD"]
[2026-03-09 20:43:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:43:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 20:43:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","BPD"]
[2026-03-09 20:43:22] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 20:43:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 20:43:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 20:43:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 20:43:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 20:43:22] [INFO] Found existing IncidentTypeMapping with ID: 69822cb9939b62803
[2026-03-09 20:43:31] [INFO] Created new Dispatches record with ID: 69af30eacfeae47ee
[2026-03-09 20:43:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204321.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025980_20260309_204321.XML
[2026-03-09 20:43:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204321.XML
[2026-03-09 20:44:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204449.XML
[2026-03-09 20:44:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204449.XML for user: 68f1466aed072ad4a
[2026-03-09 20:44:49] [INFO] File size: 6134 bytes
[2026-03-09 20:44:50] [INFO] Created FTPFiles record with ID: 69af31421a7fd2e99
[2026-03-09 20:44:50] [INFO] About to extract fields from XML. File size: 6134 bytes
[2026-03-09 20:44:50] [INFO] Number of mappings: 28
[2026-03-09 20:44:50] [INFO] Starting XML parsing. Content length: 6134
[2026-03-09 20:44:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:44:50] [INFO] Processing 28 field mappings
[2026-03-09 20:44:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:44:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:44:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:44:50] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 20:44:50] [INFO]   -> Found value: PCFD
PCSO
EMS
BPD
[2026-03-09 20:44:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nBPD"
[2026-03-09 20:44:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:44:50] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:44:50] [INFO]   -> Found value: 2026000646
[2026-03-09 20:44:50] [INFO]   -> Set field 'incidentInternalId' = "2026000646"
[2026-03-09 20:44:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000646"
[2026-03-09 20:44:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:44:50] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:44:50] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:44:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:44:50] [INFO]   -> Found value: 5946
[2026-03-09 20:44:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:44:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:44:50] [INFO]   -> Found value: TN
[2026-03-09 20:44:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:44:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:44:50] [INFO]   -> Found value: 38544
[2026-03-09 20:44:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:44:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:44:50] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:44:50] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:44:50] [INFO]   -> Found value: 36.17060
[2026-03-09 20:44:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:44:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:44:50] [INFO]   -> Found value: -85.61945
[2026-03-09 20:44:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:44:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:44:50] [INFO]   -> Found value: 2026-03-09 15:41:04
[2026-03-09 20:44:50] [INFO]   -> Set field 'alarm' = "2026-03-09 15:41:04"
[2026-03-09 20:44:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:44:50] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:50] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:43:19"
[2026-03-09 20:44:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:44:50] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:50] [INFO]   -> Set field 'enroute' = "2026-03-09 15:44:41"
[2026-03-09 20:44:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:44:50] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:44:50] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:44:50] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:44:50] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:44:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:44:50] [INFO]   -> Found value: TK31
[2026-03-09 20:44:50] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-09 20:44:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:44:50] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:50] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:43:19"
[2026-03-09 20:44:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:44:50] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:50] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:44:41"
[2026-03-09 20:44:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:44:50] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:44:50] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:44:50] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:44:50] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:44:50] [INFO]   -> Found value: 20260025980
[2026-03-09 20:44:50] [INFO]   -> Set field 'policeReportNumber' = "20260025980"
[2026-03-09 20:44:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:44:50] [INFO]   -> Found value: PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03/09/26 15:44:36 MCLA...
[2026-03-09 20:44:50] [INFO]   -> Set field 'dispatchNotes' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:50] [INFO]   -> Set field 'cADLog' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:44:50] [INFO]   -> Found value: BAXTER
[2026-03-09 20:44:50] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:44:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:44:50] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:44:50] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:44:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:44:50] [INFO]   -> Found value: HWY
[2026-03-09 20:44:50] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:44:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:44:50] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:44:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:44:50] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:44:50] [INFO] Concatenating street name and type
[2026-03-09 20:44:50] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:44:50] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:44:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nBPD","incidentInternalId":"2026000646","dispatchRunNumber":"2026000646","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:41:04","dispatched":"2026-03-09 15:43:19","enroute":"2026-03-09 15:44:41","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"TK31","timedispatch":"2026-03-09 15:43:19","timeenroutetoscene":"2026-03-09 15:44:41","policeReportNumber":"20260025980","dispatchNotes":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:44:50] [INFO] Number of extracted fields: 23
[2026-03-09 20:44:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
BPD'
[2026-03-09 20:44:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
BPD', Parsed IDs = ["PCFD","PCSO","EMS","BPD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 20:44:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","BPD"]
[2026-03-09 20:44:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:44:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 20:44:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","BPD"]
[2026-03-09 20:44: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-09 20:44: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-09 20:44:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 20:44:50] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 20:44:50] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 20:44:50] [INFO] Found existing IncidentTypeMapping with ID: 69822cb9939b62803
[2026-03-09 20:44:50] [INFO] Found existing Dispatch with cADNumber '2026000646', ID: 69af30eacfeae47ee - will update instead of create
[2026-03-09 20:44:51] [INFO] Updated existing Dispatches record with ID: 69af30eacfeae47ee
[2026-03-09 20:44:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204449.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025980_20260309_204449.XML
[2026-03-09 20:44:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204449.XML
[2026-03-09 20:44:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450.XML
[2026-03-09 20:44:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450.XML for user: 68f1466aed072ad4a
[2026-03-09 20:44:51] [INFO] File size: 6134 bytes
[2026-03-09 20:44:51] [INFO] Created FTPFiles record with ID: 69af31435608cccaa
[2026-03-09 20:44:51] [INFO] About to extract fields from XML. File size: 6134 bytes
[2026-03-09 20:44:51] [INFO] Number of mappings: 28
[2026-03-09 20:44:51] [INFO] Starting XML parsing. Content length: 6134
[2026-03-09 20:44:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:44:51] [INFO] Processing 28 field mappings
[2026-03-09 20:44:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:44:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:44:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:44:51] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 20:44:51] [INFO]   -> Found value: PCFD
PCSO
EMS
BPD
[2026-03-09 20:44:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nBPD"
[2026-03-09 20:44:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:44:51] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:44:51] [INFO]   -> Found value: 2026000646
[2026-03-09 20:44:51] [INFO]   -> Set field 'incidentInternalId' = "2026000646"
[2026-03-09 20:44:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000646"
[2026-03-09 20:44:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:44:51] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:44:51] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:44:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:44:51] [INFO]   -> Found value: 5946
[2026-03-09 20:44:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:44:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:44:51] [INFO]   -> Found value: TN
[2026-03-09 20:44:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:44:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:44:51] [INFO]   -> Found value: 38544
[2026-03-09 20:44:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:44:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:44:51] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:44:51] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:44:51] [INFO]   -> Found value: 36.17060
[2026-03-09 20:44:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:44:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:44:51] [INFO]   -> Found value: -85.61945
[2026-03-09 20:44:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:44:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:44:51] [INFO]   -> Found value: 2026-03-09 15:41:04
[2026-03-09 20:44:51] [INFO]   -> Set field 'alarm' = "2026-03-09 15:41:04"
[2026-03-09 20:44:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:44:51] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:51] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:43:19"
[2026-03-09 20:44:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:44:51] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:51] [INFO]   -> Set field 'enroute' = "2026-03-09 15:44:41"
[2026-03-09 20:44:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:44:51] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:44:51] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:44:51] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:44:51] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:44:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:44:51] [INFO]   -> Found value: TK31
[2026-03-09 20:44:51] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-09 20:44:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:44:51] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:51] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:43:19"
[2026-03-09 20:44:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:44:51] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:51] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:44:41"
[2026-03-09 20:44:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:44:51] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:44:51] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:44:51] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:44:51] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:44:51] [INFO]   -> Found value: 20260025980
[2026-03-09 20:44:51] [INFO]   -> Set field 'policeReportNumber' = "20260025980"
[2026-03-09 20:44:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:44:51] [INFO]   -> Found value: PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03/09/26 15:44:36 MCLA...
[2026-03-09 20:44:51] [INFO]   -> Set field 'dispatchNotes' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:51] [INFO]   -> Set field 'cADLog' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:44:51] [INFO]   -> Found value: BAXTER
[2026-03-09 20:44:51] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:44:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:44:51] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:44:51] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:44:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:44:51] [INFO]   -> Found value: HWY
[2026-03-09 20:44:51] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:44:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:44:51] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:44:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:44:51] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:44:51] [INFO] Concatenating street name and type
[2026-03-09 20:44:51] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:44:51] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:44:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nBPD","incidentInternalId":"2026000646","dispatchRunNumber":"2026000646","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:41:04","dispatched":"2026-03-09 15:43:19","enroute":"2026-03-09 15:44:41","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"TK31","timedispatch":"2026-03-09 15:43:19","timeenroutetoscene":"2026-03-09 15:44:41","policeReportNumber":"20260025980","dispatchNotes":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:44:51] [INFO] Number of extracted fields: 23
[2026-03-09 20:44:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
BPD'
[2026-03-09 20:44:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
BPD', Parsed IDs = ["PCFD","PCSO","EMS","BPD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 20:44:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","BPD"]
[2026-03-09 20:44:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:44:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 20:44:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","BPD"]
[2026-03-09 20:44:51] [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-09 20:44:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 20:44:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 20:44:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 20:44:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 20:44:51] [INFO] Found existing IncidentTypeMapping with ID: 69822cb9939b62803
[2026-03-09 20:44:52] [INFO] Found existing Dispatch with cADNumber '2026000646', ID: 69af30eacfeae47ee - will update instead of create
[2026-03-09 20:44:52] [INFO] Updated existing Dispatches record with ID: 69af30eacfeae47ee
[2026-03-09 20:44:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025980_20260309_204450.XML
[2026-03-09 20:44:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450.XML
[2026-03-09 20:44:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450_1.XML
[2026-03-09 20:44:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450_1.XML for user: 68f1466aed072ad4a
[2026-03-09 20:44:52] [INFO] File size: 6134 bytes
[2026-03-09 20:44:52] [INFO] Created FTPFiles record with ID: 69af3144962ed1505
[2026-03-09 20:44:52] [INFO] About to extract fields from XML. File size: 6134 bytes
[2026-03-09 20:44:52] [INFO] Number of mappings: 28
[2026-03-09 20:44:52] [INFO] Starting XML parsing. Content length: 6134
[2026-03-09 20:44:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:44:52] [INFO] Processing 28 field mappings
[2026-03-09 20:44:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:44:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:44:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:44:52] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 20:44:52] [INFO]   -> Found value: PCFD
PCSO
EMS
BPD
[2026-03-09 20:44:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nBPD"
[2026-03-09 20:44:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:44:52] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:44:52] [INFO]   -> Found value: 2026000646
[2026-03-09 20:44:52] [INFO]   -> Set field 'incidentInternalId' = "2026000646"
[2026-03-09 20:44:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000646"
[2026-03-09 20:44:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:44:52] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:44:52] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:44:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:44:52] [INFO]   -> Found value: 5946
[2026-03-09 20:44:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:44:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:44:52] [INFO]   -> Found value: TN
[2026-03-09 20:44:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:44:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:44:52] [INFO]   -> Found value: 38544
[2026-03-09 20:44:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:44:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:44:52] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:44:52] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:44:52] [INFO]   -> Found value: 36.17060
[2026-03-09 20:44:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:44:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:44:52] [INFO]   -> Found value: -85.61945
[2026-03-09 20:44:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:44:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:44:52] [INFO]   -> Found value: 2026-03-09 15:41:04
[2026-03-09 20:44:52] [INFO]   -> Set field 'alarm' = "2026-03-09 15:41:04"
[2026-03-09 20:44:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:44:52] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:52] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:43:19"
[2026-03-09 20:44:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:44:52] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:52] [INFO]   -> Set field 'enroute' = "2026-03-09 15:44:41"
[2026-03-09 20:44:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:44:52] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:44:52] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:44:52] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:44:52] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:44:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:44:52] [INFO]   -> Found value: TK31
[2026-03-09 20:44:52] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-09 20:44:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:44:52] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:52] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:43:19"
[2026-03-09 20:44:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:44:52] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:44:41"
[2026-03-09 20:44:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:44:52] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:44:52] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:44:52] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:44:52] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:44:52] [INFO]   -> Found value: 20260025980
[2026-03-09 20:44:52] [INFO]   -> Set field 'policeReportNumber' = "20260025980"
[2026-03-09 20:44:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:44:52] [INFO]   -> Found value: PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03/09/26 15:44:36 MCLA...
[2026-03-09 20:44:52] [INFO]   -> Set field 'dispatchNotes' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:52] [INFO]   -> Set field 'cADLog' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:44:52] [INFO]   -> Found value: BAXTER
[2026-03-09 20:44:52] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:44:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:44:52] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:44:52] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:44:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:44:52] [INFO]   -> Found value: HWY
[2026-03-09 20:44:52] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:44:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:44:52] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:44:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:44:52] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:44:52] [INFO] Concatenating street name and type
[2026-03-09 20:44:52] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:44:52] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:44:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nBPD","incidentInternalId":"2026000646","dispatchRunNumber":"2026000646","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:41:04","dispatched":"2026-03-09 15:43:19","enroute":"2026-03-09 15:44:41","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"TK31","timedispatch":"2026-03-09 15:43:19","timeenroutetoscene":"2026-03-09 15:44:41","policeReportNumber":"20260025980","dispatchNotes":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:44:52] [INFO] Number of extracted fields: 23
[2026-03-09 20:44:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
BPD'
[2026-03-09 20:44:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
BPD', Parsed IDs = ["PCFD","PCSO","EMS","BPD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 20:44:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","BPD"]
[2026-03-09 20:44:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:44:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 20:44:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","BPD"]
[2026-03-09 20:44:52] [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-09 20:44:52] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 20:44:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 20:44:52] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 20:44:52] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 20:44:53] [INFO] Found existing IncidentTypeMapping with ID: 69822cb9939b62803
[2026-03-09 20:44:53] [INFO] Found existing Dispatch with cADNumber '2026000646', ID: 69af30eacfeae47ee - will update instead of create
[2026-03-09 20:44:53] [INFO] Updated existing Dispatches record with ID: 69af30eacfeae47ee
[2026-03-09 20:44:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025980_20260309_204450_1.XML
[2026-03-09 20:44:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204450_1.XML
[2026-03-09 20:44:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204454.XML
[2026-03-09 20:44:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204454.XML for user: 68f1466aed072ad4a
[2026-03-09 20:44:54] [INFO] File size: 6134 bytes
[2026-03-09 20:44:55] [INFO] Created FTPFiles record with ID: 69af3146f01467f37
[2026-03-09 20:44:55] [INFO] About to extract fields from XML. File size: 6134 bytes
[2026-03-09 20:44:55] [INFO] Number of mappings: 28
[2026-03-09 20:44:55] [INFO] Starting XML parsing. Content length: 6134
[2026-03-09 20:44:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:44:55] [INFO] Processing 28 field mappings
[2026-03-09 20:44:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:44:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:44:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:44:55] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 20:44:55] [INFO]   -> Found value: PCFD
PCSO
EMS
BPD
[2026-03-09 20:44:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nBPD"
[2026-03-09 20:44:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:44:55] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:44:55] [INFO]   -> Found value: 2026000646
[2026-03-09 20:44:55] [INFO]   -> Set field 'incidentInternalId' = "2026000646"
[2026-03-09 20:44:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000646"
[2026-03-09 20:44:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:44:55] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:44:55] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:44:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:44:55] [INFO]   -> Found value: 5946
[2026-03-09 20:44:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:44:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:44:55] [INFO]   -> Found value: TN
[2026-03-09 20:44:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:44:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:44:55] [INFO]   -> Found value: 38544
[2026-03-09 20:44:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:44:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:44:55] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:44:55] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:44:55] [INFO]   -> Found value: 36.17060
[2026-03-09 20:44:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:44:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:44:55] [INFO]   -> Found value: -85.61945
[2026-03-09 20:44:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:44:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:44:55] [INFO]   -> Found value: 2026-03-09 15:41:04
[2026-03-09 20:44:55] [INFO]   -> Set field 'alarm' = "2026-03-09 15:41:04"
[2026-03-09 20:44:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:44:55] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:55] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:43:19"
[2026-03-09 20:44:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:44:55] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:55] [INFO]   -> Set field 'enroute' = "2026-03-09 15:44:41"
[2026-03-09 20:44:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:44:55] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:44:55] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:44:55] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:44:55] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:44:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:44:55] [INFO]   -> Found value: TK31
[2026-03-09 20:44:55] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-09 20:44:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:44:55] [INFO]   -> Found value: 2026-03-09 15:43:19
[2026-03-09 20:44:55] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:43:19"
[2026-03-09 20:44:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:44:55] [INFO]   -> Found value: 2026-03-09 15:44:41
[2026-03-09 20:44:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:44:41"
[2026-03-09 20:44:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:44:55] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:44:55] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:44:55] [INFO]   -> No value found (null or empty)
[2026-03-09 20:44:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:44:55] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:44:55] [INFO]   -> Found value: 20260025980
[2026-03-09 20:44:55] [INFO]   -> Set field 'policeReportNumber' = "20260025980"
[2026-03-09 20:44:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:44:55] [INFO]   -> Found value: PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03/09/26 15:44:36 MCLA...
[2026-03-09 20:44:55] [INFO]   -> Set field 'dispatchNotes' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:55] [INFO]   -> Set field 'cADLog' = "PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:44:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:44:55] [INFO]   -> Found value: BAXTER
[2026-03-09 20:44:55] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:44:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:44:55] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:44:55] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:44:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:44:55] [INFO]   -> Found value: HWY
[2026-03-09 20:44:55] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:44:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:44:55] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:44:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:44:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:44:55] [INFO] Concatenating street name and type
[2026-03-09 20:44:55] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:44:55] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:44:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nBPD","incidentInternalId":"2026000646","dispatchRunNumber":"2026000646","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:41:04","dispatched":"2026-03-09 15:43:19","enroute":"2026-03-09 15:44:41","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"TK31","timedispatch":"2026-03-09 15:43:19","timeenroutetoscene":"2026-03-09 15:44:41","policeReportNumber":"20260025980","dispatchNotes":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:44:55] [INFO] Number of extracted fields: 23
[2026-03-09 20:44:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
BPD'
[2026-03-09 20:44:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
BPD', Parsed IDs = ["PCFD","PCSO","EMS","BPD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-09 20:44:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","BPD"]
[2026-03-09 20:44:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:44:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 20:44:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","BPD"]
[2026-03-09 20:44: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-09 20:44: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-09 20:44:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 20:44:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 20:44:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 20:44:55] [INFO] Found existing IncidentTypeMapping with ID: 69822cb9939b62803
[2026-03-09 20:44:55] [INFO] Found existing Dispatch with cADNumber '2026000646', ID: 69af30eacfeae47ee - will update instead of create
[2026-03-09 20:44:55] [INFO] Updated existing Dispatches record with ID: 69af30eacfeae47ee
[2026-03-09 20:44:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204454.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260025980_20260309_204454.XML
[2026-03-09 20:44:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025980_20260309_204454.XML
[2026-03-09 20:48:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204840.XML
[2026-03-09 20:48:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204840.XML for user: 68f1466aed072ad4a
[2026-03-09 20:48:40] [INFO] File size: 6303 bytes
[2026-03-09 20:48:41] [INFO] Created FTPFiles record with ID: 69af3229506fec380
[2026-03-09 20:48:41] [INFO] About to extract fields from XML. File size: 6303 bytes
[2026-03-09 20:48:41] [INFO] Number of mappings: 28
[2026-03-09 20:48:41] [INFO] Starting XML parsing. Content length: 6303
[2026-03-09 20:48:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:48:41] [INFO] Processing 28 field mappings
[2026-03-09 20:48:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:48:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:48:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:48:41] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 20:48:41] [INFO]   -> Found value: BFD
PCSO
EMS
PCFD
BPD
[2026-03-09 20:48:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCSO\nEMS\nPCFD\nBPD"
[2026-03-09 20:48:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:48:41] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:48:41] [INFO]   -> Found value: 2026000080
[2026-03-09 20:48:41] [INFO]   -> Set field 'incidentInternalId' = "2026000080"
[2026-03-09 20:48:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000080"
[2026-03-09 20:48:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:48:41] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:48:41] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:48:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:48:41] [INFO]   -> Found value: 5946
[2026-03-09 20:48:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:48:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:48:41] [INFO]   -> Found value: TN
[2026-03-09 20:48:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:48:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:48:41] [INFO]   -> Found value: 38544
[2026-03-09 20:48:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:48:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:48:41] [INFO]   -> Found value: 36.17060
[2026-03-09 20:48:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:48:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:48:41] [INFO]   -> Found value: -85.61945
[2026-03-09 20:48:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:48:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:48:41] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:48:41] [INFO]   -> Set field 'alarm' = "2026-03-09 15:48:38"
[2026-03-09 20:48:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:48:41] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:48:41] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:48:38"
[2026-03-09 20:48:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:48:41] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:48:41] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:48:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:48:41] [INFO]   -> Found value: BEN2
[2026-03-09 20:48:41] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-09 20:48:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:48:41] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:48:41] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:48:38"
[2026-03-09 20:48:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:48:41] [INFO]   -> No value found (null or empty)
[2026-03-09 20:48:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:48:41] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:48:41] [INFO]   -> Found value: 20260025988
[2026-03-09 20:48:41] [INFO]   -> Set field 'policeReportNumber' = "20260025988"
[2026-03-09 20:48:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:48:41] [INFO]   -> Found value: Event spawned from MUTUAL AID.  [03/09/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQ...
[2026-03-09 20:48:41] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:48:41] [INFO]   -> Set field 'cADLog' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:48:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:48:41] [INFO]   -> Found value: BAXTER
[2026-03-09 20:48:41] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:48:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:48:41] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:48:41] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:48:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:48:41] [INFO]   -> Found value: HWY
[2026-03-09 20:48:41] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:48:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:48:41] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:48:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:48:41] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 20:48:41] [INFO] Concatenating street name and type
[2026-03-09 20:48:41] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:48:41] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:48:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCSO\nEMS\nPCFD\nBPD","incidentInternalId":"2026000080","dispatchRunNumber":"2026000080","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:48:38","dispatched":"2026-03-09 15:48:38","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"BEN2","timedispatch":"2026-03-09 15:48:38","policeReportNumber":"20260025988","dispatchNotes":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:48:41] [INFO] Number of extracted fields: 21
[2026-03-09 20:48:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCSO
EMS
PCFD
BPD'
[2026-03-09 20:48:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCSO
EMS
PCFD
BPD', Parsed IDs = ["BFD","PCSO","EMS","PCFD","BPD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 20:48:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:48:41] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:48:41] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-09 20:48:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:48:41] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-09 20:48:41] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-09 20:48:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 20:48:41] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-09 20:48:41] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-09 20:48:42] [INFO] Found existing IncidentTypeMapping with ID: 698541401238b3192
[2026-03-09 20:48:46] [INFO] Created new Dispatches record with ID: 69af322a5fce1d46c
[2026-03-09 20:48:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204840.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/BFD_20260025988_20260309_204840.XML
[2026-03-09 20:48:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204840.XML
[2026-03-09 20:49:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204914.XML
[2026-03-09 20:49:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204914.XML for user: 68f1466aed072ad4a
[2026-03-09 20:49:14] [INFO] File size: 6370 bytes
[2026-03-09 20:49:15] [INFO] Created FTPFiles record with ID: 69af324b1a8db38fb
[2026-03-09 20:49:15] [INFO] About to extract fields from XML. File size: 6370 bytes
[2026-03-09 20:49:15] [INFO] Number of mappings: 28
[2026-03-09 20:49:15] [INFO] Starting XML parsing. Content length: 6370
[2026-03-09 20:49:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:49:15] [INFO] Processing 28 field mappings
[2026-03-09 20:49:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:49:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:49:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:49:15] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 20:49:15] [INFO]   -> Found value: BFD
PCSO
EMS
PCFD
BPD
[2026-03-09 20:49:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCSO\nEMS\nPCFD\nBPD"
[2026-03-09 20:49:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:49:15] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:49:15] [INFO]   -> Found value: 2026000080
[2026-03-09 20:49:15] [INFO]   -> Set field 'incidentInternalId' = "2026000080"
[2026-03-09 20:49:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000080"
[2026-03-09 20:49:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:49:15] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:49:15] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:49:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:49:15] [INFO]   -> Found value: 5946
[2026-03-09 20:49:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:49:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:49:15] [INFO]   -> Found value: TN
[2026-03-09 20:49:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:49:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:49:15] [INFO]   -> Found value: 38544
[2026-03-09 20:49:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:49:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:49:15] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:49:15] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:49:15] [INFO]   -> Found value: 36.17060
[2026-03-09 20:49:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:49:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:49:15] [INFO]   -> Found value: -85.61945
[2026-03-09 20:49:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:49:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:49:15] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:15] [INFO]   -> Set field 'alarm' = "2026-03-09 15:48:38"
[2026-03-09 20:49:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:49:15] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:15] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:48:38"
[2026-03-09 20:49:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:49:15] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:15] [INFO]   -> Set field 'enroute' = "2026-03-09 15:49:10"
[2026-03-09 20:49:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:49:15] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:49:15] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:49:15] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:49:15] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:49:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:49:15] [INFO]   -> Found value: BEN2
[2026-03-09 20:49:15] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-09 20:49:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:49:15] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:15] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:48:38"
[2026-03-09 20:49:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:49:15] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:49:10"
[2026-03-09 20:49:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:49:15] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:49:15] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:49:15] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:49:15] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:49:15] [INFO]   -> Found value: 20260025988
[2026-03-09 20:49:15] [INFO]   -> Set field 'policeReportNumber' = "20260025988"
[2026-03-09 20:49:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:49:15] [INFO]   -> Found value: Event spawned from MUTUAL AID.  [03/09/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQ...
[2026-03-09 20:49:15] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:15] [INFO]   -> Set field 'cADLog' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:49:15] [INFO]   -> Found value: BAXTER
[2026-03-09 20:49:15] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:49:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:49:15] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:49:15] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:49:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:49:15] [INFO]   -> Found value: HWY
[2026-03-09 20:49:15] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:49:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:49:15] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:49:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:49:15] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:49:15] [INFO] Concatenating street name and type
[2026-03-09 20:49:15] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:49:15] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:49:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCSO\nEMS\nPCFD\nBPD","incidentInternalId":"2026000080","dispatchRunNumber":"2026000080","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:48:38","dispatched":"2026-03-09 15:48:38","enroute":"2026-03-09 15:49:10","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"BEN2","timedispatch":"2026-03-09 15:48:38","timeenroutetoscene":"2026-03-09 15:49:10","policeReportNumber":"20260025988","dispatchNotes":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:49:15] [INFO] Number of extracted fields: 23
[2026-03-09 20:49:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCSO
EMS
PCFD
BPD'
[2026-03-09 20:49:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCSO
EMS
PCFD
BPD', Parsed IDs = ["BFD","PCSO","EMS","PCFD","BPD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 20:49:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:15] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:49:15] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-09 20:49:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:15] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-09 20:49:15] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-09 20:49:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 20:49:15] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-09 20:49:15] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-09 20:49:15] [INFO] Found existing IncidentTypeMapping with ID: 698541401238b3192
[2026-03-09 20:49:15] [INFO] Found existing Dispatch with cADNumber '2026000080', ID: 69af322a5fce1d46c - will update instead of create
[2026-03-09 20:49:16] [INFO] Updated existing Dispatches record with ID: 69af322a5fce1d46c
[2026-03-09 20:49:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204914.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/BFD_20260025988_20260309_204914.XML
[2026-03-09 20:49:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204914.XML
[2026-03-09 20:49:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204919.XML
[2026-03-09 20:49:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204919.XML for user: 68f1466aed072ad4a
[2026-03-09 20:49:19] [INFO] File size: 6370 bytes
[2026-03-09 20:49:20] [INFO] Created FTPFiles record with ID: 69af325031f99a7df
[2026-03-09 20:49:20] [INFO] About to extract fields from XML. File size: 6370 bytes
[2026-03-09 20:49:20] [INFO] Number of mappings: 28
[2026-03-09 20:49:20] [INFO] Starting XML parsing. Content length: 6370
[2026-03-09 20:49:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:49:20] [INFO] Processing 28 field mappings
[2026-03-09 20:49:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:49:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:49:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:49:20] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 20:49:20] [INFO]   -> Found value: BFD
PCSO
EMS
PCFD
BPD
[2026-03-09 20:49:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCSO\nEMS\nPCFD\nBPD"
[2026-03-09 20:49:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:49:20] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:49:20] [INFO]   -> Found value: 2026000080
[2026-03-09 20:49:20] [INFO]   -> Set field 'incidentInternalId' = "2026000080"
[2026-03-09 20:49:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000080"
[2026-03-09 20:49:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:49:20] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:49:20] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:49:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:49:20] [INFO]   -> Found value: 5946
[2026-03-09 20:49:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:49:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:49:20] [INFO]   -> Found value: TN
[2026-03-09 20:49:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:49:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:49:20] [INFO]   -> Found value: 38544
[2026-03-09 20:49:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:49:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:49:20] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:49:20] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:49:20] [INFO]   -> Found value: 36.17060
[2026-03-09 20:49:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:49:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:49:20] [INFO]   -> Found value: -85.61945
[2026-03-09 20:49:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:49:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:49:20] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:20] [INFO]   -> Set field 'alarm' = "2026-03-09 15:48:38"
[2026-03-09 20:49:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:49:20] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:20] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:48:38"
[2026-03-09 20:49:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:49:20] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:20] [INFO]   -> Set field 'enroute' = "2026-03-09 15:49:10"
[2026-03-09 20:49:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:49:20] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:49:20] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:49:20] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:49:20] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:49:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:49:20] [INFO]   -> Found value: BEN2
[2026-03-09 20:49:20] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-09 20:49:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:49:20] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:20] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:48:38"
[2026-03-09 20:49:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:49:20] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:49:10"
[2026-03-09 20:49:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:49:20] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:49:20] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:49:20] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:49:20] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:49:20] [INFO]   -> Found value: 20260025988
[2026-03-09 20:49:20] [INFO]   -> Set field 'policeReportNumber' = "20260025988"
[2026-03-09 20:49:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:49:20] [INFO]   -> Found value: Event spawned from MUTUAL AID.  [03/09/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQ...
[2026-03-09 20:49:20] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:20] [INFO]   -> Set field 'cADLog' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:49:20] [INFO]   -> Found value: BAXTER
[2026-03-09 20:49:20] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:49:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:49:20] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:49:20] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:49:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:49:20] [INFO]   -> Found value: HWY
[2026-03-09 20:49:20] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:49:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:49:20] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:49:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:49:20] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:49:20] [INFO] Concatenating street name and type
[2026-03-09 20:49:20] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:49:20] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:49:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCSO\nEMS\nPCFD\nBPD","incidentInternalId":"2026000080","dispatchRunNumber":"2026000080","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:48:38","dispatched":"2026-03-09 15:48:38","enroute":"2026-03-09 15:49:10","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"BEN2","timedispatch":"2026-03-09 15:48:38","timeenroutetoscene":"2026-03-09 15:49:10","policeReportNumber":"20260025988","dispatchNotes":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:49:20] [INFO] Number of extracted fields: 23
[2026-03-09 20:49:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCSO
EMS
PCFD
BPD'
[2026-03-09 20:49:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCSO
EMS
PCFD
BPD', Parsed IDs = ["BFD","PCSO","EMS","PCFD","BPD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 20:49:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:20] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:49:20] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-09 20:49:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:20] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-09 20:49:20] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-09 20:49:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 20:49:20] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-09 20:49:20] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-09 20:49:20] [INFO] Found existing IncidentTypeMapping with ID: 698541401238b3192
[2026-03-09 20:49:21] [INFO] Found existing Dispatch with cADNumber '2026000080', ID: 69af322a5fce1d46c - will update instead of create
[2026-03-09 20:49:21] [INFO] Updated existing Dispatches record with ID: 69af322a5fce1d46c
[2026-03-09 20:49:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204919.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/BFD_20260025988_20260309_204919.XML
[2026-03-09 20:49:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204919.XML
[2026-03-09 20:49:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204920.XML
[2026-03-09 20:49:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204920.XML for user: 68f1466aed072ad4a
[2026-03-09 20:49:21] [INFO] File size: 6370 bytes
[2026-03-09 20:49:21] [INFO] Created FTPFiles record with ID: 69af32518b7999a02
[2026-03-09 20:49:21] [INFO] About to extract fields from XML. File size: 6370 bytes
[2026-03-09 20:49:21] [INFO] Number of mappings: 28
[2026-03-09 20:49:21] [INFO] Starting XML parsing. Content length: 6370
[2026-03-09 20:49:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:49:21] [INFO] Processing 28 field mappings
[2026-03-09 20:49:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:49:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:49:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:49:21] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 20:49:21] [INFO]   -> Found value: BFD
PCSO
EMS
PCFD
BPD
[2026-03-09 20:49:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCSO\nEMS\nPCFD\nBPD"
[2026-03-09 20:49:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:49:21] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:49:21] [INFO]   -> Found value: 2026000080
[2026-03-09 20:49:21] [INFO]   -> Set field 'incidentInternalId' = "2026000080"
[2026-03-09 20:49:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000080"
[2026-03-09 20:49:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:49:21] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:49:21] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:49:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:49:21] [INFO]   -> Found value: 5946
[2026-03-09 20:49:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:49:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:49:21] [INFO]   -> Found value: TN
[2026-03-09 20:49:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:49:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:49:21] [INFO]   -> Found value: 38544
[2026-03-09 20:49:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:49:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:49:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:49:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:49:21] [INFO]   -> Found value: 36.17060
[2026-03-09 20:49:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:49:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:49:21] [INFO]   -> Found value: -85.61945
[2026-03-09 20:49:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:49:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:49:21] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:21] [INFO]   -> Set field 'alarm' = "2026-03-09 15:48:38"
[2026-03-09 20:49:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:49:21] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:21] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:48:38"
[2026-03-09 20:49:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:49:21] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:21] [INFO]   -> Set field 'enroute' = "2026-03-09 15:49:10"
[2026-03-09 20:49:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:49:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:49:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:49:21] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:49:21] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:49:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:49:21] [INFO]   -> Found value: BEN2
[2026-03-09 20:49:21] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-09 20:49:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:49:21] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:21] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:48:38"
[2026-03-09 20:49:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:49:21] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:49:10"
[2026-03-09 20:49:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:49:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:49:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:49:21] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:49:21] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:49:21] [INFO]   -> Found value: 20260025988
[2026-03-09 20:49:21] [INFO]   -> Set field 'policeReportNumber' = "20260025988"
[2026-03-09 20:49:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:49:21] [INFO]   -> Found value: Event spawned from MUTUAL AID.  [03/09/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQ...
[2026-03-09 20:49:21] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:21] [INFO]   -> Set field 'cADLog' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:49:21] [INFO]   -> Found value: BAXTER
[2026-03-09 20:49:21] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:49:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:49:21] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:49:21] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:49:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:49:21] [INFO]   -> Found value: HWY
[2026-03-09 20:49:21] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:49:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:49:21] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:49:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:49:21] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:49:21] [INFO] Concatenating street name and type
[2026-03-09 20:49:21] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:49:21] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:49:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCSO\nEMS\nPCFD\nBPD","incidentInternalId":"2026000080","dispatchRunNumber":"2026000080","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:48:38","dispatched":"2026-03-09 15:48:38","enroute":"2026-03-09 15:49:10","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"BEN2","timedispatch":"2026-03-09 15:48:38","timeenroutetoscene":"2026-03-09 15:49:10","policeReportNumber":"20260025988","dispatchNotes":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:49:21] [INFO] Number of extracted fields: 23
[2026-03-09 20:49:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCSO
EMS
PCFD
BPD'
[2026-03-09 20:49:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCSO
EMS
PCFD
BPD', Parsed IDs = ["BFD","PCSO","EMS","PCFD","BPD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 20:49:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:21] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:49:21] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-09 20:49:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:21] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-09 20:49:21] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-09 20:49:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 20:49:21] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-09 20:49:22] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-09 20:49:22] [INFO] Found existing IncidentTypeMapping with ID: 698541401238b3192
[2026-03-09 20:49:23] [INFO] Found existing Dispatch with cADNumber '2026000080', ID: 69af322a5fce1d46c - will update instead of create
[2026-03-09 20:49:23] [INFO] Updated existing Dispatches record with ID: 69af322a5fce1d46c
[2026-03-09 20:49:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204920.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/BFD_20260025988_20260309_204920.XML
[2026-03-09 20:49:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204920.XML
[2026-03-09 20:49:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204921.XML
[2026-03-09 20:49:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204921.XML for user: 68f1466aed072ad4a
[2026-03-09 20:49:23] [INFO] File size: 6370 bytes
[2026-03-09 20:49:23] [INFO] Created FTPFiles record with ID: 69af3253b221bb1f7
[2026-03-09 20:49:23] [INFO] About to extract fields from XML. File size: 6370 bytes
[2026-03-09 20:49:23] [INFO] Number of mappings: 28
[2026-03-09 20:49:23] [INFO] Starting XML parsing. Content length: 6370
[2026-03-09 20:49:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 20:49:23] [INFO] Processing 28 field mappings
[2026-03-09 20:49:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 20:49:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 20:49:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 20:49:23] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 20:49:23] [INFO]   -> Found value: BFD
PCSO
EMS
PCFD
BPD
[2026-03-09 20:49:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCSO\nEMS\nPCFD\nBPD"
[2026-03-09 20:49:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 20:49:23] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 20:49:23] [INFO]   -> Found value: 2026000080
[2026-03-09 20:49:23] [INFO]   -> Set field 'incidentInternalId' = "2026000080"
[2026-03-09 20:49:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000080"
[2026-03-09 20:49:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 20:49:23] [INFO]   -> Found value: MUTUAL AID
[2026-03-09 20:49:23] [INFO]   -> Set field 'incidentTypeValue1' = "MUTUAL AID"
[2026-03-09 20:49:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 20:49:23] [INFO]   -> Found value: 5946
[2026-03-09 20:49:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5946
[2026-03-09 20:49:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 20:49:23] [INFO]   -> Found value: TN
[2026-03-09 20:49:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 20:49:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 20:49:23] [INFO]   -> Found value: 38544
[2026-03-09 20:49:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-09 20:49:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 20:49:23] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 20:49:23] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 20:49:23] [INFO]   -> Found value: 36.17060
[2026-03-09 20:49:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17060000000000030695446184836328029632568359375
[2026-03-09 20:49:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 20:49:23] [INFO]   -> Found value: -85.61945
[2026-03-09 20:49:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.619450000000000500222085975110530853271484375
[2026-03-09 20:49:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 20:49:23] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:23] [INFO]   -> Set field 'alarm' = "2026-03-09 15:48:38"
[2026-03-09 20:49:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 20:49:23] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:23] [INFO]   -> Set field 'dispatched' = "2026-03-09 15:48:38"
[2026-03-09 20:49:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 20:49:23] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:23] [INFO]   -> Set field 'enroute' = "2026-03-09 15:49:10"
[2026-03-09 20:49:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 20:49:23] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 20:49:23] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 20:49:23] [INFO]   -> Found value: WEST MINSTER DR/STEPHANIE LN
[2026-03-09 20:49:23] [INFO]   -> Set field 'incidentLocationCross' = "WEST MINSTER DR\/STEPHANIE LN"
[2026-03-09 20:49:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 20:49:23] [INFO]   -> Found value: BEN2
[2026-03-09 20:49:23] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-09 20:49:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 20:49:23] [INFO]   -> Found value: 2026-03-09 15:48:38
[2026-03-09 20:49:23] [INFO]   -> Set field 'timedispatch' = "2026-03-09 15:48:38"
[2026-03-09 20:49:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 20:49:23] [INFO]   -> Found value: 2026-03-09 15:49:10
[2026-03-09 20:49:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 15:49:10"
[2026-03-09 20:49:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 20:49:23] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 20:49:23] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 20:49:23] [INFO]   -> No value found (null or empty)
[2026-03-09 20:49:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 20:49:23] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 20:49:23] [INFO]   -> Found value: 20260025988
[2026-03-09 20:49:23] [INFO]   -> Set field 'policeReportNumber' = "20260025988"
[2026-03-09 20:49:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 20:49:23] [INFO]   -> Found value: Event spawned from MUTUAL AID.  [03/09/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQ...
[2026-03-09 20:49:23] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:23] [INFO]   -> Set field 'cADLog' = "Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]"
[2026-03-09 20:49:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 20:49:23] [INFO]   -> Found value: BAXTER
[2026-03-09 20:49:23] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-09 20:49:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 20:49:23] [INFO]   -> Found value: NASHVILLE
[2026-03-09 20:49:23] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-09 20:49:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 20:49:23] [INFO]   -> Found value: HWY
[2026-03-09 20:49:23] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-09 20:49:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 20:49:23] [INFO]   -> Found value: 5946 NASHVILLE HWY
[2026-03-09 20:49:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5946 NASHVILLE HWY"
[2026-03-09 20:49:23] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 20:49:23] [INFO] Concatenating street name and type
[2026-03-09 20:49:23] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-09 20:49:23] [INFO] Built locationCoordinates from lat/lng: 36.1706,-85.61945
[2026-03-09 20:49:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCSO\nEMS\nPCFD\nBPD","incidentInternalId":"2026000080","dispatchRunNumber":"2026000080","incidentTypeValue1":"MUTUAL AID","incidentLocationStreetNumber":5946,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.17060000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.619450000000000500222085975110530853271484375,"alarm":"2026-03-09 15:48:38","dispatched":"2026-03-09 15:48:38","enroute":"2026-03-09 15:49:10","incidentLocationCross":"WEST MINSTER DR\/STEPHANIE LN","cADVehicleID":"BEN2","timedispatch":"2026-03-09 15:48:38","timeenroutetoscene":"2026-03-09 15:49:10","policeReportNumber":"20260025988","dispatchNotes":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","cADLog":"Event spawned from MUTUAL AID.  [03\/09\/2026 15:48:38 KHILL] PUTNAM COUNTY FIRE PERSONEL ON SCENE REQUESTED NON EMERGENCY FOR CHEST PAIN  [03\/09\/26 15:44:36 MCLAYBURN2] [EMS] SEND FIRE FOR OIL IN THE ROAD  [03\/09\/26 15:41:48 MCLAYBURN2] [LAW] {P3421} ON SCENE  [03\/09\/26 15:41:41 SBALLARD] [EMS] 6 OCCUPANTS IN THE VEHICLE  [03\/09\/26 15:41:26 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [03\/09\/2026 15:41:04 MCLAYBURN2] Event spawned from LAW ENFORCEMENT CALL TRANSFER.  [03\/09\/2026 15:40:45 MCLAYBURN2] NEW BORN IN THE VAN CHEST PAIN FROM SEATBELT  [03\/09\/26 15:40:37 MCLAYBURN2] 2 VEHICLES GOLD VAN  WHITE FORD F150  [03\/09\/26 15:39:38 MCLAYBURN2] IN FRONT OF GREY BARN  [03\/09\/26 15:39:11 MCLAYBURN2] UDTS: TRANSFERRED TO THP  [03\/09\/26 15:38:49 MCLAYBURN2] REAR END COLLISION NON INJURY  [03\/09\/26 15:38:38 MCLAYBURN2]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"5946 NASHVILLE HWY","locationCoordinates":"36.1706,-85.61945"}
[2026-03-09 20:49:23] [INFO] Number of extracted fields: 23
[2026-03-09 20:49:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCSO
EMS
PCFD
BPD'
[2026-03-09 20:49:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCSO
EMS
PCFD
BPD', Parsed IDs = ["BFD","PCSO","EMS","PCFD","BPD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 20:49:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:23] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-09 20:49:23] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-09 20:49:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","PCFD","BPD"]
[2026-03-09 20:49:24] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-09 20:49:24] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-09 20:49:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 20:49:24] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-09 20:49:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-09 20:49:24] [INFO] Found existing IncidentTypeMapping with ID: 698541401238b3192
[2026-03-09 20:49:24] [INFO] Found existing Dispatch with cADNumber '2026000080', ID: 69af322a5fce1d46c - will update instead of create
[2026-03-09 20:49:24] [INFO] Updated existing Dispatches record with ID: 69af322a5fce1d46c
[2026-03-09 20:49:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204921.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/BFD_20260025988_20260309_204921.XML
[2026-03-09 20:49:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025988_20260309_204921.XML
[2026-03-09 22:50:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030.XML
[2026-03-09 22:50:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030.XML for user: 68f1466aed072ad4a
[2026-03-09 22:50:30] [INFO] File size: 5380 bytes
[2026-03-09 22:50:30] [INFO] Created FTPFiles record with ID: 69af4eb6ecb197c97
[2026-03-09 22:50:30] [INFO] About to extract fields from XML. File size: 5380 bytes
[2026-03-09 22:50:30] [INFO] Number of mappings: 28
[2026-03-09 22:50:30] [INFO] Starting XML parsing. Content length: 5380
[2026-03-09 22:50:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 22:50:30] [INFO] Processing 28 field mappings
[2026-03-09 22:50:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 22:50:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 22:50:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 22:50:30] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 22:50:30] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 22:50:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 22:50:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 22:50:30] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 22:50:30] [INFO]   -> Found value: 2026000647
[2026-03-09 22:50:30] [INFO]   -> Set field 'incidentInternalId' = "2026000647"
[2026-03-09 22:50:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000647"
[2026-03-09 22:50:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 22:50:30] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 22:50:30] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 22:50:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 22:50:30] [INFO]   -> Found value: 1505
[2026-03-09 22:50:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1505
[2026-03-09 22:50:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 22:50:30] [INFO]   -> Found value: TN
[2026-03-09 22:50:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 22:50:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 22:50:30] [INFO]   -> Found value: 38501
[2026-03-09 22:50:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 22:50:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 22:50:30] [INFO]   -> Found value: 36.18979
[2026-03-09 22:50:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1897900000000021236701286397874355316162109375
[2026-03-09 22:50:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 22:50:30] [INFO]   -> Found value: -85.52834
[2026-03-09 22:50:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5283400000000000318323145620524883270263671875
[2026-03-09 22:50:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 22:50:30] [INFO]   -> Found value: 2026-03-09 17:49:35
[2026-03-09 22:50:30] [INFO]   -> Set field 'alarm' = "2026-03-09 17:49:35"
[2026-03-09 22:50:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 22:50:30] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:50:30] [INFO]   -> Set field 'dispatched' = "2026-03-09 17:50:27"
[2026-03-09 22:50:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 22:50:30] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-09 22:50:30] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-09 22:50:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 22:50:30] [INFO]   -> Found value: PCFR
[2026-03-09 22:50:30] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 22:50:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 22:50:30] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:50:30] [INFO]   -> Set field 'timedispatch' = "2026-03-09 17:50:27"
[2026-03-09 22:50:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 22:50:30] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 22:50:30] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 22:50:30] [INFO]   -> Found value: 20260026024
[2026-03-09 22:50:30] [INFO]   -> Set field 'policeReportNumber' = "20260026024"
[2026-03-09 22:50:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 22:50:30] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRY  [03/09/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03/09/26 17:...
[2026-03-09 22:50:30] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:50:30] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:50:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 22:50:30] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 22:50:30] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 22:50:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 22:50:30] [INFO]   -> Found value: WALTER
[2026-03-09 22:50:30] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-09 22:50:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 22:50:30] [INFO]   -> Found value: LN
[2026-03-09 22:50:30] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-09 22:50:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 22:50:30] [INFO]   -> Found value: 1505 WALTER LN
[2026-03-09 22:50:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1505 WALTER LN"
[2026-03-09 22:50:30] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 22:50:30] [INFO] Concatenating street name and type
[2026-03-09 22:50:30] [INFO]   -> Combined street name: WALTER LN
[2026-03-09 22:50:30] [INFO] Built locationCoordinates from lat/lng: 36.18979,-85.52834
[2026-03-09 22:50:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000647","dispatchRunNumber":"2026000647","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1505,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1897900000000021236701286397874355316162109375,"nERISIncidentLongitude":-85.5283400000000000318323145620524883270263671875,"alarm":"2026-03-09 17:49:35","dispatched":"2026-03-09 17:50:27","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 17:50:27","policeReportNumber":"20260026024","dispatchNotes":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","cADLog":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1505 WALTER LN","locationCoordinates":"36.18979,-85.52834"}
[2026-03-09 22:50:30] [INFO] Number of extracted fields: 21
[2026-03-09 22:50:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 22:50:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 22:50:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 22:50:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 22:50:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 22:50:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 22:50: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-09 22:50: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-09 22:50:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 22:50:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 22:50:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 22:50:31] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 22:50:39] [INFO] Created new Dispatches record with ID: 69af4eb7d234549b9
[2026-03-09 22:50:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026024_20260309_225030.XML
[2026-03-09 22:50:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030.XML
[2026-03-09 22:50:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030_1.XML
[2026-03-09 22:50:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030_1.XML for user: 68f1466aed072ad4a
[2026-03-09 22:50:39] [INFO] File size: 5380 bytes
[2026-03-09 22:50:40] [INFO] Created FTPFiles record with ID: 69af4ec05321f2b56
[2026-03-09 22:50:40] [INFO] About to extract fields from XML. File size: 5380 bytes
[2026-03-09 22:50:40] [INFO] Number of mappings: 28
[2026-03-09 22:50:40] [INFO] Starting XML parsing. Content length: 5380
[2026-03-09 22:50:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 22:50:40] [INFO] Processing 28 field mappings
[2026-03-09 22:50:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 22:50:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 22:50:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 22:50:40] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 22:50:40] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 22:50:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 22:50:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 22:50:40] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 22:50:40] [INFO]   -> Found value: 2026000647
[2026-03-09 22:50:40] [INFO]   -> Set field 'incidentInternalId' = "2026000647"
[2026-03-09 22:50:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000647"
[2026-03-09 22:50:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 22:50:40] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 22:50:40] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 22:50:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 22:50:40] [INFO]   -> Found value: 1505
[2026-03-09 22:50:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1505
[2026-03-09 22:50:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 22:50:40] [INFO]   -> Found value: TN
[2026-03-09 22:50:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 22:50:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 22:50:40] [INFO]   -> Found value: 38501
[2026-03-09 22:50:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 22:50:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 22:50:40] [INFO]   -> Found value: 36.18979
[2026-03-09 22:50:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1897900000000021236701286397874355316162109375
[2026-03-09 22:50:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 22:50:40] [INFO]   -> Found value: -85.52834
[2026-03-09 22:50:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5283400000000000318323145620524883270263671875
[2026-03-09 22:50:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 22:50:40] [INFO]   -> Found value: 2026-03-09 17:49:35
[2026-03-09 22:50:40] [INFO]   -> Set field 'alarm' = "2026-03-09 17:49:35"
[2026-03-09 22:50:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 22:50:40] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:50:40] [INFO]   -> Set field 'dispatched' = "2026-03-09 17:50:27"
[2026-03-09 22:50:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 22:50:40] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-09 22:50:40] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-09 22:50:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 22:50:40] [INFO]   -> Found value: PCFR
[2026-03-09 22:50:40] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 22:50:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 22:50:40] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:50:40] [INFO]   -> Set field 'timedispatch' = "2026-03-09 17:50:27"
[2026-03-09 22:50:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 22:50:40] [INFO]   -> No value found (null or empty)
[2026-03-09 22:50:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 22:50:40] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 22:50:40] [INFO]   -> Found value: 20260026024
[2026-03-09 22:50:40] [INFO]   -> Set field 'policeReportNumber' = "20260026024"
[2026-03-09 22:50:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 22:50:40] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRY  [03/09/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03/09/26 17:...
[2026-03-09 22:50:40] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:50:40] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:50:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 22:50:40] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 22:50:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 22:50:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 22:50:40] [INFO]   -> Found value: WALTER
[2026-03-09 22:50:40] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-09 22:50:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 22:50:40] [INFO]   -> Found value: LN
[2026-03-09 22:50:40] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-09 22:50:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 22:50:40] [INFO]   -> Found value: 1505 WALTER LN
[2026-03-09 22:50:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1505 WALTER LN"
[2026-03-09 22:50:40] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 22:50:40] [INFO] Concatenating street name and type
[2026-03-09 22:50:40] [INFO]   -> Combined street name: WALTER LN
[2026-03-09 22:50:40] [INFO] Built locationCoordinates from lat/lng: 36.18979,-85.52834
[2026-03-09 22:50:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000647","dispatchRunNumber":"2026000647","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1505,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1897900000000021236701286397874355316162109375,"nERISIncidentLongitude":-85.5283400000000000318323145620524883270263671875,"alarm":"2026-03-09 17:49:35","dispatched":"2026-03-09 17:50:27","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 17:50:27","policeReportNumber":"20260026024","dispatchNotes":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","cADLog":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1505 WALTER LN","locationCoordinates":"36.18979,-85.52834"}
[2026-03-09 22:50:40] [INFO] Number of extracted fields: 21
[2026-03-09 22:50:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 22:50:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 22:50:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 22:50:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 22:50:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 22:50:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 22:50:40] [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-09 22:50:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 22:50:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 22:50:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 22:50:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 22:50:40] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 22:50:41] [INFO] Found existing Dispatch with cADNumber '2026000647', ID: 69af4eb7d234549b9 - will update instead of create
[2026-03-09 22:50:41] [INFO] Updated existing Dispatches record with ID: 69af4eb7d234549b9
[2026-03-09 22:50:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026024_20260309_225030_1.XML
[2026-03-09 22:50:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225030_1.XML
[2026-03-09 22:51:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225115.XML
[2026-03-09 22:51:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225115.XML for user: 68f1466aed072ad4a
[2026-03-09 22:51:15] [INFO] File size: 6200 bytes
[2026-03-09 22:51:15] [INFO] Created FTPFiles record with ID: 69af4ee3882cf8796
[2026-03-09 22:51:15] [INFO] About to extract fields from XML. File size: 6200 bytes
[2026-03-09 22:51:15] [INFO] Number of mappings: 28
[2026-03-09 22:51:15] [INFO] Starting XML parsing. Content length: 6200
[2026-03-09 22:51:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 22:51:15] [INFO] Processing 28 field mappings
[2026-03-09 22:51:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 22:51:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 22:51:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 22:51:15] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 22:51:15] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 22:51:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 22:51:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 22:51:15] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 22:51:15] [INFO]   -> Found value: 2026000647
[2026-03-09 22:51:15] [INFO]   -> Set field 'incidentInternalId' = "2026000647"
[2026-03-09 22:51:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000647"
[2026-03-09 22:51:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 22:51:15] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 22:51:15] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 22:51:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 22:51:15] [INFO]   -> Found value: 1505
[2026-03-09 22:51:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1505
[2026-03-09 22:51:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 22:51:15] [INFO]   -> Found value: TN
[2026-03-09 22:51:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 22:51:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 22:51:15] [INFO]   -> Found value: 38501
[2026-03-09 22:51:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 22:51:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 22:51:15] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 22:51:15] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 22:51:15] [INFO]   -> Found value: 36.18979
[2026-03-09 22:51:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1897900000000021236701286397874355316162109375
[2026-03-09 22:51:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 22:51:15] [INFO]   -> Found value: -85.52834
[2026-03-09 22:51:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5283400000000000318323145620524883270263671875
[2026-03-09 22:51:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 22:51:15] [INFO]   -> Found value: 2026-03-09 17:49:35
[2026-03-09 22:51:15] [INFO]   -> Set field 'alarm' = "2026-03-09 17:49:35"
[2026-03-09 22:51:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 22:51:15] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:51:15] [INFO]   -> Set field 'dispatched' = "2026-03-09 17:50:27"
[2026-03-09 22:51:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 22:51:15] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 22:51:15] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 22:51:15] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 22:51:15] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-09 22:51:15] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-09 22:51:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 22:51:15] [INFO]   -> Found value: PCFR
[2026-03-09 22:51:15] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 22:51:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 22:51:15] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:51:15] [INFO]   -> Set field 'timedispatch' = "2026-03-09 17:50:27"
[2026-03-09 22:51:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 22:51:15] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 22:51:15] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 22:51:15] [INFO]   -> Found value: 2026-03-09 17:51:11
[2026-03-09 22:51:15] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 17:51:11"
[2026-03-09 22:51:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 22:51:15] [INFO]   -> Found value: 2026-03-09 17:51:11
[2026-03-09 22:51:15] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 17:51:11"
[2026-03-09 22:51:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 22:51:15] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 22:51:15] [INFO]   -> Found value: 20260026024
[2026-03-09 22:51:15] [INFO]   -> Set field 'policeReportNumber' = "20260026024"
[2026-03-09 22:51:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 22:51:15] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRY  [03/09/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03/09/26 17:...
[2026-03-09 22:51:15] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:51:15] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:51:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 22:51:15] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 22:51:15] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 22:51:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 22:51:15] [INFO]   -> Found value: WALTER
[2026-03-09 22:51:15] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-09 22:51:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 22:51:15] [INFO]   -> Found value: LN
[2026-03-09 22:51:15] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-09 22:51:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 22:51:15] [INFO]   -> Found value: 1505 WALTER LN
[2026-03-09 22:51:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1505 WALTER LN"
[2026-03-09 22:51:15] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 22:51:15] [INFO] Concatenating street name and type
[2026-03-09 22:51:15] [INFO]   -> Combined street name: WALTER LN
[2026-03-09 22:51:15] [INFO] Built locationCoordinates from lat/lng: 36.18979,-85.52834
[2026-03-09 22:51:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000647","dispatchRunNumber":"2026000647","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1505,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1897900000000021236701286397874355316162109375,"nERISIncidentLongitude":-85.5283400000000000318323145620524883270263671875,"alarm":"2026-03-09 17:49:35","dispatched":"2026-03-09 17:50:27","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"PCFR","timedispatch":"2026-03-09 17:50:27","timeunitclear":"2026-03-09 17:51:11","timecanceledenroute":"2026-03-09 17:51:11","policeReportNumber":"20260026024","dispatchNotes":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","cADLog":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1505 WALTER LN","locationCoordinates":"36.18979,-85.52834"}
[2026-03-09 22:51:15] [INFO] Number of extracted fields: 23
[2026-03-09 22:51:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 22:51:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 22:51:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 22:51:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 22:51:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 22:51:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 22:51: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-09 22:51: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-09 22:51:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 22:51:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 22:51:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 22:51:16] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 22:51:16] [INFO] Found existing Dispatch with cADNumber '2026000647', ID: 69af4eb7d234549b9 - will update instead of create
[2026-03-09 22:51:16] [INFO] Updated existing Dispatches record with ID: 69af4eb7d234549b9
[2026-03-09 22:51:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225115.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026024_20260309_225115.XML
[2026-03-09 22:51:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225115.XML
[2026-03-09 22:51:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225121.XML
[2026-03-09 22:51:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225121.XML for user: 68f1466aed072ad4a
[2026-03-09 22:51:21] [INFO] File size: 6262 bytes
[2026-03-09 22:51:21] [INFO] Created FTPFiles record with ID: 69af4ee9e42113249
[2026-03-09 22:51:21] [INFO] About to extract fields from XML. File size: 6262 bytes
[2026-03-09 22:51:21] [INFO] Number of mappings: 28
[2026-03-09 22:51:21] [INFO] Starting XML parsing. Content length: 6262
[2026-03-09 22:51:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 22:51:21] [INFO] Processing 28 field mappings
[2026-03-09 22:51:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 22:51:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 22:51:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 22:51:21] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 22:51:21] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 22:51:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 22:51:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 22:51:21] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 22:51:21] [INFO]   -> Found value: 2026000647
[2026-03-09 22:51:21] [INFO]   -> Set field 'incidentInternalId' = "2026000647"
[2026-03-09 22:51:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000647"
[2026-03-09 22:51:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 22:51:21] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 22:51:21] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 22:51:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 22:51:21] [INFO]   -> Found value: 1505
[2026-03-09 22:51:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1505
[2026-03-09 22:51:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 22:51:21] [INFO]   -> Found value: TN
[2026-03-09 22:51:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 22:51:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 22:51:21] [INFO]   -> Found value: 38501
[2026-03-09 22:51:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 22:51:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 22:51:21] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 22:51:21] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 22:51:21] [INFO]   -> Found value: 36.18979
[2026-03-09 22:51:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1897900000000021236701286397874355316162109375
[2026-03-09 22:51:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 22:51:21] [INFO]   -> Found value: -85.52834
[2026-03-09 22:51:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5283400000000000318323145620524883270263671875
[2026-03-09 22:51:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 22:51:21] [INFO]   -> Found value: 2026-03-09 17:49:35
[2026-03-09 22:51:21] [INFO]   -> Set field 'alarm' = "2026-03-09 17:49:35"
[2026-03-09 22:51:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 22:51:21] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:51:21] [INFO]   -> Set field 'dispatched' = "2026-03-09 17:50:27"
[2026-03-09 22:51:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 22:51:21] [INFO]   -> Found value: 2026-03-09 17:51:14
[2026-03-09 22:51:21] [INFO]   -> Set field 'enroute' = "2026-03-09 17:51:14"
[2026-03-09 22:51:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 22:51:21] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 22:51:21] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 22:51:21] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-09 22:51:21] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-09 22:51:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 22:51:21] [INFO]   -> Found value: TK12
[2026-03-09 22:51:21] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 22:51:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 22:51:21] [INFO]   -> Found value: 2026-03-09 17:51:11
[2026-03-09 22:51:21] [INFO]   -> Set field 'timedispatch' = "2026-03-09 17:51:11"
[2026-03-09 22:51:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 22:51:21] [INFO]   -> Found value: 2026-03-09 17:51:14
[2026-03-09 22:51:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 17:51:14"
[2026-03-09 22:51:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 22:51:21] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 22:51:21] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 22:51:21] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 22:51:21] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 22:51:21] [INFO]   -> Found value: 20260026024
[2026-03-09 22:51:21] [INFO]   -> Set field 'policeReportNumber' = "20260026024"
[2026-03-09 22:51:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 22:51:21] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRY  [03/09/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03/09/26 17:...
[2026-03-09 22:51:21] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:51:21] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:51:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 22:51:21] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 22:51:21] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 22:51:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 22:51:21] [INFO]   -> Found value: WALTER
[2026-03-09 22:51:21] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-09 22:51:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 22:51:21] [INFO]   -> Found value: LN
[2026-03-09 22:51:21] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-09 22:51:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 22:51:21] [INFO]   -> Found value: 1505 WALTER LN
[2026-03-09 22:51:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1505 WALTER LN"
[2026-03-09 22:51:21] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 22:51:21] [INFO] Concatenating street name and type
[2026-03-09 22:51:21] [INFO]   -> Combined street name: WALTER LN
[2026-03-09 22:51:21] [INFO] Built locationCoordinates from lat/lng: 36.18979,-85.52834
[2026-03-09 22:51:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000647","dispatchRunNumber":"2026000647","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1505,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1897900000000021236701286397874355316162109375,"nERISIncidentLongitude":-85.5283400000000000318323145620524883270263671875,"alarm":"2026-03-09 17:49:35","dispatched":"2026-03-09 17:50:27","enroute":"2026-03-09 17:51:14","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"TK12","timedispatch":"2026-03-09 17:51:11","timeenroutetoscene":"2026-03-09 17:51:14","policeReportNumber":"20260026024","dispatchNotes":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","cADLog":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1505 WALTER LN","locationCoordinates":"36.18979,-85.52834"}
[2026-03-09 22:51:21] [INFO] Number of extracted fields: 23
[2026-03-09 22:51:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 22:51:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 22:51:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 22:51:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 22:51:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 22:51:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 22:51:22] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 22:51:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 22:51:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 22:51:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 22:51:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 22:51:22] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 22:51:22] [INFO] Found existing Dispatch with cADNumber '2026000647', ID: 69af4eb7d234549b9 - will update instead of create
[2026-03-09 22:51:22] [INFO] Updated existing Dispatches record with ID: 69af4eb7d234549b9
[2026-03-09 22:51:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225121.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026024_20260309_225121.XML
[2026-03-09 22:51:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225121.XML
[2026-03-09 22:51:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225123.XML
[2026-03-09 22:51:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225123.XML for user: 68f1466aed072ad4a
[2026-03-09 22:51:23] [INFO] File size: 6262 bytes
[2026-03-09 22:51:23] [INFO] Created FTPFiles record with ID: 69af4eeba1a475315
[2026-03-09 22:51:23] [INFO] About to extract fields from XML. File size: 6262 bytes
[2026-03-09 22:51:23] [INFO] Number of mappings: 28
[2026-03-09 22:51:23] [INFO] Starting XML parsing. Content length: 6262
[2026-03-09 22:51:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 22:51:23] [INFO] Processing 28 field mappings
[2026-03-09 22:51:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 22:51:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 22:51:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 22:51:23] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 22:51:23] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 22:51:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 22:51:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 22:51:23] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 22:51:23] [INFO]   -> Found value: 2026000647
[2026-03-09 22:51:23] [INFO]   -> Set field 'incidentInternalId' = "2026000647"
[2026-03-09 22:51:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000647"
[2026-03-09 22:51:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 22:51:23] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-09 22:51:23] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-09 22:51:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 22:51:23] [INFO]   -> Found value: 1505
[2026-03-09 22:51:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1505
[2026-03-09 22:51:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 22:51:23] [INFO]   -> Found value: TN
[2026-03-09 22:51:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 22:51:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 22:51:23] [INFO]   -> Found value: 38501
[2026-03-09 22:51:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 22:51:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 22:51:23] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 22:51:23] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 22:51:23] [INFO]   -> Found value: 36.18979
[2026-03-09 22:51:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1897900000000021236701286397874355316162109375
[2026-03-09 22:51:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 22:51:23] [INFO]   -> Found value: -85.52834
[2026-03-09 22:51:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5283400000000000318323145620524883270263671875
[2026-03-09 22:51:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 22:51:23] [INFO]   -> Found value: 2026-03-09 17:49:35
[2026-03-09 22:51:23] [INFO]   -> Set field 'alarm' = "2026-03-09 17:49:35"
[2026-03-09 22:51:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 22:51:23] [INFO]   -> Found value: 2026-03-09 17:50:27
[2026-03-09 22:51:23] [INFO]   -> Set field 'dispatched' = "2026-03-09 17:50:27"
[2026-03-09 22:51:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 22:51:23] [INFO]   -> Found value: 2026-03-09 17:51:14
[2026-03-09 22:51:23] [INFO]   -> Set field 'enroute' = "2026-03-09 17:51:14"
[2026-03-09 22:51:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 22:51:23] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 22:51:23] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 22:51:23] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-09 22:51:23] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-09 22:51:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 22:51:23] [INFO]   -> Found value: TK12
[2026-03-09 22:51:23] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-09 22:51:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 22:51:23] [INFO]   -> Found value: 2026-03-09 17:51:11
[2026-03-09 22:51:23] [INFO]   -> Set field 'timedispatch' = "2026-03-09 17:51:11"
[2026-03-09 22:51:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 22:51:23] [INFO]   -> Found value: 2026-03-09 17:51:14
[2026-03-09 22:51:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 17:51:14"
[2026-03-09 22:51:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 22:51:23] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 22:51:23] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 22:51:23] [INFO]   -> No value found (null or empty)
[2026-03-09 22:51:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 22:51:23] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 22:51:23] [INFO]   -> Found value: 20260026024
[2026-03-09 22:51:23] [INFO]   -> Set field 'policeReportNumber' = "20260026024"
[2026-03-09 22:51:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 22:51:23] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRY  [03/09/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03/09/26 17:...
[2026-03-09 22:51:23] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:51:23] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]"
[2026-03-09 22:51:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 22:51:23] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 22:51:23] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 22:51:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 22:51:23] [INFO]   -> Found value: WALTER
[2026-03-09 22:51:23] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-09 22:51:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 22:51:23] [INFO]   -> Found value: LN
[2026-03-09 22:51:23] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-09 22:51:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 22:51:23] [INFO]   -> Found value: 1505 WALTER LN
[2026-03-09 22:51:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1505 WALTER LN"
[2026-03-09 22:51:23] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 22:51:23] [INFO] Concatenating street name and type
[2026-03-09 22:51:23] [INFO]   -> Combined street name: WALTER LN
[2026-03-09 22:51:23] [INFO] Built locationCoordinates from lat/lng: 36.18979,-85.52834
[2026-03-09 22:51:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000647","dispatchRunNumber":"2026000647","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1505,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1897900000000021236701286397874355316162109375,"nERISIncidentLongitude":-85.5283400000000000318323145620524883270263671875,"alarm":"2026-03-09 17:49:35","dispatched":"2026-03-09 17:50:27","enroute":"2026-03-09 17:51:14","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"TK12","timedispatch":"2026-03-09 17:51:11","timeenroutetoscene":"2026-03-09 17:51:14","policeReportNumber":"20260026024","dispatchNotes":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","cADLog":"[EMS] FRONT DOOR ENTRY  [03\/09\/26 17:50:16 MCLAYBURN2] [EMS] OXYGEN GOING UP AND DOWN  [03\/09\/26 17:50:03 MCLAYBURN2] [EMS] ON OXYGEN  MELISSA ELROD  53 YR OLD  [03\/09\/26 17:49:53 MCLAYBURN2] Event spawned from BREATHING PROBLEMS.  [03\/09\/2026 17:49:35 MCLAYBURN2] BREATHING PROBLEMS  [03\/09\/26 17:49:32 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1505 WALTER LN","locationCoordinates":"36.18979,-85.52834"}
[2026-03-09 22:51:23] [INFO] Number of extracted fields: 23
[2026-03-09 22:51:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 22:51:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 22:51:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 22:51:23] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 22:51:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 22:51:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 22:51:23] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 22:51:23] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 22:51:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 22:51:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 22:51:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 22:51:24] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-09 22:51:24] [INFO] Found existing Dispatch with cADNumber '2026000647', ID: 69af4eb7d234549b9 - will update instead of create
[2026-03-09 22:51:24] [INFO] Updated existing Dispatches record with ID: 69af4eb7d234549b9
[2026-03-09 22:51:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225123.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026024_20260309_225123.XML
[2026-03-09 22:51:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026024_20260309_225123.XML
[2026-03-09 23:00:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030.XML
[2026-03-09 23:00:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030.XML for user: 68f1466aed072ad4a
[2026-03-09 23:00:30] [INFO] File size: 5416 bytes
[2026-03-09 23:00:31] [INFO] Created FTPFiles record with ID: 69af510f12d604b36
[2026-03-09 23:00:31] [INFO] About to extract fields from XML. File size: 5416 bytes
[2026-03-09 23:00:31] [INFO] Number of mappings: 28
[2026-03-09 23:00:31] [INFO] Starting XML parsing. Content length: 5416
[2026-03-09 23:00:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:00:31] [INFO] Processing 28 field mappings
[2026-03-09 23:00:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:00:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:00:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:00:31] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:00:31] [INFO]   -> Found value: MFD
EMS
MPD
[2026-03-09 23:00:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-03-09 23:00:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:00:31] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:00:31] [INFO]   -> Found value: 2026000088
[2026-03-09 23:00:31] [INFO]   -> Set field 'incidentInternalId' = "2026000088"
[2026-03-09 23:00:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000088"
[2026-03-09 23:00:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:00:31] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:00:31] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:00:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:00:31] [INFO]   -> Found value: 202
[2026-03-09 23:00:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:00:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:00:31] [INFO]   -> Found value: TN
[2026-03-09 23:00:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:00:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:00:31] [INFO]   -> Found value: 38574
[2026-03-09 23:00:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:00:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:00:31] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:00:31] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:00:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:00:31] [INFO]   -> Found value: 36.14394
[2026-03-09 23:00:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:00:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:00:31] [INFO]   -> Found value: -85.27072
[2026-03-09 23:00:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:00:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:00:31] [INFO]   -> Found value: 2026-03-09 17:59:29
[2026-03-09 23:00:31] [INFO]   -> Set field 'alarm' = "2026-03-09 17:59:29"
[2026-03-09 23:00:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:00:31] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:00:31] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:00:25"
[2026-03-09 23:00:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:00:31] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:00:31] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:00:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:00:31] [INFO]   -> Found value: MFR
[2026-03-09 23:00:31] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-09 23:00:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:00:31] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:00:31] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:00:25"
[2026-03-09 23:00:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:00:31] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:00:31] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:00:31] [INFO]   -> Found value: 20260026031
[2026-03-09 23:00:31] [INFO]   -> Set field 'policeReportNumber' = "20260026031"
[2026-03-09 23:00:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:00:31] [INFO]   -> Found value: [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03/09/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03/09/26 ...
[2026-03-09 23:00:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:00:31] [INFO]   -> Set field 'cADLog' = "[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:00:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:00:31] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:00:31] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:00:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:00:31] [INFO]   -> Found value: STRATTON
[2026-03-09 23:00:31] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:00:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:00:31] [INFO]   -> Found value: AVE
[2026-03-09 23:00:31] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:00:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:00:31] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:00:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:00:31] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-09 23:00:31] [INFO] Concatenating street name and type
[2026-03-09 23:00:31] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:00:31] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:00:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000088","dispatchRunNumber":"2026000088","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 17:59:29","dispatched":"2026-03-09 18:00:25","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"MFR","timedispatch":"2026-03-09 18:00:25","policeReportNumber":"20260026031","dispatchNotes":"[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:00:31] [INFO] Number of extracted fields: 22
[2026-03-09 23:00:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-03-09 23:00:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:00:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-03-09 23:00:31] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:00:31] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-09 23:00:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-03-09 23:00:31] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-09 23:00:31] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-09 23:00:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:00:31] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-09 23:00:31] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-09 23:00:31] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-03-09 23:00:34] [INFO] Created new Dispatches record with ID: 69af51102c2c48d55
[2026-03-09 23:00:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/MFD_20260026031_20260309_230030.XML
[2026-03-09 23:00:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030.XML
[2026-03-09 23:00:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030_1.XML
[2026-03-09 23:00:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030_1.XML for user: 68f1466aed072ad4a
[2026-03-09 23:00:34] [INFO] File size: 5416 bytes
[2026-03-09 23:00:35] [INFO] Created FTPFiles record with ID: 69af511325f5f1ae5
[2026-03-09 23:00:35] [INFO] About to extract fields from XML. File size: 5416 bytes
[2026-03-09 23:00:35] [INFO] Number of mappings: 28
[2026-03-09 23:00:35] [INFO] Starting XML parsing. Content length: 5416
[2026-03-09 23:00:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:00:35] [INFO] Processing 28 field mappings
[2026-03-09 23:00:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:00:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:00:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:00:35] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:00:35] [INFO]   -> Found value: MFD
EMS
MPD
[2026-03-09 23:00:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-03-09 23:00:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:00:35] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:00:35] [INFO]   -> Found value: 2026000088
[2026-03-09 23:00:35] [INFO]   -> Set field 'incidentInternalId' = "2026000088"
[2026-03-09 23:00:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000088"
[2026-03-09 23:00:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:00:35] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:00:35] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:00:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:00:35] [INFO]   -> Found value: 202
[2026-03-09 23:00:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:00:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:00:35] [INFO]   -> Found value: TN
[2026-03-09 23:00:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:00:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:00:35] [INFO]   -> Found value: 38574
[2026-03-09 23:00:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:00:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:00:35] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:00:35] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:00:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:00:35] [INFO]   -> Found value: 36.14394
[2026-03-09 23:00:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:00:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:00:35] [INFO]   -> Found value: -85.27072
[2026-03-09 23:00:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:00:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:00:35] [INFO]   -> Found value: 2026-03-09 17:59:29
[2026-03-09 23:00:35] [INFO]   -> Set field 'alarm' = "2026-03-09 17:59:29"
[2026-03-09 23:00:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:00:35] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:00:35] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:00:25"
[2026-03-09 23:00:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:00:35] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:00:35] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:00:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:00:35] [INFO]   -> Found value: MFR
[2026-03-09 23:00:35] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-09 23:00:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:00:35] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:00:35] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:00:25"
[2026-03-09 23:00:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:00:35] [INFO]   -> No value found (null or empty)
[2026-03-09 23:00:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:00:35] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:00:35] [INFO]   -> Found value: 20260026031
[2026-03-09 23:00:35] [INFO]   -> Set field 'policeReportNumber' = "20260026031"
[2026-03-09 23:00:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:00:35] [INFO]   -> Found value: [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03/09/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03/09/26 ...
[2026-03-09 23:00:35] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:00:35] [INFO]   -> Set field 'cADLog' = "[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:00:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:00:35] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:00:35] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:00:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:00:35] [INFO]   -> Found value: STRATTON
[2026-03-09 23:00:35] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:00:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:00:35] [INFO]   -> Found value: AVE
[2026-03-09 23:00:35] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:00:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:00:35] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:00:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:00:35] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-09 23:00:35] [INFO] Concatenating street name and type
[2026-03-09 23:00:35] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:00:35] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:00:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000088","dispatchRunNumber":"2026000088","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 17:59:29","dispatched":"2026-03-09 18:00:25","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"MFR","timedispatch":"2026-03-09 18:00:25","policeReportNumber":"20260026031","dispatchNotes":"[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:00:35] [INFO] Number of extracted fields: 22
[2026-03-09 23:00:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-03-09 23:00:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:00:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-03-09 23:00:35] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:00:35] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-09 23:00:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-03-09 23:00:35] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-09 23:00:35] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-09 23:00:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:00:35] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-09 23:00:35] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-09 23:00:35] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-03-09 23:00:36] [INFO] Found existing Dispatch with cADNumber '2026000088', ID: 69af51102c2c48d55 - will update instead of create
[2026-03-09 23:00:36] [INFO] Updated existing Dispatches record with ID: 69af51102c2c48d55
[2026-03-09 23:00:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/MFD_20260026031_20260309_230030_1.XML
[2026-03-09 23:00:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230030_1.XML
[2026-03-09 23:01:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230142.XML
[2026-03-09 23:01:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230142.XML for user: 68f1466aed072ad4a
[2026-03-09 23:01:42] [INFO] File size: 6432 bytes
[2026-03-09 23:01:42] [INFO] Created FTPFiles record with ID: 69af51566f9c4fa95
[2026-03-09 23:01:42] [INFO] About to extract fields from XML. File size: 6432 bytes
[2026-03-09 23:01:42] [INFO] Number of mappings: 28
[2026-03-09 23:01:42] [INFO] Starting XML parsing. Content length: 6432
[2026-03-09 23:01:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:01:42] [INFO] Processing 28 field mappings
[2026-03-09 23:01:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:01:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:01:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:01:42] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:01:42] [INFO]   -> Found value: MFD
EMS
MPD
[2026-03-09 23:01:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-03-09 23:01:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:01:42] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:01:42] [INFO]   -> Found value: 2026000088
[2026-03-09 23:01:42] [INFO]   -> Set field 'incidentInternalId' = "2026000088"
[2026-03-09 23:01:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000088"
[2026-03-09 23:01:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:01:42] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:01:42] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:01:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:01:42] [INFO]   -> Found value: 202
[2026-03-09 23:01:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:01:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:01:42] [INFO]   -> Found value: TN
[2026-03-09 23:01:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:01:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:01:42] [INFO]   -> Found value: 38574
[2026-03-09 23:01:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:01:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:01:42] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:01:42] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:01:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:01:42] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:01:42] [INFO]   -> Found value: 36.14394
[2026-03-09 23:01:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:01:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:01:42] [INFO]   -> Found value: -85.27072
[2026-03-09 23:01:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:01:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:01:42] [INFO]   -> Found value: 2026-03-09 17:59:29
[2026-03-09 23:01:42] [INFO]   -> Set field 'alarm' = "2026-03-09 17:59:29"
[2026-03-09 23:01:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:01:42] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:01:42] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:00:25"
[2026-03-09 23:01:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:01:42] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:01:42] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:01:42] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:01:42] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:01:42] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:01:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:01:42] [INFO]   -> Found value: MFR
[2026-03-09 23:01:42] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-09 23:01:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:01:42] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:01:42] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:00:25"
[2026-03-09 23:01:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:01:42] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:01:42] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:01:42] [INFO]   -> Found value: 2026-03-09 18:01:40
[2026-03-09 23:01:42] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 18:01:40"
[2026-03-09 23:01:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:01:42] [INFO]   -> Found value: 2026-03-09 18:01:40
[2026-03-09 23:01:42] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 18:01:40"
[2026-03-09 23:01:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:01:42] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:01:42] [INFO]   -> Found value: 20260026031
[2026-03-09 23:01:42] [INFO]   -> Set field 'policeReportNumber' = "20260026031"
[2026-03-09 23:01:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:01:42] [INFO]   -> Found value: [LAW] MPD ENRT  [03/09/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03/09/26 1...
[2026-03-09 23:01:42] [INFO]   -> Set field 'dispatchNotes' = "[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:01:42] [INFO]   -> Set field 'cADLog' = "[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:01:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:01:42] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:01:42] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:01:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:01:42] [INFO]   -> Found value: STRATTON
[2026-03-09 23:01:42] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:01:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:01:42] [INFO]   -> Found value: AVE
[2026-03-09 23:01:42] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:01:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:01:42] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:01:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:01:42] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 23:01:42] [INFO] Concatenating street name and type
[2026-03-09 23:01:42] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:01:42] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:01:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000088","dispatchRunNumber":"2026000088","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 17:59:29","dispatched":"2026-03-09 18:00:25","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"MFR","timedispatch":"2026-03-09 18:00:25","timeunitclear":"2026-03-09 18:01:40","timecanceledenroute":"2026-03-09 18:01:40","policeReportNumber":"20260026031","dispatchNotes":"[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:01:42] [INFO] Number of extracted fields: 24
[2026-03-09 23:01:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-03-09 23:01:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:01:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-03-09 23:01:42] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:01:42] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-09 23:01:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-03-09 23:01:42] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-09 23:01:42] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-09 23:01:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:01:42] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-09 23:01:42] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-09 23:01:43] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-03-09 23:01:43] [INFO] Found existing Dispatch with cADNumber '2026000088', ID: 69af51102c2c48d55 - will update instead of create
[2026-03-09 23:01:43] [INFO] Updated existing Dispatches record with ID: 69af51102c2c48d55
[2026-03-09 23:01:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230142.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/MFD_20260026031_20260309_230142.XML
[2026-03-09 23:01:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230142.XML
[2026-03-09 23:01:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230147.XML
[2026-03-09 23:01:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230147.XML for user: 68f1466aed072ad4a
[2026-03-09 23:01:47] [INFO] File size: 6432 bytes
[2026-03-09 23:01:47] [INFO] Created FTPFiles record with ID: 69af515bcde449b7e
[2026-03-09 23:01:47] [INFO] About to extract fields from XML. File size: 6432 bytes
[2026-03-09 23:01:47] [INFO] Number of mappings: 28
[2026-03-09 23:01:47] [INFO] Starting XML parsing. Content length: 6432
[2026-03-09 23:01:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:01:47] [INFO] Processing 28 field mappings
[2026-03-09 23:01:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:01:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:01:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:01:47] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:01:47] [INFO]   -> Found value: MFD
EMS
MPD
[2026-03-09 23:01:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-03-09 23:01:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:01:47] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:01:47] [INFO]   -> Found value: 2026000088
[2026-03-09 23:01:47] [INFO]   -> Set field 'incidentInternalId' = "2026000088"
[2026-03-09 23:01:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000088"
[2026-03-09 23:01:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:01:47] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:01:47] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:01:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:01:47] [INFO]   -> Found value: 202
[2026-03-09 23:01:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:01:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:01:47] [INFO]   -> Found value: TN
[2026-03-09 23:01:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:01:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:01:47] [INFO]   -> Found value: 38574
[2026-03-09 23:01:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:01:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:01:47] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:01:47] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:01:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:01:47] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:01:47] [INFO]   -> Found value: 36.14394
[2026-03-09 23:01:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:01:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:01:47] [INFO]   -> Found value: -85.27072
[2026-03-09 23:01:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:01:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:01:47] [INFO]   -> Found value: 2026-03-09 17:59:29
[2026-03-09 23:01:47] [INFO]   -> Set field 'alarm' = "2026-03-09 17:59:29"
[2026-03-09 23:01:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:01:47] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:01:47] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:00:25"
[2026-03-09 23:01:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:01:47] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:01:47] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:01:47] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:01:47] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:01:47] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:01:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:01:47] [INFO]   -> Found value: MFR
[2026-03-09 23:01:47] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-09 23:01:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:01:47] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:01:47] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:00:25"
[2026-03-09 23:01:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:01:47] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:01:47] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:01:47] [INFO]   -> Found value: 2026-03-09 18:01:40
[2026-03-09 23:01:47] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 18:01:40"
[2026-03-09 23:01:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:01:47] [INFO]   -> Found value: 2026-03-09 18:01:40
[2026-03-09 23:01:47] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 18:01:40"
[2026-03-09 23:01:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:01:47] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:01:47] [INFO]   -> Found value: 20260026031
[2026-03-09 23:01:47] [INFO]   -> Set field 'policeReportNumber' = "20260026031"
[2026-03-09 23:01:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:01:47] [INFO]   -> Found value: [LAW] MPD ENRT  [03/09/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03/09/26 1...
[2026-03-09 23:01:47] [INFO]   -> Set field 'dispatchNotes' = "[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:01:47] [INFO]   -> Set field 'cADLog' = "[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:01:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:01:47] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:01:47] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:01:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:01:47] [INFO]   -> Found value: STRATTON
[2026-03-09 23:01:47] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:01:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:01:47] [INFO]   -> Found value: AVE
[2026-03-09 23:01:47] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:01:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:01:47] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:01:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:01:47] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 23:01:47] [INFO] Concatenating street name and type
[2026-03-09 23:01:47] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:01:47] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:01:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000088","dispatchRunNumber":"2026000088","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 17:59:29","dispatched":"2026-03-09 18:00:25","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"MFR","timedispatch":"2026-03-09 18:00:25","timeunitclear":"2026-03-09 18:01:40","timecanceledenroute":"2026-03-09 18:01:40","policeReportNumber":"20260026031","dispatchNotes":"[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:01:47] [INFO] Number of extracted fields: 24
[2026-03-09 23:01:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-03-09 23:01:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:01:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-03-09 23:01:47] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:01:48] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-09 23:01:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-03-09 23:01:48] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-09 23:01:48] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-09 23:01:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:01:48] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-09 23:01:48] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-09 23:01:48] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-03-09 23:01:48] [INFO] Found existing Dispatch with cADNumber '2026000088', ID: 69af51102c2c48d55 - will update instead of create
[2026-03-09 23:01:48] [INFO] Updated existing Dispatches record with ID: 69af51102c2c48d55
[2026-03-09 23:01:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230147.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/MFD_20260026031_20260309_230147.XML
[2026-03-09 23:01:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230147.XML
[2026-03-09 23:01:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230151.XML
[2026-03-09 23:01:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230151.XML for user: 68f1466aed072ad4a
[2026-03-09 23:01:51] [INFO] File size: 6432 bytes
[2026-03-09 23:01:52] [INFO] Created FTPFiles record with ID: 69af516000f632fbe
[2026-03-09 23:01:52] [INFO] About to extract fields from XML. File size: 6432 bytes
[2026-03-09 23:01:52] [INFO] Number of mappings: 28
[2026-03-09 23:01:52] [INFO] Starting XML parsing. Content length: 6432
[2026-03-09 23:01:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:01:52] [INFO] Processing 28 field mappings
[2026-03-09 23:01:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:01:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:01:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:01:52] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:01:52] [INFO]   -> Found value: MFD
EMS
MPD
[2026-03-09 23:01:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-03-09 23:01:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:01:52] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:01:52] [INFO]   -> Found value: 2026000088
[2026-03-09 23:01:52] [INFO]   -> Set field 'incidentInternalId' = "2026000088"
[2026-03-09 23:01:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000088"
[2026-03-09 23:01:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:01:52] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:01:52] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:01:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:01:52] [INFO]   -> Found value: 202
[2026-03-09 23:01:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:01:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:01:52] [INFO]   -> Found value: TN
[2026-03-09 23:01:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:01:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:01:52] [INFO]   -> Found value: 38574
[2026-03-09 23:01:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:01:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:01:52] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:01:52] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:01:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:01:52] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:01:52] [INFO]   -> Found value: 36.14394
[2026-03-09 23:01:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:01:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:01:52] [INFO]   -> Found value: -85.27072
[2026-03-09 23:01:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:01:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:01:52] [INFO]   -> Found value: 2026-03-09 17:59:29
[2026-03-09 23:01:52] [INFO]   -> Set field 'alarm' = "2026-03-09 17:59:29"
[2026-03-09 23:01:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:01:52] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:01:52] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:00:25"
[2026-03-09 23:01:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:01:52] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:01:52] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:01:52] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:01:52] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:01:52] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:01:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:01:52] [INFO]   -> Found value: MFR
[2026-03-09 23:01:52] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-09 23:01:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:01:52] [INFO]   -> Found value: 2026-03-09 18:00:25
[2026-03-09 23:01:52] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:00:25"
[2026-03-09 23:01:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:01:52] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:01:52] [INFO]   -> No value found (null or empty)
[2026-03-09 23:01:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:01:52] [INFO]   -> Found value: 2026-03-09 18:01:40
[2026-03-09 23:01:52] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 18:01:40"
[2026-03-09 23:01:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:01:52] [INFO]   -> Found value: 2026-03-09 18:01:40
[2026-03-09 23:01:52] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 18:01:40"
[2026-03-09 23:01:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:01:52] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:01:52] [INFO]   -> Found value: 20260026031
[2026-03-09 23:01:52] [INFO]   -> Set field 'policeReportNumber' = "20260026031"
[2026-03-09 23:01:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:01:52] [INFO]   -> Found value: [LAW] MPD ENRT  [03/09/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03/09/26 1...
[2026-03-09 23:01:52] [INFO]   -> Set field 'dispatchNotes' = "[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:01:52] [INFO]   -> Set field 'cADLog' = "[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:01:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:01:52] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:01:52] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:01:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:01:52] [INFO]   -> Found value: STRATTON
[2026-03-09 23:01:52] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:01:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:01:52] [INFO]   -> Found value: AVE
[2026-03-09 23:01:52] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:01:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:01:52] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:01:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:01:52] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 23:01:52] [INFO] Concatenating street name and type
[2026-03-09 23:01:52] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:01:52] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:01:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000088","dispatchRunNumber":"2026000088","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 17:59:29","dispatched":"2026-03-09 18:00:25","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"MFR","timedispatch":"2026-03-09 18:00:25","timeunitclear":"2026-03-09 18:01:40","timecanceledenroute":"2026-03-09 18:01:40","policeReportNumber":"20260026031","dispatchNotes":"[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:01:52] [INFO] Number of extracted fields: 24
[2026-03-09 23:01:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-03-09 23:01:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:01:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-03-09 23:01:52] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:01:52] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-09 23:01:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-03-09 23:01:52] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-09 23:01:52] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-09 23:01:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:01:52] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-09 23:01:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-09 23:01:52] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-03-09 23:01:52] [INFO] Found existing Dispatch with cADNumber '2026000088', ID: 69af51102c2c48d55 - will update instead of create
[2026-03-09 23:01:52] [INFO] Updated existing Dispatches record with ID: 69af51102c2c48d55
[2026-03-09 23:01:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230151.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/MFD_20260026031_20260309_230151.XML
[2026-03-09 23:01:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260026031_20260309_230151.XML
[2026-03-09 23:03:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230315.XML
[2026-03-09 23:03:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230315.XML for user: 68f1466aed072ad4a
[2026-03-09 23:03:15] [INFO] File size: 6210 bytes
[2026-03-09 23:03:15] [INFO] Created FTPFiles record with ID: 69af51b3c7676437e
[2026-03-09 23:03:15] [INFO] About to extract fields from XML. File size: 6210 bytes
[2026-03-09 23:03:15] [INFO] Number of mappings: 28
[2026-03-09 23:03:15] [INFO] Starting XML parsing. Content length: 6210
[2026-03-09 23:03:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:03:15] [INFO] Processing 28 field mappings
[2026-03-09 23:03:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:03:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:03:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:03:15] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 23:03:15] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-09 23:03:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-09 23:03:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:03:15] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:03:15] [INFO]   -> Found value: 2026000648
[2026-03-09 23:03:15] [INFO]   -> Set field 'incidentInternalId' = "2026000648"
[2026-03-09 23:03:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000648"
[2026-03-09 23:03:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:03:15] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:03:15] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:03:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:03:15] [INFO]   -> Found value: 202
[2026-03-09 23:03:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:03:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:03:15] [INFO]   -> Found value: TN
[2026-03-09 23:03:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:03:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:03:15] [INFO]   -> Found value: 38574
[2026-03-09 23:03:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:03:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:03:15] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:03:15] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:03:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:03:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:03:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:03:15] [INFO]   -> Found value: 36.14394
[2026-03-09 23:03:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:03:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:03:15] [INFO]   -> Found value: -85.27072
[2026-03-09 23:03:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:03:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:03:15] [INFO]   -> Found value: 2026-03-09 18:02:27
[2026-03-09 23:03:15] [INFO]   -> Set field 'alarm' = "2026-03-09 18:02:27"
[2026-03-09 23:03:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:03:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:03:15] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:03:12"
[2026-03-09 23:03:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:03:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:03:15] [INFO]   -> Set field 'enroute' = "2026-03-09 18:03:12"
[2026-03-09 23:03:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:03:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:03:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:03:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:03:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:03:15] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:03:15] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:03:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:03:15] [INFO]   -> Found value: TK21
[2026-03-09 23:03:15] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-09 23:03:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:03:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:03:15] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:03:12"
[2026-03-09 23:03:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:03:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:03:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:03:12"
[2026-03-09 23:03:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:03:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:03:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:03:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:03:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:03:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:03:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:03:15] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:03:15] [INFO]   -> Found value: 20260026033
[2026-03-09 23:03:15] [INFO]   -> Set field 'policeReportNumber' = "20260026033"
[2026-03-09 23:03:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:03:15] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/09/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03/...
[2026-03-09 23:03:15] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:03:15] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:03:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:03:15] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:03:15] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:03:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:03:15] [INFO]   -> Found value: STRATTON
[2026-03-09 23:03:15] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:03:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:03:15] [INFO]   -> Found value: AVE
[2026-03-09 23:03:15] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:03:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:03:15] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:03:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:03:15] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-09 23:03:15] [INFO] Concatenating street name and type
[2026-03-09 23:03:15] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:03:15] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:03:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000648","dispatchRunNumber":"2026000648","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 18:02:27","dispatched":"2026-03-09 18:03:12","enroute":"2026-03-09 18:03:12","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"TK21","timedispatch":"2026-03-09 18:03:12","timeenroutetoscene":"2026-03-09 18:03:12","policeReportNumber":"20260026033","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:03:15] [INFO] Number of extracted fields: 24
[2026-03-09 23:03:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-09 23:03:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 23:03:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-09 23:03:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:03:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:03:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-09 23:03:16] [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-09 23:03:16] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:03:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 23:03:16] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:03:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:03:16] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-09 23:03:26] [INFO] Created new Dispatches record with ID: 69af51b4aa52892c9
[2026-03-09 23:03:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230315.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026033_20260309_230315.XML
[2026-03-09 23:03:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230315.XML
[2026-03-09 23:06:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610.XML
[2026-03-09 23:06:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610.XML for user: 68f1466aed072ad4a
[2026-03-09 23:06:10] [INFO] File size: 6422 bytes
[2026-03-09 23:06:11] [INFO] Created FTPFiles record with ID: 69af52630cab18be1
[2026-03-09 23:06:11] [INFO] About to extract fields from XML. File size: 6422 bytes
[2026-03-09 23:06:11] [INFO] Number of mappings: 28
[2026-03-09 23:06:11] [INFO] Starting XML parsing. Content length: 6422
[2026-03-09 23:06:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:06:11] [INFO] Processing 28 field mappings
[2026-03-09 23:06:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:06:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:06:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:06:11] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 23:06:11] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-09 23:06:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-09 23:06:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:06:11] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026000648
[2026-03-09 23:06:11] [INFO]   -> Set field 'incidentInternalId' = "2026000648"
[2026-03-09 23:06:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000648"
[2026-03-09 23:06:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:06:11] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:06:11] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:06:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:06:11] [INFO]   -> Found value: 202
[2026-03-09 23:06:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:06:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:06:11] [INFO]   -> Found value: TN
[2026-03-09 23:06:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:06:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:06:11] [INFO]   -> Found value: 38574
[2026-03-09 23:06:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:06:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:06:11] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:06:11] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:06:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:06:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:06:11] [INFO]   -> Found value: 36.14394
[2026-03-09 23:06:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:06:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:06:11] [INFO]   -> Found value: -85.27072
[2026-03-09 23:06:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:06:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026-03-09 18:02:27
[2026-03-09 23:06:11] [INFO]   -> Set field 'alarm' = "2026-03-09 18:02:27"
[2026-03-09 23:06:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:11] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:03:12"
[2026-03-09 23:06:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:11] [INFO]   -> Set field 'enroute' = "2026-03-09 18:03:12"
[2026-03-09 23:06:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:11] [INFO]   -> Set field 'onScene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:06:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:06:11] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:06:11] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:06:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:06:11] [INFO]   -> Found value: TK21
[2026-03-09 23:06:11] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-09 23:06:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:11] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:03:12"
[2026-03-09 23:06:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:03:12"
[2026-03-09 23:06:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:06:11] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:11] [INFO]   -> Set field 'timeonscene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:06:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:06:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:06:11] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:06:11] [INFO]   -> Found value: 20260026033
[2026-03-09 23:06:11] [INFO]   -> Set field 'policeReportNumber' = "20260026033"
[2026-03-09 23:06:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:06:11] [INFO]   -> Found value: [LAW] {M103} EMS ON SCENE  [03/09/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03/09/26 18:03:58 ECLEM...
[2026-03-09 23:06:11] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:11] [INFO]   -> Set field 'cADLog' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:06:11] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:06:11] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:06:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:06:11] [INFO]   -> Found value: STRATTON
[2026-03-09 23:06:11] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:06:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:06:11] [INFO]   -> Found value: AVE
[2026-03-09 23:06:11] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:06:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:06:11] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:06:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:06:11] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-09 23:06:11] [INFO] Concatenating street name and type
[2026-03-09 23:06:11] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:06:11] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:06:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000648","dispatchRunNumber":"2026000648","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 18:02:27","dispatched":"2026-03-09 18:03:12","enroute":"2026-03-09 18:03:12","onScene":"2026-03-09 18:06:06","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"TK21","timedispatch":"2026-03-09 18:03:12","timeenroutetoscene":"2026-03-09 18:03:12","timeonscene":"2026-03-09 18:06:06","policeReportNumber":"20260026033","dispatchNotes":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:06:11] [INFO] Number of extracted fields: 26
[2026-03-09 23:06:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-09 23:06:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 23:06:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-09 23:06:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:06:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:06:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-09 23:06:11] [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-09 23:06:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:06:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 23:06:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:06:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:06:11] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-09 23:06:11] [INFO] Found existing Dispatch with cADNumber '2026000648', ID: 69af51b4aa52892c9 - will update instead of create
[2026-03-09 23:06:11] [INFO] Updated existing Dispatches record with ID: 69af51b4aa52892c9
[2026-03-09 23:06:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026033_20260309_230610.XML
[2026-03-09 23:06:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610.XML
[2026-03-09 23:06:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610_1.XML
[2026-03-09 23:06:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610_1.XML for user: 68f1466aed072ad4a
[2026-03-09 23:06:12] [INFO] File size: 6422 bytes
[2026-03-09 23:06:12] [INFO] Created FTPFiles record with ID: 69af526459c5823d5
[2026-03-09 23:06:12] [INFO] About to extract fields from XML. File size: 6422 bytes
[2026-03-09 23:06:12] [INFO] Number of mappings: 28
[2026-03-09 23:06:12] [INFO] Starting XML parsing. Content length: 6422
[2026-03-09 23:06:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:06:12] [INFO] Processing 28 field mappings
[2026-03-09 23:06:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:06:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:06:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:06:12] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 23:06:12] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-09 23:06:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-09 23:06:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:06:12] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026000648
[2026-03-09 23:06:12] [INFO]   -> Set field 'incidentInternalId' = "2026000648"
[2026-03-09 23:06:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000648"
[2026-03-09 23:06:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:06:12] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:06:12] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:06:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:06:12] [INFO]   -> Found value: 202
[2026-03-09 23:06:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:06:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:06:12] [INFO]   -> Found value: TN
[2026-03-09 23:06:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:06:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:06:12] [INFO]   -> Found value: 38574
[2026-03-09 23:06:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:06:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:06:12] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:06:12] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:06:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:06:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:06:12] [INFO]   -> Found value: 36.14394
[2026-03-09 23:06:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:06:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:06:12] [INFO]   -> Found value: -85.27072
[2026-03-09 23:06:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:06:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026-03-09 18:02:27
[2026-03-09 23:06:12] [INFO]   -> Set field 'alarm' = "2026-03-09 18:02:27"
[2026-03-09 23:06:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:12] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:03:12"
[2026-03-09 23:06:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:12] [INFO]   -> Set field 'enroute' = "2026-03-09 18:03:12"
[2026-03-09 23:06:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:12] [INFO]   -> Set field 'onScene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:06:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:06:12] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:06:12] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:06:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:06:12] [INFO]   -> Found value: TK21
[2026-03-09 23:06:12] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-09 23:06:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:12] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:03:12"
[2026-03-09 23:06:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:03:12"
[2026-03-09 23:06:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:06:12] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:12] [INFO]   -> Set field 'timeonscene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:06:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:06:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:06:12] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:06:12] [INFO]   -> Found value: 20260026033
[2026-03-09 23:06:12] [INFO]   -> Set field 'policeReportNumber' = "20260026033"
[2026-03-09 23:06:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:06:12] [INFO]   -> Found value: [LAW] {M103} EMS ON SCENE  [03/09/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03/09/26 18:03:58 ECLEM...
[2026-03-09 23:06:12] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:12] [INFO]   -> Set field 'cADLog' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:06:12] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:06:12] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:06:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:06:12] [INFO]   -> Found value: STRATTON
[2026-03-09 23:06:12] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:06:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:06:12] [INFO]   -> Found value: AVE
[2026-03-09 23:06:12] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:06:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:06:12] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:06:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:06:12] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-09 23:06:12] [INFO] Concatenating street name and type
[2026-03-09 23:06:12] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:06:12] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:06:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000648","dispatchRunNumber":"2026000648","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 18:02:27","dispatched":"2026-03-09 18:03:12","enroute":"2026-03-09 18:03:12","onScene":"2026-03-09 18:06:06","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"TK21","timedispatch":"2026-03-09 18:03:12","timeenroutetoscene":"2026-03-09 18:03:12","timeonscene":"2026-03-09 18:06:06","policeReportNumber":"20260026033","dispatchNotes":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:06:12] [INFO] Number of extracted fields: 26
[2026-03-09 23:06:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-09 23:06:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 23:06:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-09 23:06:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:06:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:06:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-09 23:06:12] [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-09 23:06:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:06:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 23:06:12] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:06:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:06:12] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-09 23:06:13] [INFO] Found existing Dispatch with cADNumber '2026000648', ID: 69af51b4aa52892c9 - will update instead of create
[2026-03-09 23:06:13] [INFO] Updated existing Dispatches record with ID: 69af51b4aa52892c9
[2026-03-09 23:06:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026033_20260309_230610_1.XML
[2026-03-09 23:06:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230610_1.XML
[2026-03-09 23:06:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612.XML
[2026-03-09 23:06:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612.XML for user: 68f1466aed072ad4a
[2026-03-09 23:06:13] [INFO] File size: 6422 bytes
[2026-03-09 23:06:14] [INFO] Created FTPFiles record with ID: 69af5266348d77681
[2026-03-09 23:06:14] [INFO] About to extract fields from XML. File size: 6422 bytes
[2026-03-09 23:06:14] [INFO] Number of mappings: 28
[2026-03-09 23:06:14] [INFO] Starting XML parsing. Content length: 6422
[2026-03-09 23:06:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:06:14] [INFO] Processing 28 field mappings
[2026-03-09 23:06:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:06:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:06:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:06:14] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 23:06:14] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-09 23:06:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-09 23:06:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:06:14] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026000648
[2026-03-09 23:06:14] [INFO]   -> Set field 'incidentInternalId' = "2026000648"
[2026-03-09 23:06:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000648"
[2026-03-09 23:06:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:06:14] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:06:14] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:06:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:06:14] [INFO]   -> Found value: 202
[2026-03-09 23:06:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:06:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:06:14] [INFO]   -> Found value: TN
[2026-03-09 23:06:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:06:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:06:14] [INFO]   -> Found value: 38574
[2026-03-09 23:06:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:06:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:06:14] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:06:14] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:06:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:06:14] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:06:14] [INFO]   -> Found value: 36.14394
[2026-03-09 23:06:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:06:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:06:14] [INFO]   -> Found value: -85.27072
[2026-03-09 23:06:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:06:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026-03-09 18:02:27
[2026-03-09 23:06:14] [INFO]   -> Set field 'alarm' = "2026-03-09 18:02:27"
[2026-03-09 23:06:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:14] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:03:12"
[2026-03-09 23:06:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:14] [INFO]   -> Set field 'enroute' = "2026-03-09 18:03:12"
[2026-03-09 23:06:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:14] [INFO]   -> Set field 'onScene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:06:14] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:06:14] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:06:14] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:06:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:06:14] [INFO]   -> Found value: TK21
[2026-03-09 23:06:14] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-09 23:06:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:14] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:03:12"
[2026-03-09 23:06:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:03:12"
[2026-03-09 23:06:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:06:14] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:14] [INFO]   -> Set field 'timeonscene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:06:14] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:06:14] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:06:14] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:06:14] [INFO]   -> Found value: 20260026033
[2026-03-09 23:06:14] [INFO]   -> Set field 'policeReportNumber' = "20260026033"
[2026-03-09 23:06:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:06:14] [INFO]   -> Found value: [LAW] {M103} EMS ON SCENE  [03/09/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03/09/26 18:03:58 ECLEM...
[2026-03-09 23:06:14] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:14] [INFO]   -> Set field 'cADLog' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:06:14] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:06:14] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:06:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:06:14] [INFO]   -> Found value: STRATTON
[2026-03-09 23:06:14] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:06:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:06:14] [INFO]   -> Found value: AVE
[2026-03-09 23:06:14] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:06:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:06:14] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:06:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:06:14] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-09 23:06:14] [INFO] Concatenating street name and type
[2026-03-09 23:06:14] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:06:14] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:06:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000648","dispatchRunNumber":"2026000648","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 18:02:27","dispatched":"2026-03-09 18:03:12","enroute":"2026-03-09 18:03:12","onScene":"2026-03-09 18:06:06","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"TK21","timedispatch":"2026-03-09 18:03:12","timeenroutetoscene":"2026-03-09 18:03:12","timeonscene":"2026-03-09 18:06:06","policeReportNumber":"20260026033","dispatchNotes":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:06:14] [INFO] Number of extracted fields: 26
[2026-03-09 23:06:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-09 23:06:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 23:06:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-09 23:06:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:06:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:06:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-09 23:06:14] [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-09 23:06:14] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:06:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 23:06:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:06:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:06:14] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-09 23:06:14] [INFO] Found existing Dispatch with cADNumber '2026000648', ID: 69af51b4aa52892c9 - will update instead of create
[2026-03-09 23:06:15] [INFO] Updated existing Dispatches record with ID: 69af51b4aa52892c9
[2026-03-09 23:06:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026033_20260309_230612.XML
[2026-03-09 23:06:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612.XML
[2026-03-09 23:06:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612_1.XML
[2026-03-09 23:06:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612_1.XML for user: 68f1466aed072ad4a
[2026-03-09 23:06:15] [INFO] File size: 6422 bytes
[2026-03-09 23:06:15] [INFO] Created FTPFiles record with ID: 69af526769cdc4740
[2026-03-09 23:06:15] [INFO] About to extract fields from XML. File size: 6422 bytes
[2026-03-09 23:06:15] [INFO] Number of mappings: 28
[2026-03-09 23:06:15] [INFO] Starting XML parsing. Content length: 6422
[2026-03-09 23:06:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:06:15] [INFO] Processing 28 field mappings
[2026-03-09 23:06:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:06:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:06:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:06:15] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-09 23:06:15] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-09 23:06:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-09 23:06:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:06:15] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026000648
[2026-03-09 23:06:15] [INFO]   -> Set field 'incidentInternalId' = "2026000648"
[2026-03-09 23:06:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000648"
[2026-03-09 23:06:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:06:15] [INFO]   -> Found value: CHEST PAIN
[2026-03-09 23:06:15] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-09 23:06:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:06:15] [INFO]   -> Found value: 202
[2026-03-09 23:06:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 202
[2026-03-09 23:06:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:06:15] [INFO]   -> Found value: TN
[2026-03-09 23:06:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:06:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:06:15] [INFO]   -> Found value: 38574
[2026-03-09 23:06:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-09 23:06:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:06:15] [INFO]   -> Found value: MONTEREY DAIRY QUEEN
[2026-03-09 23:06:15] [INFO]   -> Set field 'businessName' = "MONTEREY DAIRY QUEEN"
[2026-03-09 23:06:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:06:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:06:15] [INFO]   -> Found value: 36.14394
[2026-03-09 23:06:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1439400000000006230038707144558429718017578125
[2026-03-09 23:06:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:06:15] [INFO]   -> Found value: -85.27072
[2026-03-09 23:06:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2707199999999971851138980127871036529541015625
[2026-03-09 23:06:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026-03-09 18:02:27
[2026-03-09 23:06:15] [INFO]   -> Set field 'alarm' = "2026-03-09 18:02:27"
[2026-03-09 23:06:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:15] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:03:12"
[2026-03-09 23:06:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:15] [INFO]   -> Set field 'enroute' = "2026-03-09 18:03:12"
[2026-03-09 23:06:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:15] [INFO]   -> Set field 'onScene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:06:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:06:15] [INFO]   -> Found value: S CHESTNUT ST/S ELM ST
[2026-03-09 23:06:15] [INFO]   -> Set field 'incidentLocationCross' = "S CHESTNUT ST\/S ELM ST"
[2026-03-09 23:06:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:06:15] [INFO]   -> Found value: TK21
[2026-03-09 23:06:15] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-09 23:06:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:15] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:03:12"
[2026-03-09 23:06:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026-03-09 18:03:12
[2026-03-09 23:06:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:03:12"
[2026-03-09 23:06:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:06:15] [INFO]   -> Found value: 2026-03-09 18:06:06
[2026-03-09 23:06:15] [INFO]   -> Set field 'timeonscene' = "2026-03-09 18:06:06"
[2026-03-09 23:06:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:06:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:06:15] [INFO]   -> No value found (null or empty)
[2026-03-09 23:06:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:06:15] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:06:15] [INFO]   -> Found value: 20260026033
[2026-03-09 23:06:15] [INFO]   -> Set field 'policeReportNumber' = "20260026033"
[2026-03-09 23:06:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:06:15] [INFO]   -> Found value: [LAW] {M103} EMS ON SCENE  [03/09/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03/09/26 18:03:58 ECLEM...
[2026-03-09 23:06:15] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:15] [INFO]   -> Set field 'cADLog' = "[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]"
[2026-03-09 23:06:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:06:15] [INFO]   -> Found value: MONTEREY
[2026-03-09 23:06:15] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-09 23:06:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:06:15] [INFO]   -> Found value: STRATTON
[2026-03-09 23:06:15] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-03-09 23:06:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:06:15] [INFO]   -> Found value: AVE
[2026-03-09 23:06:15] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-09 23:06:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:06:15] [INFO]   -> Found value: 202 E STRATTON AVE
[2026-03-09 23:06:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "202 E STRATTON AVE"
[2026-03-09 23:06:15] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-09 23:06:15] [INFO] Concatenating street name and type
[2026-03-09 23:06:15] [INFO]   -> Combined street name: STRATTON AVE
[2026-03-09 23:06:15] [INFO] Built locationCoordinates from lat/lng: 36.14394,-85.27072
[2026-03-09 23:06:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000648","dispatchRunNumber":"2026000648","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":202,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY DAIRY QUEEN","nERISIncidentLatitude":36.1439400000000006230038707144558429718017578125,"nERISIncidentLongitude":-85.2707199999999971851138980127871036529541015625,"alarm":"2026-03-09 18:02:27","dispatched":"2026-03-09 18:03:12","enroute":"2026-03-09 18:03:12","onScene":"2026-03-09 18:06:06","incidentLocationCross":"S CHESTNUT ST\/S ELM ST","cADVehicleID":"TK21","timedispatch":"2026-03-09 18:03:12","timeenroutetoscene":"2026-03-09 18:03:12","timeonscene":"2026-03-09 18:06:06","policeReportNumber":"20260026033","dispatchNotes":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","cADLog":"[LAW] {M103} EMS ON SCENE  [03\/09\/26 18:04:01 ECLEMENS] [LAW] MPD ON SCENE  [03\/09\/26 18:03:58 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:02:27 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/09\/2026 18:01:50 DSTEPHENS] [LAW] MPD ENRT  [03\/09\/26 18:01:18 ECLEMENS] [EMS] BARRY SMITH 70YOM CHEST PAIN AND SOB  [03\/09\/26 18:00:03 SVOKOUN2] [EMS] TAN TRUCK  [03\/09\/26 17:59:39 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 17:59:36 ECLEMENS] Event spawned from CHEST PAIN.  [03\/09\/2026 17:59:29 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"202 E STRATTON AVE","locationCoordinates":"36.14394,-85.27072"}
[2026-03-09 23:06:15] [INFO] Number of extracted fields: 26
[2026-03-09 23:06:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-09 23:06:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-09 23:06:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-09 23:06:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:06:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:06:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-09 23:06: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-09 23:06: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-09 23:06:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-09 23:06:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:06:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:06:15] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-09 23:06:16] [INFO] Found existing Dispatch with cADNumber '2026000648', ID: 69af51b4aa52892c9 - will update instead of create
[2026-03-09 23:06:16] [INFO] Updated existing Dispatches record with ID: 69af51b4aa52892c9
[2026-03-09 23:06:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026033_20260309_230612_1.XML
[2026-03-09 23:06:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026033_20260309_230612_1.XML
[2026-03-09 23:35:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233521.XML
[2026-03-09 23:35:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233521.XML for user: 68f1466aed072ad4a
[2026-03-09 23:35:21] [INFO] File size: 5575 bytes
[2026-03-09 23:35:21] [INFO] Created FTPFiles record with ID: 69af5939a5c6bb203
[2026-03-09 23:35:21] [INFO] About to extract fields from XML. File size: 5575 bytes
[2026-03-09 23:35:21] [INFO] Number of mappings: 28
[2026-03-09 23:35:21] [INFO] Starting XML parsing. Content length: 5575
[2026-03-09 23:35:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:35:21] [INFO] Processing 28 field mappings
[2026-03-09 23:35:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:35:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:35:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:35:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 23:35:21] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 23:35:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 23:35:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:35:21] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:35:21] [INFO]   -> Found value: 2026000649
[2026-03-09 23:35:21] [INFO]   -> Set field 'incidentInternalId' = "2026000649"
[2026-03-09 23:35:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000649"
[2026-03-09 23:35:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:35:21] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 23:35:21] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 23:35:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:35:21] [INFO]   -> Found value: 7597
[2026-03-09 23:35:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7597
[2026-03-09 23:35:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:35:21] [INFO]   -> Found value: TN
[2026-03-09 23:35:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:35:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:35:21] [INFO]   -> Found value: 38506
[2026-03-09 23:35:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 23:35:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:35:21] [INFO]   -> Found value: 36.13828
[2026-03-09 23:35:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13828000000000173486114363186061382293701171875
[2026-03-09 23:35:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:35:21] [INFO]   -> Found value: -85.37678
[2026-03-09 23:35:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.37677999999999656211002729833126068115234375
[2026-03-09 23:35:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:35:21] [INFO]   -> Found value: 2026-03-09 18:33:54
[2026-03-09 23:35:21] [INFO]   -> Set field 'alarm' = "2026-03-09 18:33:54"
[2026-03-09 23:35:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:35:21] [INFO]   -> Found value: 2026-03-09 18:35:19
[2026-03-09 23:35:21] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:35:19"
[2026-03-09 23:35:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:35:21] [INFO]   -> Found value: SHADY LN/MACEDONIA CEMETERY RD
[2026-03-09 23:35:21] [INFO]   -> Set field 'incidentLocationCross' = "SHADY LN\/MACEDONIA CEMETERY RD"
[2026-03-09 23:35:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:35:21] [INFO]   -> Found value: PCFR
[2026-03-09 23:35:21] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 23:35:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:35:21] [INFO]   -> Found value: 2026-03-09 18:35:19
[2026-03-09 23:35:21] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:35:19"
[2026-03-09 23:35:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:35:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:35:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:35:21] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:35:21] [INFO]   -> Found value: 20260026038
[2026-03-09 23:35:21] [INFO]   -> Set field 'policeReportNumber' = "20260026038"
[2026-03-09 23:35:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:35:21] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/09/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03/09/26 18:34:12 SVOKOUN2] [L...
[2026-03-09 23:35:21] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:35:21] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:35:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:35:21] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:35:21] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:35:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:35:21] [INFO]   -> Found value: ROCKY POINT
[2026-03-09 23:35:21] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-09 23:35:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:35:21] [INFO]   -> Found value: RD
[2026-03-09 23:35:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 23:35:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:35:21] [INFO]   -> Found value: 7597 ROCKY POINT RD
[2026-03-09 23:35:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7597 ROCKY POINT RD"
[2026-03-09 23:35:21] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 23:35:21] [INFO] Concatenating street name and type
[2026-03-09 23:35:21] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-09 23:35:21] [INFO] Built locationCoordinates from lat/lng: 36.13828,-85.37678
[2026-03-09 23:35:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000649","dispatchRunNumber":"2026000649","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":7597,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13828000000000173486114363186061382293701171875,"nERISIncidentLongitude":-85.37677999999999656211002729833126068115234375,"alarm":"2026-03-09 18:33:54","dispatched":"2026-03-09 18:35:19","incidentLocationCross":"SHADY LN\/MACEDONIA CEMETERY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 18:35:19","policeReportNumber":"20260026038","dispatchNotes":"[LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","cADLog":"[LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"7597 ROCKY POINT RD","locationCoordinates":"36.13828,-85.37678"}
[2026-03-09 23:35:21] [INFO] Number of extracted fields: 21
[2026-03-09 23:35:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 23:35: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-09 23:35:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 23:35:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:35:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:35:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 23:35:22] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 23:35:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:35:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 23:35:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:35:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:35:22] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 23:35:33] [INFO] Created new Dispatches record with ID: 69af593b0cfc5e175
[2026-03-09 23:35:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233521.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026038_20260309_233521.XML
[2026-03-09 23:35:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233521.XML
[2026-03-09 23:37:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233702.XML
[2026-03-09 23:37:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233702.XML for user: 68f1466aed072ad4a
[2026-03-09 23:37:02] [INFO] File size: 6437 bytes
[2026-03-09 23:37:02] [INFO] Created FTPFiles record with ID: 69af599e9031939c2
[2026-03-09 23:37:02] [INFO] About to extract fields from XML. File size: 6437 bytes
[2026-03-09 23:37:02] [INFO] Number of mappings: 28
[2026-03-09 23:37:02] [INFO] Starting XML parsing. Content length: 6437
[2026-03-09 23:37:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:37:02] [INFO] Processing 28 field mappings
[2026-03-09 23:37:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:37:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:37:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:37:02] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 23:37:02] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 23:37:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 23:37:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:37:02] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:37:02] [INFO]   -> Found value: 2026000649
[2026-03-09 23:37:02] [INFO]   -> Set field 'incidentInternalId' = "2026000649"
[2026-03-09 23:37:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000649"
[2026-03-09 23:37:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:37:02] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 23:37:02] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 23:37:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:37:02] [INFO]   -> Found value: 7597
[2026-03-09 23:37:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7597
[2026-03-09 23:37:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:37:02] [INFO]   -> Found value: TN
[2026-03-09 23:37:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:37:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:37:02] [INFO]   -> Found value: 38506
[2026-03-09 23:37:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 23:37:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:37:02] [INFO]   -> Found value: 36.13828
[2026-03-09 23:37:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13828000000000173486114363186061382293701171875
[2026-03-09 23:37:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:37:02] [INFO]   -> Found value: -85.37678
[2026-03-09 23:37:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.37677999999999656211002729833126068115234375
[2026-03-09 23:37:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:37:02] [INFO]   -> Found value: 2026-03-09 18:33:54
[2026-03-09 23:37:02] [INFO]   -> Set field 'alarm' = "2026-03-09 18:33:54"
[2026-03-09 23:37:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:37:02] [INFO]   -> Found value: 2026-03-09 18:35:19
[2026-03-09 23:37:02] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:35:19"
[2026-03-09 23:37:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:37:02] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:02] [INFO]   -> Set field 'enroute' = "2026-03-09 18:36:59"
[2026-03-09 23:37:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:37:02] [INFO]   -> Found value: SHADY LN/MACEDONIA CEMETERY RD
[2026-03-09 23:37:02] [INFO]   -> Set field 'incidentLocationCross' = "SHADY LN\/MACEDONIA CEMETERY RD"
[2026-03-09 23:37:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:37:02] [INFO]   -> Found value: SQ11
[2026-03-09 23:37:02] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-09 23:37:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:37:02] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:02] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:36:59"
[2026-03-09 23:37:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:37:02] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:36:59"
[2026-03-09 23:37:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:37:02] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:37:02] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:37:02] [INFO]   -> Found value: 20260026038
[2026-03-09 23:37:02] [INFO]   -> Set field 'policeReportNumber' = "20260026038"
[2026-03-09 23:37:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:37:02] [INFO]   -> Found value: [EMS] HAS SEVERAL HEALTH ISSUES  [03/09/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03/09/26 18:34:51 EC...
[2026-03-09 23:37:02] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:02] [INFO]   -> Set field 'cADLog' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:37:02] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:37:02] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:37:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:37:02] [INFO]   -> Found value: ROCKY POINT
[2026-03-09 23:37:02] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-09 23:37:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:37:02] [INFO]   -> Found value: RD
[2026-03-09 23:37:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 23:37:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:37:02] [INFO]   -> Found value: 7597 ROCKY POINT RD
[2026-03-09 23:37:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7597 ROCKY POINT RD"
[2026-03-09 23:37:02] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:37:02] [INFO] Concatenating street name and type
[2026-03-09 23:37:02] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-09 23:37:02] [INFO] Built locationCoordinates from lat/lng: 36.13828,-85.37678
[2026-03-09 23:37:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000649","dispatchRunNumber":"2026000649","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":7597,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13828000000000173486114363186061382293701171875,"nERISIncidentLongitude":-85.37677999999999656211002729833126068115234375,"alarm":"2026-03-09 18:33:54","dispatched":"2026-03-09 18:35:19","enroute":"2026-03-09 18:36:59","incidentLocationCross":"SHADY LN\/MACEDONIA CEMETERY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-09 18:36:59","timeenroutetoscene":"2026-03-09 18:36:59","policeReportNumber":"20260026038","dispatchNotes":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","cADLog":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"7597 ROCKY POINT RD","locationCoordinates":"36.13828,-85.37678"}
[2026-03-09 23:37:02] [INFO] Number of extracted fields: 23
[2026-03-09 23:37:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 23:37:02] [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-09 23:37:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 23:37:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:37:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:37:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 23:37:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 23:37:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:37:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 23:37:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:37:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:37:03] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 23:37:03] [INFO] Found existing Dispatch with cADNumber '2026000649', ID: 69af593b0cfc5e175 - will update instead of create
[2026-03-09 23:37:03] [INFO] Updated existing Dispatches record with ID: 69af593b0cfc5e175
[2026-03-09 23:37:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233702.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026038_20260309_233702.XML
[2026-03-09 23:37:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233702.XML
[2026-03-09 23:37:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233705.XML
[2026-03-09 23:37:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233705.XML for user: 68f1466aed072ad4a
[2026-03-09 23:37:05] [INFO] File size: 6437 bytes
[2026-03-09 23:37:05] [INFO] Created FTPFiles record with ID: 69af59a18d1769566
[2026-03-09 23:37:05] [INFO] About to extract fields from XML. File size: 6437 bytes
[2026-03-09 23:37:05] [INFO] Number of mappings: 28
[2026-03-09 23:37:05] [INFO] Starting XML parsing. Content length: 6437
[2026-03-09 23:37:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:37:05] [INFO] Processing 28 field mappings
[2026-03-09 23:37:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:37:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:37:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:37:05] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 23:37:05] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 23:37:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 23:37:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:37:05] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:37:05] [INFO]   -> Found value: 2026000649
[2026-03-09 23:37:05] [INFO]   -> Set field 'incidentInternalId' = "2026000649"
[2026-03-09 23:37:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000649"
[2026-03-09 23:37:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:37:05] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 23:37:05] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 23:37:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:37:05] [INFO]   -> Found value: 7597
[2026-03-09 23:37:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7597
[2026-03-09 23:37:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:37:05] [INFO]   -> Found value: TN
[2026-03-09 23:37:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:37:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:37:05] [INFO]   -> Found value: 38506
[2026-03-09 23:37:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 23:37:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:37:05] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:37:05] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:37:05] [INFO]   -> Found value: 36.13828
[2026-03-09 23:37:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13828000000000173486114363186061382293701171875
[2026-03-09 23:37:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:37:05] [INFO]   -> Found value: -85.37678
[2026-03-09 23:37:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.37677999999999656211002729833126068115234375
[2026-03-09 23:37:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:37:05] [INFO]   -> Found value: 2026-03-09 18:33:54
[2026-03-09 23:37:05] [INFO]   -> Set field 'alarm' = "2026-03-09 18:33:54"
[2026-03-09 23:37:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:37:05] [INFO]   -> Found value: 2026-03-09 18:35:19
[2026-03-09 23:37:05] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:35:19"
[2026-03-09 23:37:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:37:05] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:05] [INFO]   -> Set field 'enroute' = "2026-03-09 18:36:59"
[2026-03-09 23:37:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:37:05] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:37:05] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:37:05] [INFO]   -> Found value: SHADY LN/MACEDONIA CEMETERY RD
[2026-03-09 23:37:05] [INFO]   -> Set field 'incidentLocationCross' = "SHADY LN\/MACEDONIA CEMETERY RD"
[2026-03-09 23:37:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:37:05] [INFO]   -> Found value: SQ11
[2026-03-09 23:37:05] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-09 23:37:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:37:05] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:05] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:36:59"
[2026-03-09 23:37:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:37:05] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:05] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:36:59"
[2026-03-09 23:37:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:37:05] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:37:05] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:37:05] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:37:05] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:37:05] [INFO]   -> Found value: 20260026038
[2026-03-09 23:37:05] [INFO]   -> Set field 'policeReportNumber' = "20260026038"
[2026-03-09 23:37:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:37:05] [INFO]   -> Found value: [EMS] HAS SEVERAL HEALTH ISSUES  [03/09/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03/09/26 18:34:51 EC...
[2026-03-09 23:37:05] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:05] [INFO]   -> Set field 'cADLog' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:37:05] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:37:05] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:37:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:37:05] [INFO]   -> Found value: ROCKY POINT
[2026-03-09 23:37:05] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-09 23:37:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:37:05] [INFO]   -> Found value: RD
[2026-03-09 23:37:05] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 23:37:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:37:05] [INFO]   -> Found value: 7597 ROCKY POINT RD
[2026-03-09 23:37:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7597 ROCKY POINT RD"
[2026-03-09 23:37:05] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:37:05] [INFO] Concatenating street name and type
[2026-03-09 23:37:05] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-09 23:37:05] [INFO] Built locationCoordinates from lat/lng: 36.13828,-85.37678
[2026-03-09 23:37:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000649","dispatchRunNumber":"2026000649","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":7597,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13828000000000173486114363186061382293701171875,"nERISIncidentLongitude":-85.37677999999999656211002729833126068115234375,"alarm":"2026-03-09 18:33:54","dispatched":"2026-03-09 18:35:19","enroute":"2026-03-09 18:36:59","incidentLocationCross":"SHADY LN\/MACEDONIA CEMETERY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-09 18:36:59","timeenroutetoscene":"2026-03-09 18:36:59","policeReportNumber":"20260026038","dispatchNotes":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","cADLog":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"7597 ROCKY POINT RD","locationCoordinates":"36.13828,-85.37678"}
[2026-03-09 23:37:05] [INFO] Number of extracted fields: 23
[2026-03-09 23:37:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 23:37:05] [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-09 23:37:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 23:37:05] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:37:05] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:37:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 23:37: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-09 23:37: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-09 23:37:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 23:37:05] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:37:05] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:37:06] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 23:37:06] [INFO] Found existing Dispatch with cADNumber '2026000649', ID: 69af593b0cfc5e175 - will update instead of create
[2026-03-09 23:37:06] [INFO] Updated existing Dispatches record with ID: 69af593b0cfc5e175
[2026-03-09 23:37:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233705.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026038_20260309_233705.XML
[2026-03-09 23:37:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233705.XML
[2026-03-09 23:37:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233710.XML
[2026-03-09 23:37:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233710.XML for user: 68f1466aed072ad4a
[2026-03-09 23:37:10] [INFO] File size: 7315 bytes
[2026-03-09 23:37:11] [INFO] Created FTPFiles record with ID: 69af59a72e2cb0d4e
[2026-03-09 23:37:11] [INFO] About to extract fields from XML. File size: 7315 bytes
[2026-03-09 23:37:11] [INFO] Number of mappings: 28
[2026-03-09 23:37:11] [INFO] Starting XML parsing. Content length: 7315
[2026-03-09 23:37:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:37:11] [INFO] Processing 28 field mappings
[2026-03-09 23:37:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:37:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:37:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:37:11] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 23:37:11] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 23:37:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 23:37:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:37:11] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:37:11] [INFO]   -> Found value: 2026000649
[2026-03-09 23:37:11] [INFO]   -> Set field 'incidentInternalId' = "2026000649"
[2026-03-09 23:37:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000649"
[2026-03-09 23:37:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:37:11] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 23:37:11] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 23:37:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:37:11] [INFO]   -> Found value: 7597
[2026-03-09 23:37:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7597
[2026-03-09 23:37:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:37:11] [INFO]   -> Found value: TN
[2026-03-09 23:37:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:37:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:37:11] [INFO]   -> Found value: 38506
[2026-03-09 23:37:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 23:37:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:37:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:37:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:37:11] [INFO]   -> Found value: 36.13828
[2026-03-09 23:37:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13828000000000173486114363186061382293701171875
[2026-03-09 23:37:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:37:11] [INFO]   -> Found value: -85.37678
[2026-03-09 23:37:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.37677999999999656211002729833126068115234375
[2026-03-09 23:37:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:37:11] [INFO]   -> Found value: 2026-03-09 18:33:54
[2026-03-09 23:37:11] [INFO]   -> Set field 'alarm' = "2026-03-09 18:33:54"
[2026-03-09 23:37:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:37:11] [INFO]   -> Found value: 2026-03-09 18:35:19
[2026-03-09 23:37:11] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:35:19"
[2026-03-09 23:37:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:37:11] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:11] [INFO]   -> Set field 'enroute' = "2026-03-09 18:36:59"
[2026-03-09 23:37:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:37:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:37:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:37:11] [INFO]   -> Found value: SHADY LN/MACEDONIA CEMETERY RD
[2026-03-09 23:37:11] [INFO]   -> Set field 'incidentLocationCross' = "SHADY LN\/MACEDONIA CEMETERY RD"
[2026-03-09 23:37:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:37:11] [INFO]   -> Found value: TK21
[2026-03-09 23:37:11] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-09 23:37:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:37:11] [INFO]   -> Found value: 2026-03-09 18:37:04
[2026-03-09 23:37:11] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:37:04"
[2026-03-09 23:37:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:37:11] [INFO]   -> Found value: 2026-03-09 18:37:04
[2026-03-09 23:37:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:37:04"
[2026-03-09 23:37:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:37:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:37:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:37:11] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:37:11] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:37:11] [INFO]   -> Found value: 20260026038
[2026-03-09 23:37:11] [INFO]   -> Set field 'policeReportNumber' = "20260026038"
[2026-03-09 23:37:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:37:11] [INFO]   -> Found value: [EMS] HAS SEVERAL HEALTH ISSUES  [03/09/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03/09/26 18:34:51 EC...
[2026-03-09 23:37:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:11] [INFO]   -> Set field 'cADLog' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:37:11] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:37:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:37:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:37:11] [INFO]   -> Found value: ROCKY POINT
[2026-03-09 23:37:11] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-09 23:37:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:37:11] [INFO]   -> Found value: RD
[2026-03-09 23:37:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 23:37:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:37:11] [INFO]   -> Found value: 7597 ROCKY POINT RD
[2026-03-09 23:37:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7597 ROCKY POINT RD"
[2026-03-09 23:37:11] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:37:11] [INFO] Concatenating street name and type
[2026-03-09 23:37:11] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-09 23:37:11] [INFO] Built locationCoordinates from lat/lng: 36.13828,-85.37678
[2026-03-09 23:37:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000649","dispatchRunNumber":"2026000649","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":7597,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13828000000000173486114363186061382293701171875,"nERISIncidentLongitude":-85.37677999999999656211002729833126068115234375,"alarm":"2026-03-09 18:33:54","dispatched":"2026-03-09 18:35:19","enroute":"2026-03-09 18:36:59","incidentLocationCross":"SHADY LN\/MACEDONIA CEMETERY RD","cADVehicleID":"TK21","timedispatch":"2026-03-09 18:37:04","timeenroutetoscene":"2026-03-09 18:37:04","policeReportNumber":"20260026038","dispatchNotes":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","cADLog":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"7597 ROCKY POINT RD","locationCoordinates":"36.13828,-85.37678"}
[2026-03-09 23:37:11] [INFO] Number of extracted fields: 23
[2026-03-09 23:37:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 23:37:11] [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-09 23:37:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 23:37:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:37:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:37:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 23:37:11] [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-09 23:37:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:37:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 23:37:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:37:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:37:11] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 23:37:11] [INFO] Found existing Dispatch with cADNumber '2026000649', ID: 69af593b0cfc5e175 - will update instead of create
[2026-03-09 23:37:12] [INFO] Updated existing Dispatches record with ID: 69af593b0cfc5e175
[2026-03-09 23:37:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233710.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026038_20260309_233710.XML
[2026-03-09 23:37:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233710.XML
[2026-03-09 23:37:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233712.XML
[2026-03-09 23:37:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233712.XML for user: 68f1466aed072ad4a
[2026-03-09 23:37:12] [INFO] File size: 7315 bytes
[2026-03-09 23:37:12] [INFO] Created FTPFiles record with ID: 69af59a8c327ccc7b
[2026-03-09 23:37:12] [INFO] About to extract fields from XML. File size: 7315 bytes
[2026-03-09 23:37:12] [INFO] Number of mappings: 28
[2026-03-09 23:37:12] [INFO] Starting XML parsing. Content length: 7315
[2026-03-09 23:37:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:37:12] [INFO] Processing 28 field mappings
[2026-03-09 23:37:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:37:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:37:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:37:12] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-09 23:37:12] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-09 23:37:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-09 23:37:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:37:12] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:37:12] [INFO]   -> Found value: 2026000649
[2026-03-09 23:37:12] [INFO]   -> Set field 'incidentInternalId' = "2026000649"
[2026-03-09 23:37:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000649"
[2026-03-09 23:37:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:37:12] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-09 23:37:12] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-09 23:37:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:37:12] [INFO]   -> Found value: 7597
[2026-03-09 23:37:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7597
[2026-03-09 23:37:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:37:12] [INFO]   -> Found value: TN
[2026-03-09 23:37:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:37:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:37:12] [INFO]   -> Found value: 38506
[2026-03-09 23:37:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-09 23:37:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:37:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:37:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:37:12] [INFO]   -> Found value: 36.13828
[2026-03-09 23:37:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13828000000000173486114363186061382293701171875
[2026-03-09 23:37:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:37:12] [INFO]   -> Found value: -85.37678
[2026-03-09 23:37:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.37677999999999656211002729833126068115234375
[2026-03-09 23:37:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:37:12] [INFO]   -> Found value: 2026-03-09 18:33:54
[2026-03-09 23:37:12] [INFO]   -> Set field 'alarm' = "2026-03-09 18:33:54"
[2026-03-09 23:37:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:37:12] [INFO]   -> Found value: 2026-03-09 18:35:19
[2026-03-09 23:37:12] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:35:19"
[2026-03-09 23:37:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:37:12] [INFO]   -> Found value: 2026-03-09 18:36:59
[2026-03-09 23:37:12] [INFO]   -> Set field 'enroute' = "2026-03-09 18:36:59"
[2026-03-09 23:37:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:37:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:37:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:37:12] [INFO]   -> Found value: SHADY LN/MACEDONIA CEMETERY RD
[2026-03-09 23:37:12] [INFO]   -> Set field 'incidentLocationCross' = "SHADY LN\/MACEDONIA CEMETERY RD"
[2026-03-09 23:37:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:37:12] [INFO]   -> Found value: TK21
[2026-03-09 23:37:12] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-09 23:37:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:37:12] [INFO]   -> Found value: 2026-03-09 18:37:04
[2026-03-09 23:37:12] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:37:04"
[2026-03-09 23:37:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:37:12] [INFO]   -> Found value: 2026-03-09 18:37:04
[2026-03-09 23:37:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-09 18:37:04"
[2026-03-09 23:37:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:37:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:37:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:37:12] [INFO]   -> No value found (null or empty)
[2026-03-09 23:37:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:37:12] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:37:12] [INFO]   -> Found value: 20260026038
[2026-03-09 23:37:12] [INFO]   -> Set field 'policeReportNumber' = "20260026038"
[2026-03-09 23:37:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:37:12] [INFO]   -> Found value: [EMS] HAS SEVERAL HEALTH ISSUES  [03/09/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03/09/26 18:34:51 EC...
[2026-03-09 23:37:12] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:12] [INFO]   -> Set field 'cADLog' = "[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]"
[2026-03-09 23:37:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:37:12] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:37:12] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:37:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:37:12] [INFO]   -> Found value: ROCKY POINT
[2026-03-09 23:37:12] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-09 23:37:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:37:12] [INFO]   -> Found value: RD
[2026-03-09 23:37:12] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-09 23:37:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:37:12] [INFO]   -> Found value: 7597 ROCKY POINT RD
[2026-03-09 23:37:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "7597 ROCKY POINT RD"
[2026-03-09 23:37:12] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:37:12] [INFO] Concatenating street name and type
[2026-03-09 23:37:12] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-09 23:37:12] [INFO] Built locationCoordinates from lat/lng: 36.13828,-85.37678
[2026-03-09 23:37:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000649","dispatchRunNumber":"2026000649","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":7597,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13828000000000173486114363186061382293701171875,"nERISIncidentLongitude":-85.37677999999999656211002729833126068115234375,"alarm":"2026-03-09 18:33:54","dispatched":"2026-03-09 18:35:19","enroute":"2026-03-09 18:36:59","incidentLocationCross":"SHADY LN\/MACEDONIA CEMETERY RD","cADVehicleID":"TK21","timedispatch":"2026-03-09 18:37:04","timeenroutetoscene":"2026-03-09 18:37:04","policeReportNumber":"20260026038","dispatchNotes":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","cADLog":"[EMS] HAS SEVERAL HEALTH ISSUES  [03\/09\/26 18:35:31 SVOKOUN2] [LAW] PCSO ENRT  [03\/09\/26 18:34:51 ECLEMENS] [EMS] MARY TODD 89YOF  [03\/09\/26 18:34:12 SVOKOUN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/09\/26 18:34:05 ECLEMENS] [EMS] BREATHING BUT NOT RESPONDING  [03\/09\/26 18:34:02 SVOKOUN2] Event spawned from UNCONSCIOUS.  [03\/09\/2026 18:33:54 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"7597 ROCKY POINT RD","locationCoordinates":"36.13828,-85.37678"}
[2026-03-09 23:37:12] [INFO] Number of extracted fields: 23
[2026-03-09 23:37:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-09 23:37:12] [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-09 23:37:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-09 23:37:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:37:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:37:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-09 23:37:13] [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-09 23:37:13] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:37:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-09 23:37:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:37:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:37:13] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-09 23:37:13] [INFO] Found existing Dispatch with cADNumber '2026000649', ID: 69af593b0cfc5e175 - will update instead of create
[2026-03-09 23:37:13] [INFO] Updated existing Dispatches record with ID: 69af593b0cfc5e175
[2026-03-09 23:37:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233712.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026038_20260309_233712.XML
[2026-03-09 23:37:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026038_20260309_233712.XML
[2026-03-09 23:43:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234355.XML
[2026-03-09 23:43:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234355.XML for user: 68f1466aed072ad4a
[2026-03-09 23:43:55] [INFO] File size: 5282 bytes
[2026-03-09 23:43:55] [INFO] Created FTPFiles record with ID: 69af5b3b93c1ebfa5
[2026-03-09 23:43:55] [INFO] About to extract fields from XML. File size: 5282 bytes
[2026-03-09 23:43:55] [INFO] Number of mappings: 28
[2026-03-09 23:43:55] [INFO] Starting XML parsing. Content length: 5282
[2026-03-09 23:43:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:43:55] [INFO] Processing 28 field mappings
[2026-03-09 23:43:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:43:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:43:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:43:55] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:43:55] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 23:43:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 23:43:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:43:55] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:43:55] [INFO]   -> Found value: 2026000650
[2026-03-09 23:43:55] [INFO]   -> Set field 'incidentInternalId' = "2026000650"
[2026-03-09 23:43:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000650"
[2026-03-09 23:43:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:43:55] [INFO]   -> Found value: HEMMORHAGE / BLEEDING
[2026-03-09 23:43:55] [INFO]   -> Set field 'incidentTypeValue1' = "HEMMORHAGE \/ BLEEDING"
[2026-03-09 23:43:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:43:55] [INFO]   -> Found value: 1922
[2026-03-09 23:43:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1922
[2026-03-09 23:43:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:43:55] [INFO]   -> Found value: TN
[2026-03-09 23:43:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:43:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:43:55] [INFO]   -> Found value: 38501
[2026-03-09 23:43:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 23:43:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:43:55] [INFO]   -> Found value: 36.18177
[2026-03-09 23:43:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.181770000000000209183781407773494720458984375
[2026-03-09 23:43:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:43:55] [INFO]   -> Found value: -85.54781
[2026-03-09 23:43:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.547809999999998353814589790999889373779296875
[2026-03-09 23:43:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:43:55] [INFO]   -> Found value: 2026-03-09 18:42:43
[2026-03-09 23:43:55] [INFO]   -> Set field 'alarm' = "2026-03-09 18:42:43"
[2026-03-09 23:43:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:43:55] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:43:55] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:43:51"
[2026-03-09 23:43:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:43:55] [INFO]   -> Found value: /PIPPIN RD
[2026-03-09 23:43:55] [INFO]   -> Set field 'incidentLocationCross' = "\/PIPPIN RD"
[2026-03-09 23:43:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:43:55] [INFO]   -> Found value: PCFR
[2026-03-09 23:43:55] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 23:43:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:43:55] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:43:55] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:43:51"
[2026-03-09 23:43:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:43:55] [INFO]   -> No value found (null or empty)
[2026-03-09 23:43:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:43:55] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:43:55] [INFO]   -> Found value: 20260026045
[2026-03-09 23:43:55] [INFO]   -> Set field 'policeReportNumber' = "20260026045"
[2026-03-09 23:43:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:43:55] [INFO]   -> Found value: [EMS] JC MCDANIEL  [03/09/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE / BLEEDING.  [03/09/202...
[2026-03-09 23:43:55] [INFO]   -> Set field 'dispatchNotes' = "[EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:43:55] [INFO]   -> Set field 'cADLog' = "[EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:43:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:43:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:43:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:43:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:43:55] [INFO]   -> Found value: VIVIAN
[2026-03-09 23:43:55] [INFO]   -> Set field 'streetName' = "VIVIAN"
[2026-03-09 23:43:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:43:55] [INFO]   -> Found value: DR
[2026-03-09 23:43:55] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 23:43:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:43:55] [INFO]   -> Found value: 1922 VIVIAN DR
[2026-03-09 23:43:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1922 VIVIAN DR"
[2026-03-09 23:43:55] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-09 23:43:55] [INFO] Concatenating street name and type
[2026-03-09 23:43:55] [INFO]   -> Combined street name: VIVIAN DR
[2026-03-09 23:43:55] [INFO] Built locationCoordinates from lat/lng: 36.18177,-85.54781
[2026-03-09 23:43:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000650","dispatchRunNumber":"2026000650","incidentTypeValue1":"HEMMORHAGE \/ BLEEDING","incidentLocationStreetNumber":1922,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.181770000000000209183781407773494720458984375,"nERISIncidentLongitude":-85.547809999999998353814589790999889373779296875,"alarm":"2026-03-09 18:42:43","dispatched":"2026-03-09 18:43:51","incidentLocationCross":"\/PIPPIN RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 18:43:51","policeReportNumber":"20260026045","dispatchNotes":"[EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","cADLog":"[EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"VIVIAN DR","incidentAddressTextVersionStreet":"1922 VIVIAN DR","locationCoordinates":"36.18177,-85.54781"}
[2026-03-09 23:43:55] [INFO] Number of extracted fields: 21
[2026-03-09 23:43:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 23:43:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:43:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 23:43:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:43:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:43:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 23:43: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-09 23:43: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-09 23:43:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:43:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:43:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:43:56] [INFO] Found existing IncidentTypeMapping with ID: 694c9ff41a37c4612
[2026-03-09 23:44:06] [INFO] Created new Dispatches record with ID: 69af5b3c6c6b8a53f
[2026-03-09 23:44:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234355.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026045_20260309_234355.XML
[2026-03-09 23:44:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234355.XML
[2026-03-09 23:46:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234620.XML
[2026-03-09 23:46:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234620.XML for user: 68f1466aed072ad4a
[2026-03-09 23:46:20] [INFO] File size: 6365 bytes
[2026-03-09 23:46:21] [INFO] Created FTPFiles record with ID: 69af5bcd333876d39
[2026-03-09 23:46:21] [INFO] About to extract fields from XML. File size: 6365 bytes
[2026-03-09 23:46:21] [INFO] Number of mappings: 28
[2026-03-09 23:46:21] [INFO] Starting XML parsing. Content length: 6365
[2026-03-09 23:46:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:46:21] [INFO] Processing 28 field mappings
[2026-03-09 23:46:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:46:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:46:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:46:21] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:46:21] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 23:46:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 23:46:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:46:21] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:46:21] [INFO]   -> Found value: 2026000650
[2026-03-09 23:46:21] [INFO]   -> Set field 'incidentInternalId' = "2026000650"
[2026-03-09 23:46:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000650"
[2026-03-09 23:46:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:46:21] [INFO]   -> Found value: HEMMORHAGE / BLEEDING
[2026-03-09 23:46:21] [INFO]   -> Set field 'incidentTypeValue1' = "HEMMORHAGE \/ BLEEDING"
[2026-03-09 23:46:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:46:21] [INFO]   -> Found value: 1922
[2026-03-09 23:46:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1922
[2026-03-09 23:46:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:46:21] [INFO]   -> Found value: TN
[2026-03-09 23:46:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:46:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:46:21] [INFO]   -> Found value: 38501
[2026-03-09 23:46:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 23:46:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:46:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:46:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:46:21] [INFO]   -> Found value: 36.18177
[2026-03-09 23:46:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.181770000000000209183781407773494720458984375
[2026-03-09 23:46:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:46:21] [INFO]   -> Found value: -85.54781
[2026-03-09 23:46:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.547809999999998353814589790999889373779296875
[2026-03-09 23:46:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:46:21] [INFO]   -> Found value: 2026-03-09 18:42:43
[2026-03-09 23:46:21] [INFO]   -> Set field 'alarm' = "2026-03-09 18:42:43"
[2026-03-09 23:46:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:46:21] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:21] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:43:51"
[2026-03-09 23:46:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:46:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:46:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:46:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:46:21] [INFO]   -> Found value: /PIPPIN RD
[2026-03-09 23:46:21] [INFO]   -> Set field 'incidentLocationCross' = "\/PIPPIN RD"
[2026-03-09 23:46:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:46:21] [INFO]   -> Found value: PCFR
[2026-03-09 23:46:21] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 23:46:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:46:21] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:21] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:43:51"
[2026-03-09 23:46:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:46:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:46:21] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:46:21] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:21] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 18:46:09"
[2026-03-09 23:46:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:46:21] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:21] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 18:46:09"
[2026-03-09 23:46:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:46:21] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:46:21] [INFO]   -> Found value: 20260026045
[2026-03-09 23:46:21] [INFO]   -> Set field 'policeReportNumber' = "20260026045"
[2026-03-09 23:46:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:46:21] [INFO]   -> Found value: [EMS] RESPOND EMERGENCY  [03/09/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03/09/26 18:4...
[2026-03-09 23:46:21] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:21] [INFO]   -> Set field 'cADLog' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:46:21] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:46:21] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:46:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:46:21] [INFO]   -> Found value: VIVIAN
[2026-03-09 23:46:21] [INFO]   -> Set field 'streetName' = "VIVIAN"
[2026-03-09 23:46:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:46:21] [INFO]   -> Found value: DR
[2026-03-09 23:46:21] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 23:46:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:46:21] [INFO]   -> Found value: 1922 VIVIAN DR
[2026-03-09 23:46:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1922 VIVIAN DR"
[2026-03-09 23:46:21] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:46:21] [INFO] Concatenating street name and type
[2026-03-09 23:46:21] [INFO]   -> Combined street name: VIVIAN DR
[2026-03-09 23:46:21] [INFO] Built locationCoordinates from lat/lng: 36.18177,-85.54781
[2026-03-09 23:46:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000650","dispatchRunNumber":"2026000650","incidentTypeValue1":"HEMMORHAGE \/ BLEEDING","incidentLocationStreetNumber":1922,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.181770000000000209183781407773494720458984375,"nERISIncidentLongitude":-85.547809999999998353814589790999889373779296875,"alarm":"2026-03-09 18:42:43","dispatched":"2026-03-09 18:43:51","incidentLocationCross":"\/PIPPIN RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 18:43:51","timeunitclear":"2026-03-09 18:46:09","timecanceledenroute":"2026-03-09 18:46:09","policeReportNumber":"20260026045","dispatchNotes":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","cADLog":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"VIVIAN DR","incidentAddressTextVersionStreet":"1922 VIVIAN DR","locationCoordinates":"36.18177,-85.54781"}
[2026-03-09 23:46:21] [INFO] Number of extracted fields: 23
[2026-03-09 23:46:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 23:46:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:46:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 23:46:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:46:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:46:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 23:46: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-09 23:46: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-09 23:46:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:46:21] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:46:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:46:21] [INFO] Found existing IncidentTypeMapping with ID: 694c9ff41a37c4612
[2026-03-09 23:46:21] [INFO] Found existing Dispatch with cADNumber '2026000650', ID: 69af5b3c6c6b8a53f - will update instead of create
[2026-03-09 23:46:22] [INFO] Updated existing Dispatches record with ID: 69af5b3c6c6b8a53f
[2026-03-09 23:46:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234620.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026045_20260309_234620.XML
[2026-03-09 23:46:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234620.XML
[2026-03-09 23:46:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234621.XML
[2026-03-09 23:46:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234621.XML for user: 68f1466aed072ad4a
[2026-03-09 23:46:22] [INFO] File size: 6365 bytes
[2026-03-09 23:46:22] [INFO] Created FTPFiles record with ID: 69af5bce6ed485e2b
[2026-03-09 23:46:22] [INFO] About to extract fields from XML. File size: 6365 bytes
[2026-03-09 23:46:22] [INFO] Number of mappings: 28
[2026-03-09 23:46:22] [INFO] Starting XML parsing. Content length: 6365
[2026-03-09 23:46:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:46:22] [INFO] Processing 28 field mappings
[2026-03-09 23:46:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:46:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:46:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:46:22] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:46:22] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 23:46:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 23:46:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:46:22] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:46:22] [INFO]   -> Found value: 2026000650
[2026-03-09 23:46:22] [INFO]   -> Set field 'incidentInternalId' = "2026000650"
[2026-03-09 23:46:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000650"
[2026-03-09 23:46:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:46:22] [INFO]   -> Found value: HEMMORHAGE / BLEEDING
[2026-03-09 23:46:22] [INFO]   -> Set field 'incidentTypeValue1' = "HEMMORHAGE \/ BLEEDING"
[2026-03-09 23:46:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:46:22] [INFO]   -> Found value: 1922
[2026-03-09 23:46:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1922
[2026-03-09 23:46:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:46:22] [INFO]   -> Found value: TN
[2026-03-09 23:46:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:46:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:46:22] [INFO]   -> Found value: 38501
[2026-03-09 23:46:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 23:46:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:46:22] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:46:22] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:46:22] [INFO]   -> Found value: 36.18177
[2026-03-09 23:46:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.181770000000000209183781407773494720458984375
[2026-03-09 23:46:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:46:22] [INFO]   -> Found value: -85.54781
[2026-03-09 23:46:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.547809999999998353814589790999889373779296875
[2026-03-09 23:46:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:46:22] [INFO]   -> Found value: 2026-03-09 18:42:43
[2026-03-09 23:46:22] [INFO]   -> Set field 'alarm' = "2026-03-09 18:42:43"
[2026-03-09 23:46:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:46:22] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:22] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:43:51"
[2026-03-09 23:46:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:46:22] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:46:22] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:46:22] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:46:22] [INFO]   -> Found value: /PIPPIN RD
[2026-03-09 23:46:22] [INFO]   -> Set field 'incidentLocationCross' = "\/PIPPIN RD"
[2026-03-09 23:46:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:46:22] [INFO]   -> Found value: PCFR
[2026-03-09 23:46:22] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 23:46:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:46:22] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:22] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:43:51"
[2026-03-09 23:46:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:46:22] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:46:22] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:46:22] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:22] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 18:46:09"
[2026-03-09 23:46:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:46:22] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:22] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 18:46:09"
[2026-03-09 23:46:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:46:22] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:46:22] [INFO]   -> Found value: 20260026045
[2026-03-09 23:46:22] [INFO]   -> Set field 'policeReportNumber' = "20260026045"
[2026-03-09 23:46:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:46:22] [INFO]   -> Found value: [EMS] RESPOND EMERGENCY  [03/09/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03/09/26 18:4...
[2026-03-09 23:46:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:22] [INFO]   -> Set field 'cADLog' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:46:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:46:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:46:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:46:22] [INFO]   -> Found value: VIVIAN
[2026-03-09 23:46:22] [INFO]   -> Set field 'streetName' = "VIVIAN"
[2026-03-09 23:46:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:46:22] [INFO]   -> Found value: DR
[2026-03-09 23:46:22] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 23:46:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:46:22] [INFO]   -> Found value: 1922 VIVIAN DR
[2026-03-09 23:46:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1922 VIVIAN DR"
[2026-03-09 23:46:22] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:46:22] [INFO] Concatenating street name and type
[2026-03-09 23:46:22] [INFO]   -> Combined street name: VIVIAN DR
[2026-03-09 23:46:22] [INFO] Built locationCoordinates from lat/lng: 36.18177,-85.54781
[2026-03-09 23:46:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000650","dispatchRunNumber":"2026000650","incidentTypeValue1":"HEMMORHAGE \/ BLEEDING","incidentLocationStreetNumber":1922,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.181770000000000209183781407773494720458984375,"nERISIncidentLongitude":-85.547809999999998353814589790999889373779296875,"alarm":"2026-03-09 18:42:43","dispatched":"2026-03-09 18:43:51","incidentLocationCross":"\/PIPPIN RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 18:43:51","timeunitclear":"2026-03-09 18:46:09","timecanceledenroute":"2026-03-09 18:46:09","policeReportNumber":"20260026045","dispatchNotes":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","cADLog":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"VIVIAN DR","incidentAddressTextVersionStreet":"1922 VIVIAN DR","locationCoordinates":"36.18177,-85.54781"}
[2026-03-09 23:46:22] [INFO] Number of extracted fields: 23
[2026-03-09 23:46:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 23:46:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:46:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 23:46:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:46:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:46:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 23:46:22] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 23:46:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:46:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:46:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:46:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:46:22] [INFO] Found existing IncidentTypeMapping with ID: 694c9ff41a37c4612
[2026-03-09 23:46:23] [INFO] Found existing Dispatch with cADNumber '2026000650', ID: 69af5b3c6c6b8a53f - will update instead of create
[2026-03-09 23:46:23] [INFO] Updated existing Dispatches record with ID: 69af5b3c6c6b8a53f
[2026-03-09 23:46:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234621.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026045_20260309_234621.XML
[2026-03-09 23:46:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234621.XML
[2026-03-09 23:46:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622.XML
[2026-03-09 23:46:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622.XML for user: 68f1466aed072ad4a
[2026-03-09 23:46:23] [INFO] File size: 6365 bytes
[2026-03-09 23:46:23] [INFO] Created FTPFiles record with ID: 69af5bcfa1ec7ce62
[2026-03-09 23:46:23] [INFO] About to extract fields from XML. File size: 6365 bytes
[2026-03-09 23:46:23] [INFO] Number of mappings: 28
[2026-03-09 23:46:23] [INFO] Starting XML parsing. Content length: 6365
[2026-03-09 23:46:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:46:23] [INFO] Processing 28 field mappings
[2026-03-09 23:46:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:46:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:46:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:46:23] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:46:23] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 23:46:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 23:46:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:46:23] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:46:23] [INFO]   -> Found value: 2026000650
[2026-03-09 23:46:23] [INFO]   -> Set field 'incidentInternalId' = "2026000650"
[2026-03-09 23:46:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000650"
[2026-03-09 23:46:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:46:23] [INFO]   -> Found value: HEMMORHAGE / BLEEDING
[2026-03-09 23:46:23] [INFO]   -> Set field 'incidentTypeValue1' = "HEMMORHAGE \/ BLEEDING"
[2026-03-09 23:46:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:46:23] [INFO]   -> Found value: 1922
[2026-03-09 23:46:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1922
[2026-03-09 23:46:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:46:23] [INFO]   -> Found value: TN
[2026-03-09 23:46:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:46:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:46:23] [INFO]   -> Found value: 38501
[2026-03-09 23:46:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 23:46:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:46:23] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:46:23] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:46:23] [INFO]   -> Found value: 36.18177
[2026-03-09 23:46:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.181770000000000209183781407773494720458984375
[2026-03-09 23:46:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:46:23] [INFO]   -> Found value: -85.54781
[2026-03-09 23:46:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.547809999999998353814589790999889373779296875
[2026-03-09 23:46:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:46:23] [INFO]   -> Found value: 2026-03-09 18:42:43
[2026-03-09 23:46:23] [INFO]   -> Set field 'alarm' = "2026-03-09 18:42:43"
[2026-03-09 23:46:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:46:23] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:23] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:43:51"
[2026-03-09 23:46:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:46:23] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:46:23] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:46:23] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:46:23] [INFO]   -> Found value: /PIPPIN RD
[2026-03-09 23:46:23] [INFO]   -> Set field 'incidentLocationCross' = "\/PIPPIN RD"
[2026-03-09 23:46:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:46:23] [INFO]   -> Found value: PCFR
[2026-03-09 23:46:23] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 23:46:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:46:23] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:23] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:43:51"
[2026-03-09 23:46:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:46:23] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:46:23] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:46:23] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:23] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 18:46:09"
[2026-03-09 23:46:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:46:23] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:23] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 18:46:09"
[2026-03-09 23:46:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:46:23] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:46:23] [INFO]   -> Found value: 20260026045
[2026-03-09 23:46:23] [INFO]   -> Set field 'policeReportNumber' = "20260026045"
[2026-03-09 23:46:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:46:23] [INFO]   -> Found value: [EMS] RESPOND EMERGENCY  [03/09/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03/09/26 18:4...
[2026-03-09 23:46:23] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:23] [INFO]   -> Set field 'cADLog' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:46:23] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:46:23] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:46:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:46:23] [INFO]   -> Found value: VIVIAN
[2026-03-09 23:46:23] [INFO]   -> Set field 'streetName' = "VIVIAN"
[2026-03-09 23:46:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:46:23] [INFO]   -> Found value: DR
[2026-03-09 23:46:23] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 23:46:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:46:23] [INFO]   -> Found value: 1922 VIVIAN DR
[2026-03-09 23:46:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1922 VIVIAN DR"
[2026-03-09 23:46:23] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:46:23] [INFO] Concatenating street name and type
[2026-03-09 23:46:23] [INFO]   -> Combined street name: VIVIAN DR
[2026-03-09 23:46:23] [INFO] Built locationCoordinates from lat/lng: 36.18177,-85.54781
[2026-03-09 23:46:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000650","dispatchRunNumber":"2026000650","incidentTypeValue1":"HEMMORHAGE \/ BLEEDING","incidentLocationStreetNumber":1922,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.181770000000000209183781407773494720458984375,"nERISIncidentLongitude":-85.547809999999998353814589790999889373779296875,"alarm":"2026-03-09 18:42:43","dispatched":"2026-03-09 18:43:51","incidentLocationCross":"\/PIPPIN RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 18:43:51","timeunitclear":"2026-03-09 18:46:09","timecanceledenroute":"2026-03-09 18:46:09","policeReportNumber":"20260026045","dispatchNotes":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","cADLog":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"VIVIAN DR","incidentAddressTextVersionStreet":"1922 VIVIAN DR","locationCoordinates":"36.18177,-85.54781"}
[2026-03-09 23:46:23] [INFO] Number of extracted fields: 23
[2026-03-09 23:46:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 23:46:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:46:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 23:46:23] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:46:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:46:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 23:46:23] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-09 23:46:23] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-09 23:46:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:46:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:46:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:46:24] [INFO] Found existing IncidentTypeMapping with ID: 694c9ff41a37c4612
[2026-03-09 23:46:24] [INFO] Found existing Dispatch with cADNumber '2026000650', ID: 69af5b3c6c6b8a53f - will update instead of create
[2026-03-09 23:46:24] [INFO] Updated existing Dispatches record with ID: 69af5b3c6c6b8a53f
[2026-03-09 23:46:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026045_20260309_234622.XML
[2026-03-09 23:46:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622.XML
[2026-03-09 23:46:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622_1.XML
[2026-03-09 23:46:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622_1.XML for user: 68f1466aed072ad4a
[2026-03-09 23:46:24] [INFO] File size: 6365 bytes
[2026-03-09 23:46:24] [INFO] Created FTPFiles record with ID: 69af5bd0cd4416d6a
[2026-03-09 23:46:24] [INFO] About to extract fields from XML. File size: 6365 bytes
[2026-03-09 23:46:24] [INFO] Number of mappings: 28
[2026-03-09 23:46:24] [INFO] Starting XML parsing. Content length: 6365
[2026-03-09 23:46:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-09 23:46:24] [INFO] Processing 28 field mappings
[2026-03-09 23:46:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-09 23:46:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-09 23:46:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-09 23:46:24] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-09 23:46:24] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-09 23:46:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-09 23:46:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-09 23:46:24] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-09 23:46:24] [INFO]   -> Found value: 2026000650
[2026-03-09 23:46:24] [INFO]   -> Set field 'incidentInternalId' = "2026000650"
[2026-03-09 23:46:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000650"
[2026-03-09 23:46:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-09 23:46:24] [INFO]   -> Found value: HEMMORHAGE / BLEEDING
[2026-03-09 23:46:24] [INFO]   -> Set field 'incidentTypeValue1' = "HEMMORHAGE \/ BLEEDING"
[2026-03-09 23:46:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-09 23:46:24] [INFO]   -> Found value: 1922
[2026-03-09 23:46:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1922
[2026-03-09 23:46:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-09 23:46:24] [INFO]   -> Found value: TN
[2026-03-09 23:46:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-09 23:46:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-09 23:46:24] [INFO]   -> Found value: 38501
[2026-03-09 23:46:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-09 23:46:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-09 23:46:24] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-09 23:46:24] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-09 23:46:24] [INFO]   -> Found value: 36.18177
[2026-03-09 23:46:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.181770000000000209183781407773494720458984375
[2026-03-09 23:46:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-09 23:46:24] [INFO]   -> Found value: -85.54781
[2026-03-09 23:46:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.547809999999998353814589790999889373779296875
[2026-03-09 23:46:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-09 23:46:24] [INFO]   -> Found value: 2026-03-09 18:42:43
[2026-03-09 23:46:24] [INFO]   -> Set field 'alarm' = "2026-03-09 18:42:43"
[2026-03-09 23:46:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-09 23:46:24] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:24] [INFO]   -> Set field 'dispatched' = "2026-03-09 18:43:51"
[2026-03-09 23:46:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-09 23:46:24] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-09 23:46:24] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-09 23:46:24] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-09 23:46:24] [INFO]   -> Found value: /PIPPIN RD
[2026-03-09 23:46:24] [INFO]   -> Set field 'incidentLocationCross' = "\/PIPPIN RD"
[2026-03-09 23:46:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-09 23:46:24] [INFO]   -> Found value: PCFR
[2026-03-09 23:46:24] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-09 23:46:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-09 23:46:24] [INFO]   -> Found value: 2026-03-09 18:43:51
[2026-03-09 23:46:24] [INFO]   -> Set field 'timedispatch' = "2026-03-09 18:43:51"
[2026-03-09 23:46:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-09 23:46:24] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-09 23:46:24] [INFO]   -> No value found (null or empty)
[2026-03-09 23:46:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-09 23:46:24] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:24] [INFO]   -> Set field 'timeunitclear' = "2026-03-09 18:46:09"
[2026-03-09 23:46:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-09 23:46:24] [INFO]   -> Found value: 2026-03-09 18:46:09
[2026-03-09 23:46:24] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-09 18:46:09"
[2026-03-09 23:46:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-09 23:46:24] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-09 23:46:24] [INFO]   -> Found value: 20260026045
[2026-03-09 23:46:24] [INFO]   -> Set field 'policeReportNumber' = "20260026045"
[2026-03-09 23:46:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-09 23:46:24] [INFO]   -> Found value: [EMS] RESPOND EMERGENCY  [03/09/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03/09/26 18:4...
[2026-03-09 23:46:24] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:24] [INFO]   -> Set field 'cADLog' = "[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]"
[2026-03-09 23:46:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-09 23:46:24] [INFO]   -> Found value: COOKEVILLE
[2026-03-09 23:46:24] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-09 23:46:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-09 23:46:24] [INFO]   -> Found value: VIVIAN
[2026-03-09 23:46:24] [INFO]   -> Set field 'streetName' = "VIVIAN"
[2026-03-09 23:46:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-09 23:46:24] [INFO]   -> Found value: DR
[2026-03-09 23:46:24] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-09 23:46:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-09 23:46:24] [INFO]   -> Found value: 1922 VIVIAN DR
[2026-03-09 23:46:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1922 VIVIAN DR"
[2026-03-09 23:46:24] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-09 23:46:24] [INFO] Concatenating street name and type
[2026-03-09 23:46:24] [INFO]   -> Combined street name: VIVIAN DR
[2026-03-09 23:46:24] [INFO] Built locationCoordinates from lat/lng: 36.18177,-85.54781
[2026-03-09 23:46:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000650","dispatchRunNumber":"2026000650","incidentTypeValue1":"HEMMORHAGE \/ BLEEDING","incidentLocationStreetNumber":1922,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.181770000000000209183781407773494720458984375,"nERISIncidentLongitude":-85.547809999999998353814589790999889373779296875,"alarm":"2026-03-09 18:42:43","dispatched":"2026-03-09 18:43:51","incidentLocationCross":"\/PIPPIN RD","cADVehicleID":"PCFR","timedispatch":"2026-03-09 18:43:51","timeunitclear":"2026-03-09 18:46:09","timecanceledenroute":"2026-03-09 18:46:09","policeReportNumber":"20260026045","dispatchNotes":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","cADLog":"[EMS] RESPOND EMERGENCY  [03\/09\/26 18:44:29 KBURTON] [EMS] GREEN S10 IN THE DRIVEWAY  [03\/09\/26 18:43:54 KBURTON] [EMS] JC MCDANIEL  [03\/09\/26 18:42:51 KBURTON] Event spawned from HEMMORHAGE \/ BLEEDING.  [03\/09\/2026 18:42:43 KBURTON] NON EMERGENCY  BLEEDING FROM TEETH REMOVAL  16 REMOVED  LIGHTED AND DIZZY  [03\/09\/26 18:42:36 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"VIVIAN DR","incidentAddressTextVersionStreet":"1922 VIVIAN DR","locationCoordinates":"36.18177,-85.54781"}
[2026-03-09 23:46:24] [INFO] Number of extracted fields: 23
[2026-03-09 23:46:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-09 23:46:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-09 23:46:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-09 23:46:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-09 23:46:25] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-09 23:46:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-09 23:46: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-09 23:46: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-09 23:46:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-09 23:46:25] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-09 23:46:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-09 23:46:25] [INFO] Found existing IncidentTypeMapping with ID: 694c9ff41a37c4612
[2026-03-09 23:46:25] [INFO] Found existing Dispatch with cADNumber '2026000650', ID: 69af5b3c6c6b8a53f - will update instead of create
[2026-03-09 23:46:25] [INFO] Updated existing Dispatches record with ID: 69af5b3c6c6b8a53f
[2026-03-09 23:46:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-09/PCFD_20260026045_20260309_234622_1.XML
[2026-03-09 23:46:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260026045_20260309_234622_1.XML
