[2026-03-21 00:17:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_001732.XML
[2026-03-21 00:17:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_001732.XML for user: 68f1466aed072ad4a
[2026-03-21 00:17:32] [INFO] File size: 5143 bytes
[2026-03-21 00:17:32] [INFO] Created FTPFiles record with ID: 69bde39ce860ce373
[2026-03-21 00:17:32] [INFO] About to extract fields from XML. File size: 5143 bytes
[2026-03-21 00:17:32] [INFO] Number of mappings: 28
[2026-03-21 00:17:32] [INFO] Starting XML parsing. Content length: 5143
[2026-03-21 00:17:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:17:32] [INFO] Processing 28 field mappings
[2026-03-21 00:17:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:17:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:17:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:17:32] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:17:32] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:17:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:17:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:17:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:17:32] [INFO]   -> Found value: 2026000752
[2026-03-21 00:17:32] [INFO]   -> Set field 'incidentInternalId' = "2026000752"
[2026-03-21 00:17:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000752"
[2026-03-21 00:17:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:17:32] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:17:32] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:17:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:17:32] [INFO]   -> Found value: 6632
[2026-03-21 00:17:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6632
[2026-03-21 00:17:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:17:32] [INFO]   -> Found value: TN
[2026-03-21 00:17:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:17:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:17:32] [INFO]   -> Found value: 38506
[2026-03-21 00:17:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 00:17:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:17:32] [INFO]   -> Found value: 36.21934
[2026-03-21 00:17:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2193400000000025329427444376051425933837890625
[2026-03-21 00:17:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:17:32] [INFO]   -> Found value: -85.38197
[2026-03-21 00:17:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.381969999999995479811332188546657562255859375
[2026-03-21 00:17:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:17:32] [INFO]   -> Found value: 2026-03-20 19:17:13
[2026-03-21 00:17:32] [INFO]   -> Set field 'alarm' = "2026-03-20 19:17:13"
[2026-03-21 00:17:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:17:32] [INFO]   -> Found value: 2026-03-20 19:17:29
[2026-03-21 00:17:32] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:17:29"
[2026-03-21 00:17:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:17:32] [INFO]   -> Found value: GREEN MOUNTAIN RD/WILEY LN
[2026-03-21 00:17:32] [INFO]   -> Set field 'incidentLocationCross' = "GREEN MOUNTAIN RD\/WILEY LN"
[2026-03-21 00:17:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:17:32] [INFO]   -> Found value: PCFR
[2026-03-21 00:17:32] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 00:17:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:17:32] [INFO]   -> Found value: 2026-03-20 19:17:29
[2026-03-21 00:17:32] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:17:29"
[2026-03-21 00:17:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:17:32] [INFO]   -> No value found (null or empty)
[2026-03-21 00:17:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:17:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:17:32] [INFO]   -> Found value: 20260030350
[2026-03-21 00:17:32] [INFO]   -> Set field 'policeReportNumber' = "20260030350"
[2026-03-21 00:17:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:17:32] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/20/2026 19:17:13 TSCOTT]
[2026-03-21 00:17:32] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:17:32] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:17:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:17:32] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 00:17:32] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 00:17:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:17:32] [INFO]   -> Found value: SPRING CREEK
[2026-03-21 00:17:32] [INFO]   -> Set field 'streetName' = "SPRING CREEK"
[2026-03-21 00:17:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:17:32] [INFO]   -> Found value: RD
[2026-03-21 00:17:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:17:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:17:32] [INFO]   -> Found value: 6632 SPRING CREEK RD
[2026-03-21 00:17:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6632 SPRING CREEK RD"
[2026-03-21 00:17:32] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 00:17:32] [INFO] Concatenating street name and type
[2026-03-21 00:17:32] [INFO]   -> Combined street name: SPRING CREEK RD
[2026-03-21 00:17:32] [INFO] Built locationCoordinates from lat/lng: 36.21934,-85.38197
[2026-03-21 00:17:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000752","dispatchRunNumber":"2026000752","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":6632,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2193400000000025329427444376051425933837890625,"nERISIncidentLongitude":-85.381969999999995479811332188546657562255859375,"alarm":"2026-03-20 19:17:13","dispatched":"2026-03-20 19:17:29","incidentLocationCross":"GREEN MOUNTAIN RD\/WILEY LN","cADVehicleID":"PCFR","timedispatch":"2026-03-20 19:17:29","policeReportNumber":"20260030350","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"SPRING CREEK RD","incidentAddressTextVersionStreet":"6632 SPRING CREEK RD","locationCoordinates":"36.21934,-85.38197"}
[2026-03-21 00:17:32] [INFO] Number of extracted fields: 21
[2026-03-21 00:17:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:17:32] [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-21 00:17:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:17:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:17:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:17:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:17: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-21 00:17: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-21 00:17:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:17:33] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:17:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:17:33] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:17:45] [INFO] Created new Dispatches record with ID: 69bde39ea8d0a4e63
[2026-03-21 00:17:45] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21
[2026-03-21 00:17:45] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_001732.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030350_20260321_001732.XML
[2026-03-21 00:17:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_001732.XML
[2026-03-21 00:20:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002010.XML
[2026-03-21 00:20:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002010.XML for user: 68f1466aed072ad4a
[2026-03-21 00:20:10] [INFO] File size: 6227 bytes
[2026-03-21 00:20:10] [INFO] Created FTPFiles record with ID: 69bde43a8875e359c
[2026-03-21 00:20:10] [INFO] About to extract fields from XML. File size: 6227 bytes
[2026-03-21 00:20:10] [INFO] Number of mappings: 28
[2026-03-21 00:20:10] [INFO] Starting XML parsing. Content length: 6227
[2026-03-21 00:20:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:20:10] [INFO] Processing 28 field mappings
[2026-03-21 00:20:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:20:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:20:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:20:10] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:20:10] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:20:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:20:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:20:10] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:20:10] [INFO]   -> Found value: 2026000752
[2026-03-21 00:20:10] [INFO]   -> Set field 'incidentInternalId' = "2026000752"
[2026-03-21 00:20:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000752"
[2026-03-21 00:20:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:20:10] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:20:10] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:20:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:20:10] [INFO]   -> Found value: 6632
[2026-03-21 00:20:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6632
[2026-03-21 00:20:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:20:10] [INFO]   -> Found value: TN
[2026-03-21 00:20:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:20:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:20:10] [INFO]   -> Found value: 38506
[2026-03-21 00:20:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 00:20:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:20:10] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:20:10] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:20:10] [INFO]   -> Found value: 36.21934
[2026-03-21 00:20:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2193400000000025329427444376051425933837890625
[2026-03-21 00:20:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:20:10] [INFO]   -> Found value: -85.38197
[2026-03-21 00:20:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.381969999999995479811332188546657562255859375
[2026-03-21 00:20:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:20:10] [INFO]   -> Found value: 2026-03-20 19:17:13
[2026-03-21 00:20:10] [INFO]   -> Set field 'alarm' = "2026-03-20 19:17:13"
[2026-03-21 00:20:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:20:10] [INFO]   -> Found value: 2026-03-20 19:17:29
[2026-03-21 00:20:10] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:17:29"
[2026-03-21 00:20:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:20:10] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:10] [INFO]   -> Set field 'enroute' = "2026-03-20 19:20:02"
[2026-03-21 00:20:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:20:10] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:20:10] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:20:10] [INFO]   -> Found value: GREEN MOUNTAIN RD/WILEY LN
[2026-03-21 00:20:10] [INFO]   -> Set field 'incidentLocationCross' = "GREEN MOUNTAIN RD\/WILEY LN"
[2026-03-21 00:20:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:20:10] [INFO]   -> Found value: TK12
[2026-03-21 00:20:10] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 00:20:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:20:10] [INFO]   -> Found value: 2026-03-20 19:20:00
[2026-03-21 00:20:10] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:20:00"
[2026-03-21 00:20:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:20:10] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:20:02"
[2026-03-21 00:20:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:20:10] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:20:10] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:20:10] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:20:10] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:20:10] [INFO]   -> Found value: 20260030350
[2026-03-21 00:20:10] [INFO]   -> Set field 'policeReportNumber' = "20260030350"
[2026-03-21 00:20:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:20:10] [INFO]   -> Found value: [EMS] ENTER THROUGH THE BACK DOOR  [03/20/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART F...
[2026-03-21 00:20:10] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:10] [INFO]   -> Set field 'cADLog' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:20:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 00:20:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 00:20:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:20:10] [INFO]   -> Found value: SPRING CREEK
[2026-03-21 00:20:10] [INFO]   -> Set field 'streetName' = "SPRING CREEK"
[2026-03-21 00:20:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:20:10] [INFO]   -> Found value: RD
[2026-03-21 00:20:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:20:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:20:10] [INFO]   -> Found value: 6632 SPRING CREEK RD
[2026-03-21 00:20:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6632 SPRING CREEK RD"
[2026-03-21 00:20:10] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:20:10] [INFO] Concatenating street name and type
[2026-03-21 00:20:10] [INFO]   -> Combined street name: SPRING CREEK RD
[2026-03-21 00:20:10] [INFO] Built locationCoordinates from lat/lng: 36.21934,-85.38197
[2026-03-21 00:20:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000752","dispatchRunNumber":"2026000752","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":6632,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2193400000000025329427444376051425933837890625,"nERISIncidentLongitude":-85.381969999999995479811332188546657562255859375,"alarm":"2026-03-20 19:17:13","dispatched":"2026-03-20 19:17:29","enroute":"2026-03-20 19:20:02","incidentLocationCross":"GREEN MOUNTAIN RD\/WILEY LN","cADVehicleID":"TK12","timedispatch":"2026-03-20 19:20:00","timeenroutetoscene":"2026-03-20 19:20:02","policeReportNumber":"20260030350","dispatchNotes":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","cADLog":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"SPRING CREEK RD","incidentAddressTextVersionStreet":"6632 SPRING CREEK RD","locationCoordinates":"36.21934,-85.38197"}
[2026-03-21 00:20:10] [INFO] Number of extracted fields: 23
[2026-03-21 00:20:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:20:10] [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-21 00:20:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:20:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:20:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:20:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:20: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-21 00:20: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-21 00:20:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:20:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:20:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:20:11] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:20:11] [INFO] Found existing Dispatch with cADNumber '2026000752', ID: 69bde39ea8d0a4e63 - will update instead of create
[2026-03-21 00:20:11] [INFO] Updated existing Dispatches record with ID: 69bde39ea8d0a4e63
[2026-03-21 00:20:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002010.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030350_20260321_002010.XML
[2026-03-21 00:20:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002010.XML
[2026-03-21 00:20:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002012.XML
[2026-03-21 00:20:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002012.XML for user: 68f1466aed072ad4a
[2026-03-21 00:20:12] [INFO] File size: 6227 bytes
[2026-03-21 00:20:13] [INFO] Created FTPFiles record with ID: 69bde43d4d9297024
[2026-03-21 00:20:13] [INFO] About to extract fields from XML. File size: 6227 bytes
[2026-03-21 00:20:13] [INFO] Number of mappings: 28
[2026-03-21 00:20:13] [INFO] Starting XML parsing. Content length: 6227
[2026-03-21 00:20:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:20:13] [INFO] Processing 28 field mappings
[2026-03-21 00:20:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:20:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:20:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:20:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:20:13] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:20:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:20:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:20:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:20:13] [INFO]   -> Found value: 2026000752
[2026-03-21 00:20:13] [INFO]   -> Set field 'incidentInternalId' = "2026000752"
[2026-03-21 00:20:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000752"
[2026-03-21 00:20:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:20:13] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:20:13] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:20:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:20:13] [INFO]   -> Found value: 6632
[2026-03-21 00:20:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6632
[2026-03-21 00:20:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:20:13] [INFO]   -> Found value: TN
[2026-03-21 00:20:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:20:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:20:13] [INFO]   -> Found value: 38506
[2026-03-21 00:20:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 00:20:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:20:13] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:20:13] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:20:13] [INFO]   -> Found value: 36.21934
[2026-03-21 00:20:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2193400000000025329427444376051425933837890625
[2026-03-21 00:20:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:20:13] [INFO]   -> Found value: -85.38197
[2026-03-21 00:20:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.381969999999995479811332188546657562255859375
[2026-03-21 00:20:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:20:13] [INFO]   -> Found value: 2026-03-20 19:17:13
[2026-03-21 00:20:13] [INFO]   -> Set field 'alarm' = "2026-03-20 19:17:13"
[2026-03-21 00:20:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:20:13] [INFO]   -> Found value: 2026-03-20 19:17:29
[2026-03-21 00:20:13] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:17:29"
[2026-03-21 00:20:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:20:13] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:13] [INFO]   -> Set field 'enroute' = "2026-03-20 19:20:02"
[2026-03-21 00:20:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:20:13] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:20:13] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:20:13] [INFO]   -> Found value: GREEN MOUNTAIN RD/WILEY LN
[2026-03-21 00:20:13] [INFO]   -> Set field 'incidentLocationCross' = "GREEN MOUNTAIN RD\/WILEY LN"
[2026-03-21 00:20:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:20:13] [INFO]   -> Found value: TK12
[2026-03-21 00:20:13] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 00:20:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:20:13] [INFO]   -> Found value: 2026-03-20 19:20:00
[2026-03-21 00:20:13] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:20:00"
[2026-03-21 00:20:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:20:13] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:20:02"
[2026-03-21 00:20:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:20:13] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:20:13] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:20:13] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:20:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:20:13] [INFO]   -> Found value: 20260030350
[2026-03-21 00:20:13] [INFO]   -> Set field 'policeReportNumber' = "20260030350"
[2026-03-21 00:20:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:20:13] [INFO]   -> Found value: [EMS] ENTER THROUGH THE BACK DOOR  [03/20/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART F...
[2026-03-21 00:20:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:13] [INFO]   -> Set field 'cADLog' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:20:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 00:20:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 00:20:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:20:13] [INFO]   -> Found value: SPRING CREEK
[2026-03-21 00:20:13] [INFO]   -> Set field 'streetName' = "SPRING CREEK"
[2026-03-21 00:20:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:20:13] [INFO]   -> Found value: RD
[2026-03-21 00:20:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:20:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:20:13] [INFO]   -> Found value: 6632 SPRING CREEK RD
[2026-03-21 00:20:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6632 SPRING CREEK RD"
[2026-03-21 00:20:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:20:13] [INFO] Concatenating street name and type
[2026-03-21 00:20:13] [INFO]   -> Combined street name: SPRING CREEK RD
[2026-03-21 00:20:13] [INFO] Built locationCoordinates from lat/lng: 36.21934,-85.38197
[2026-03-21 00:20:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000752","dispatchRunNumber":"2026000752","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":6632,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2193400000000025329427444376051425933837890625,"nERISIncidentLongitude":-85.381969999999995479811332188546657562255859375,"alarm":"2026-03-20 19:17:13","dispatched":"2026-03-20 19:17:29","enroute":"2026-03-20 19:20:02","incidentLocationCross":"GREEN MOUNTAIN RD\/WILEY LN","cADVehicleID":"TK12","timedispatch":"2026-03-20 19:20:00","timeenroutetoscene":"2026-03-20 19:20:02","policeReportNumber":"20260030350","dispatchNotes":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","cADLog":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"SPRING CREEK RD","incidentAddressTextVersionStreet":"6632 SPRING CREEK RD","locationCoordinates":"36.21934,-85.38197"}
[2026-03-21 00:20:13] [INFO] Number of extracted fields: 23
[2026-03-21 00:20:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:20:13] [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-21 00:20:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:20:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:20:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:20:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:20: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-21 00:20: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-21 00:20:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:20:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:20:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:20:14] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:20:14] [INFO] Found existing Dispatch with cADNumber '2026000752', ID: 69bde39ea8d0a4e63 - will update instead of create
[2026-03-21 00:20:14] [INFO] Updated existing Dispatches record with ID: 69bde39ea8d0a4e63
[2026-03-21 00:20:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002012.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030350_20260321_002012.XML
[2026-03-21 00:20:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002012.XML
[2026-03-21 00:20:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013.XML
[2026-03-21 00:20:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013.XML for user: 68f1466aed072ad4a
[2026-03-21 00:20:14] [INFO] File size: 6227 bytes
[2026-03-21 00:20:15] [INFO] Created FTPFiles record with ID: 69bde43f0e01e113a
[2026-03-21 00:20:15] [INFO] About to extract fields from XML. File size: 6227 bytes
[2026-03-21 00:20:15] [INFO] Number of mappings: 28
[2026-03-21 00:20:15] [INFO] Starting XML parsing. Content length: 6227
[2026-03-21 00:20:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:20:15] [INFO] Processing 28 field mappings
[2026-03-21 00:20:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:20:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:20:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:20:15] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:20:15] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:20:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:20:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:20:15] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:20:15] [INFO]   -> Found value: 2026000752
[2026-03-21 00:20:15] [INFO]   -> Set field 'incidentInternalId' = "2026000752"
[2026-03-21 00:20:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000752"
[2026-03-21 00:20:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:20:15] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:20:15] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:20:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:20:15] [INFO]   -> Found value: 6632
[2026-03-21 00:20:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6632
[2026-03-21 00:20:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:20:15] [INFO]   -> Found value: TN
[2026-03-21 00:20:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:20:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:20:15] [INFO]   -> Found value: 38506
[2026-03-21 00:20:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 00:20:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:20:15] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:20:15] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:20:15] [INFO]   -> Found value: 36.21934
[2026-03-21 00:20:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2193400000000025329427444376051425933837890625
[2026-03-21 00:20:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:20:15] [INFO]   -> Found value: -85.38197
[2026-03-21 00:20:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.381969999999995479811332188546657562255859375
[2026-03-21 00:20:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:20:15] [INFO]   -> Found value: 2026-03-20 19:17:13
[2026-03-21 00:20:15] [INFO]   -> Set field 'alarm' = "2026-03-20 19:17:13"
[2026-03-21 00:20:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:20:15] [INFO]   -> Found value: 2026-03-20 19:17:29
[2026-03-21 00:20:15] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:17:29"
[2026-03-21 00:20:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:20:15] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:15] [INFO]   -> Set field 'enroute' = "2026-03-20 19:20:02"
[2026-03-21 00:20:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:20:15] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:20:15] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:20:15] [INFO]   -> Found value: GREEN MOUNTAIN RD/WILEY LN
[2026-03-21 00:20:15] [INFO]   -> Set field 'incidentLocationCross' = "GREEN MOUNTAIN RD\/WILEY LN"
[2026-03-21 00:20:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:20:15] [INFO]   -> Found value: TK12
[2026-03-21 00:20:15] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 00:20:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:20:15] [INFO]   -> Found value: 2026-03-20 19:20:00
[2026-03-21 00:20:15] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:20:00"
[2026-03-21 00:20:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:20:15] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:20:02"
[2026-03-21 00:20:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:20:15] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:20:15] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:20:15] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:20:15] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:20:15] [INFO]   -> Found value: 20260030350
[2026-03-21 00:20:15] [INFO]   -> Set field 'policeReportNumber' = "20260030350"
[2026-03-21 00:20:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:20:15] [INFO]   -> Found value: [EMS] ENTER THROUGH THE BACK DOOR  [03/20/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART F...
[2026-03-21 00:20:15] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:15] [INFO]   -> Set field 'cADLog' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:20:15] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 00:20:15] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 00:20:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:20:15] [INFO]   -> Found value: SPRING CREEK
[2026-03-21 00:20:15] [INFO]   -> Set field 'streetName' = "SPRING CREEK"
[2026-03-21 00:20:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:20:15] [INFO]   -> Found value: RD
[2026-03-21 00:20:15] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:20:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:20:15] [INFO]   -> Found value: 6632 SPRING CREEK RD
[2026-03-21 00:20:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6632 SPRING CREEK RD"
[2026-03-21 00:20:15] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:20:15] [INFO] Concatenating street name and type
[2026-03-21 00:20:15] [INFO]   -> Combined street name: SPRING CREEK RD
[2026-03-21 00:20:15] [INFO] Built locationCoordinates from lat/lng: 36.21934,-85.38197
[2026-03-21 00:20:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000752","dispatchRunNumber":"2026000752","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":6632,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2193400000000025329427444376051425933837890625,"nERISIncidentLongitude":-85.381969999999995479811332188546657562255859375,"alarm":"2026-03-20 19:17:13","dispatched":"2026-03-20 19:17:29","enroute":"2026-03-20 19:20:02","incidentLocationCross":"GREEN MOUNTAIN RD\/WILEY LN","cADVehicleID":"TK12","timedispatch":"2026-03-20 19:20:00","timeenroutetoscene":"2026-03-20 19:20:02","policeReportNumber":"20260030350","dispatchNotes":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","cADLog":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"SPRING CREEK RD","incidentAddressTextVersionStreet":"6632 SPRING CREEK RD","locationCoordinates":"36.21934,-85.38197"}
[2026-03-21 00:20:15] [INFO] Number of extracted fields: 23
[2026-03-21 00:20:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:20: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-21 00:20:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:20:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:20:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:20:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:20: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-21 00:20: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-21 00:20:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:20:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:20:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:20:15] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:20:15] [INFO] Found existing Dispatch with cADNumber '2026000752', ID: 69bde39ea8d0a4e63 - will update instead of create
[2026-03-21 00:20:16] [INFO] Updated existing Dispatches record with ID: 69bde39ea8d0a4e63
[2026-03-21 00:20:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030350_20260321_002013.XML
[2026-03-21 00:20:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013.XML
[2026-03-21 00:20:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013_1.XML
[2026-03-21 00:20:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013_1.XML for user: 68f1466aed072ad4a
[2026-03-21 00:20:16] [INFO] File size: 6227 bytes
[2026-03-21 00:20:16] [INFO] Created FTPFiles record with ID: 69bde440a8c061615
[2026-03-21 00:20:16] [INFO] About to extract fields from XML. File size: 6227 bytes
[2026-03-21 00:20:16] [INFO] Number of mappings: 28
[2026-03-21 00:20:16] [INFO] Starting XML parsing. Content length: 6227
[2026-03-21 00:20:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:20:16] [INFO] Processing 28 field mappings
[2026-03-21 00:20:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:20:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:20:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:20:16] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:20:16] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:20:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:20:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:20:16] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:20:16] [INFO]   -> Found value: 2026000752
[2026-03-21 00:20:16] [INFO]   -> Set field 'incidentInternalId' = "2026000752"
[2026-03-21 00:20:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000752"
[2026-03-21 00:20:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:20:16] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:20:16] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:20:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:20:16] [INFO]   -> Found value: 6632
[2026-03-21 00:20:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6632
[2026-03-21 00:20:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:20:16] [INFO]   -> Found value: TN
[2026-03-21 00:20:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:20:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:20:16] [INFO]   -> Found value: 38506
[2026-03-21 00:20:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 00:20:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:20:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:20:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:20:16] [INFO]   -> Found value: 36.21934
[2026-03-21 00:20:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2193400000000025329427444376051425933837890625
[2026-03-21 00:20:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:20:16] [INFO]   -> Found value: -85.38197
[2026-03-21 00:20:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.381969999999995479811332188546657562255859375
[2026-03-21 00:20:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:20:16] [INFO]   -> Found value: 2026-03-20 19:17:13
[2026-03-21 00:20:16] [INFO]   -> Set field 'alarm' = "2026-03-20 19:17:13"
[2026-03-21 00:20:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:20:16] [INFO]   -> Found value: 2026-03-20 19:17:29
[2026-03-21 00:20:16] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:17:29"
[2026-03-21 00:20:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:20:16] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:16] [INFO]   -> Set field 'enroute' = "2026-03-20 19:20:02"
[2026-03-21 00:20:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:20:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:20:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:20:16] [INFO]   -> Found value: GREEN MOUNTAIN RD/WILEY LN
[2026-03-21 00:20:16] [INFO]   -> Set field 'incidentLocationCross' = "GREEN MOUNTAIN RD\/WILEY LN"
[2026-03-21 00:20:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:20:16] [INFO]   -> Found value: TK12
[2026-03-21 00:20:16] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 00:20:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:20:16] [INFO]   -> Found value: 2026-03-20 19:20:00
[2026-03-21 00:20:16] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:20:00"
[2026-03-21 00:20:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:20:16] [INFO]   -> Found value: 2026-03-20 19:20:02
[2026-03-21 00:20:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:20:02"
[2026-03-21 00:20:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:20:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:20:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:20:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:20:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:20:16] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:20:16] [INFO]   -> Found value: 20260030350
[2026-03-21 00:20:16] [INFO]   -> Set field 'policeReportNumber' = "20260030350"
[2026-03-21 00:20:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:20:16] [INFO]   -> Found value: [EMS] ENTER THROUGH THE BACK DOOR  [03/20/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART F...
[2026-03-21 00:20:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:16] [INFO]   -> Set field 'cADLog' = "[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]"
[2026-03-21 00:20:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:20:16] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 00:20:16] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 00:20:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:20:16] [INFO]   -> Found value: SPRING CREEK
[2026-03-21 00:20:16] [INFO]   -> Set field 'streetName' = "SPRING CREEK"
[2026-03-21 00:20:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:20:16] [INFO]   -> Found value: RD
[2026-03-21 00:20:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:20:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:20:16] [INFO]   -> Found value: 6632 SPRING CREEK RD
[2026-03-21 00:20:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6632 SPRING CREEK RD"
[2026-03-21 00:20:16] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:20:16] [INFO] Concatenating street name and type
[2026-03-21 00:20:16] [INFO]   -> Combined street name: SPRING CREEK RD
[2026-03-21 00:20:16] [INFO] Built locationCoordinates from lat/lng: 36.21934,-85.38197
[2026-03-21 00:20:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000752","dispatchRunNumber":"2026000752","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":6632,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2193400000000025329427444376051425933837890625,"nERISIncidentLongitude":-85.381969999999995479811332188546657562255859375,"alarm":"2026-03-20 19:17:13","dispatched":"2026-03-20 19:17:29","enroute":"2026-03-20 19:20:02","incidentLocationCross":"GREEN MOUNTAIN RD\/WILEY LN","cADVehicleID":"TK12","timedispatch":"2026-03-20 19:20:00","timeenroutetoscene":"2026-03-20 19:20:02","policeReportNumber":"20260030350","dispatchNotes":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","cADLog":"[EMS] ENTER THROUGH THE BACK DOOR  [03\/20\/26 19:18:42 TSCOTT] [EMS] 82 YOM  COPD STAGE 4 AND HEART FAILURE  PT IS AWAKE AND ALERT RAYMOND TALLENT  [03\/20\/26 19:17:54 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:17:13 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"SPRING CREEK RD","incidentAddressTextVersionStreet":"6632 SPRING CREEK RD","locationCoordinates":"36.21934,-85.38197"}
[2026-03-21 00:20:16] [INFO] Number of extracted fields: 23
[2026-03-21 00:20:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:20:16] [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-21 00:20:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:20:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:20:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:20:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:20: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-21 00:20: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-21 00:20:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:20:17] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:20:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:20:17] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:20:17] [INFO] Found existing Dispatch with cADNumber '2026000752', ID: 69bde39ea8d0a4e63 - will update instead of create
[2026-03-21 00:20:17] [INFO] Updated existing Dispatches record with ID: 69bde39ea8d0a4e63
[2026-03-21 00:20:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030350_20260321_002013_1.XML
[2026-03-21 00:20:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030350_20260321_002013_1.XML
[2026-03-21 00:36:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003601.XML
[2026-03-21 00:36:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003601.XML for user: 68f1466aed072ad4a
[2026-03-21 00:36:02] [INFO] File size: 5258 bytes
[2026-03-21 00:36:02] [INFO] Created FTPFiles record with ID: 69bde7f270bfd5a6d
[2026-03-21 00:36:02] [INFO] About to extract fields from XML. File size: 5258 bytes
[2026-03-21 00:36:02] [INFO] Number of mappings: 28
[2026-03-21 00:36:02] [INFO] Starting XML parsing. Content length: 5258
[2026-03-21 00:36:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:36:02] [INFO] Processing 28 field mappings
[2026-03-21 00:36:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:36:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:36:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:36:02] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:36:02] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-21 00:36:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-21 00:36:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:36:02] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:36:02] [INFO]   -> Found value: 2026000753
[2026-03-21 00:36:02] [INFO]   -> Set field 'incidentInternalId' = "2026000753"
[2026-03-21 00:36:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000753"
[2026-03-21 00:36:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:36:02] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-21 00:36:02] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-21 00:36:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:36:02] [INFO]   -> Found value: 13178
[2026-03-21 00:36:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 00:36:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:36:02] [INFO]   -> Found value: TN
[2026-03-21 00:36:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:36:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:36:02] [INFO]   -> Found value: 38582
[2026-03-21 00:36:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:36:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:36:02] [INFO]   -> Found value: 36.09010
[2026-03-21 00:36:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09009999999999962483343551866710186004638671875
[2026-03-21 00:36:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:36:02] [INFO]   -> Found value: -85.72758
[2026-03-21 00:36:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7275800000000032241587177850306034088134765625
[2026-03-21 00:36:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:36:02] [INFO]   -> Found value: 2026-03-20 19:34:04
[2026-03-21 00:36:02] [INFO]   -> Set field 'alarm' = "2026-03-20 19:34:04"
[2026-03-21 00:36:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:36:02] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:02] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:35:59"
[2026-03-21 00:36:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:36:02] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 00:36:02] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 00:36:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:36:02] [INFO]   -> Found value: TK31
[2026-03-21 00:36:02] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:36:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:36:02] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:02] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:35:59"
[2026-03-21 00:36:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:36:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:36:02] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:36:02] [INFO]   -> Found value: 20260030358
[2026-03-21 00:36:02] [INFO]   -> Set field 'policeReportNumber' = "20260030358"
[2026-03-21 00:36:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:36:02] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03/2...
[2026-03-21 00:36:02] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:02] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:36:02] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:36:02] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:36:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:36:02] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 00:36:02] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 00:36:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:36:02] [INFO]   -> Found value: RD
[2026-03-21 00:36:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:36:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:36:02] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 00:36:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 00:36:02] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 00:36:02] [INFO] Concatenating street name and type
[2026-03-21 00:36:02] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 00:36:02] [INFO] Built locationCoordinates from lat/lng: 36.0901,-85.72758
[2026-03-21 00:36:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000753","dispatchRunNumber":"2026000753","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.09009999999999962483343551866710186004638671875,"nERISIncidentLongitude":-85.7275800000000032241587177850306034088134765625,"alarm":"2026-03-20 19:34:04","dispatched":"2026-03-20 19:35:59","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:35:59","policeReportNumber":"20260030358","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.0901,-85.72758"}
[2026-03-21 00:36:02] [INFO] Number of extracted fields: 21
[2026-03-21 00:36:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-21 00:36:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 00:36:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-21 00:36:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:36:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:36:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-21 00:36: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-21 00:36: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-21 00:36:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:36:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:36:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:36:03] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-21 00:36:14] [INFO] Created new Dispatches record with ID: 69bde7f399d283085
[2026-03-21 00:36:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003601.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030358_20260321_003601.XML
[2026-03-21 00:36:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003601.XML
[2026-03-21 00:36:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003602.XML
[2026-03-21 00:36:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003602.XML for user: 68f1466aed072ad4a
[2026-03-21 00:36:14] [INFO] File size: 5258 bytes
[2026-03-21 00:36:14] [INFO] Created FTPFiles record with ID: 69bde7fedd1569933
[2026-03-21 00:36:14] [INFO] About to extract fields from XML. File size: 5258 bytes
[2026-03-21 00:36:14] [INFO] Number of mappings: 28
[2026-03-21 00:36:14] [INFO] Starting XML parsing. Content length: 5258
[2026-03-21 00:36:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:36:14] [INFO] Processing 28 field mappings
[2026-03-21 00:36:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:36:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:36:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:36:14] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:36:14] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-21 00:36:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-21 00:36:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:36:14] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:36:14] [INFO]   -> Found value: 2026000753
[2026-03-21 00:36:14] [INFO]   -> Set field 'incidentInternalId' = "2026000753"
[2026-03-21 00:36:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000753"
[2026-03-21 00:36:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:36:14] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-21 00:36:14] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-21 00:36:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:36:14] [INFO]   -> Found value: 13178
[2026-03-21 00:36:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 00:36:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:36:14] [INFO]   -> Found value: TN
[2026-03-21 00:36:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:36:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:36:14] [INFO]   -> Found value: 38582
[2026-03-21 00:36:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:36:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:36:14] [INFO]   -> Found value: 36.09010
[2026-03-21 00:36:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09009999999999962483343551866710186004638671875
[2026-03-21 00:36:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:36:14] [INFO]   -> Found value: -85.72758
[2026-03-21 00:36:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7275800000000032241587177850306034088134765625
[2026-03-21 00:36:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:36:14] [INFO]   -> Found value: 2026-03-20 19:34:04
[2026-03-21 00:36:14] [INFO]   -> Set field 'alarm' = "2026-03-20 19:34:04"
[2026-03-21 00:36:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:36:14] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:14] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:35:59"
[2026-03-21 00:36:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:36:14] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 00:36:14] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 00:36:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:36:14] [INFO]   -> Found value: TK31
[2026-03-21 00:36:14] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:36:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:36:14] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:14] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:35:59"
[2026-03-21 00:36:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:36:14] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:36:14] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:36:14] [INFO]   -> Found value: 20260030358
[2026-03-21 00:36:14] [INFO]   -> Set field 'policeReportNumber' = "20260030358"
[2026-03-21 00:36:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:36:14] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03/2...
[2026-03-21 00:36:14] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:14] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:36:14] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:36:14] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:36:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:36:14] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 00:36:14] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 00:36:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:36:14] [INFO]   -> Found value: RD
[2026-03-21 00:36:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:36:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:36:14] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 00:36:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 00:36:14] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 00:36:14] [INFO] Concatenating street name and type
[2026-03-21 00:36:14] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 00:36:14] [INFO] Built locationCoordinates from lat/lng: 36.0901,-85.72758
[2026-03-21 00:36:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000753","dispatchRunNumber":"2026000753","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.09009999999999962483343551866710186004638671875,"nERISIncidentLongitude":-85.7275800000000032241587177850306034088134765625,"alarm":"2026-03-20 19:34:04","dispatched":"2026-03-20 19:35:59","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:35:59","policeReportNumber":"20260030358","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.0901,-85.72758"}
[2026-03-21 00:36:14] [INFO] Number of extracted fields: 21
[2026-03-21 00:36:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-21 00:36:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 00:36:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-21 00:36:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:36:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:36:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-21 00:36:15] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 00:36:15] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 00:36:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:36:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:36:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:36:15] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-21 00:36:15] [INFO] Found existing Dispatch with cADNumber '2026000753', ID: 69bde7f399d283085 - will update instead of create
[2026-03-21 00:36:15] [INFO] Updated existing Dispatches record with ID: 69bde7f399d283085
[2026-03-21 00:36:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003602.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030358_20260321_003602.XML
[2026-03-21 00:36:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003602.XML
[2026-03-21 00:36:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003603.XML
[2026-03-21 00:36:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003603.XML for user: 68f1466aed072ad4a
[2026-03-21 00:36:15] [INFO] File size: 5258 bytes
[2026-03-21 00:36:16] [INFO] Created FTPFiles record with ID: 69bde8002e262d366
[2026-03-21 00:36:16] [INFO] About to extract fields from XML. File size: 5258 bytes
[2026-03-21 00:36:16] [INFO] Number of mappings: 28
[2026-03-21 00:36:16] [INFO] Starting XML parsing. Content length: 5258
[2026-03-21 00:36:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:36:16] [INFO] Processing 28 field mappings
[2026-03-21 00:36:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:36:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:36:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:36:16] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:36:16] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-21 00:36:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-21 00:36:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:36:16] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:36:16] [INFO]   -> Found value: 2026000753
[2026-03-21 00:36:16] [INFO]   -> Set field 'incidentInternalId' = "2026000753"
[2026-03-21 00:36:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000753"
[2026-03-21 00:36:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:36:16] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-21 00:36:16] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-21 00:36:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:36:16] [INFO]   -> Found value: 13178
[2026-03-21 00:36:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 00:36:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:36:16] [INFO]   -> Found value: TN
[2026-03-21 00:36:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:36:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:36:16] [INFO]   -> Found value: 38582
[2026-03-21 00:36:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:36:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:36:16] [INFO]   -> Found value: 36.09010
[2026-03-21 00:36:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09009999999999962483343551866710186004638671875
[2026-03-21 00:36:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:36:16] [INFO]   -> Found value: -85.72758
[2026-03-21 00:36:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7275800000000032241587177850306034088134765625
[2026-03-21 00:36:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:36:16] [INFO]   -> Found value: 2026-03-20 19:34:04
[2026-03-21 00:36:16] [INFO]   -> Set field 'alarm' = "2026-03-20 19:34:04"
[2026-03-21 00:36:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:36:16] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:16] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:35:59"
[2026-03-21 00:36:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:36:16] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 00:36:16] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 00:36:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:36:16] [INFO]   -> Found value: TK31
[2026-03-21 00:36:16] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:36:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:36:16] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:16] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:35:59"
[2026-03-21 00:36:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:36:16] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:36:16] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:36:16] [INFO]   -> Found value: 20260030358
[2026-03-21 00:36:16] [INFO]   -> Set field 'policeReportNumber' = "20260030358"
[2026-03-21 00:36:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:36:16] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03/2...
[2026-03-21 00:36:16] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:16] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:36:16] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:36:16] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:36:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:36:16] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 00:36:16] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 00:36:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:36:16] [INFO]   -> Found value: RD
[2026-03-21 00:36:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:36:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:36:16] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 00:36:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 00:36:16] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 00:36:16] [INFO] Concatenating street name and type
[2026-03-21 00:36:16] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 00:36:16] [INFO] Built locationCoordinates from lat/lng: 36.0901,-85.72758
[2026-03-21 00:36:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000753","dispatchRunNumber":"2026000753","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.09009999999999962483343551866710186004638671875,"nERISIncidentLongitude":-85.7275800000000032241587177850306034088134765625,"alarm":"2026-03-20 19:34:04","dispatched":"2026-03-20 19:35:59","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:35:59","policeReportNumber":"20260030358","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.0901,-85.72758"}
[2026-03-21 00:36:16] [INFO] Number of extracted fields: 21
[2026-03-21 00:36:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-21 00:36:16] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 00:36:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-21 00:36:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:36:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:36:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-21 00:36: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-21 00:36: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-21 00:36:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:36:16] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:36:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:36:16] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-21 00:36:16] [INFO] Found existing Dispatch with cADNumber '2026000753', ID: 69bde7f399d283085 - will update instead of create
[2026-03-21 00:36:17] [INFO] Updated existing Dispatches record with ID: 69bde7f399d283085
[2026-03-21 00:36:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003603.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030358_20260321_003603.XML
[2026-03-21 00:36:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003603.XML
[2026-03-21 00:36:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003607.XML
[2026-03-21 00:36:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003607.XML for user: 68f1466aed072ad4a
[2026-03-21 00:36:17] [INFO] File size: 5258 bytes
[2026-03-21 00:36:17] [INFO] Created FTPFiles record with ID: 69bde801614883cd0
[2026-03-21 00:36:17] [INFO] About to extract fields from XML. File size: 5258 bytes
[2026-03-21 00:36:17] [INFO] Number of mappings: 28
[2026-03-21 00:36:17] [INFO] Starting XML parsing. Content length: 5258
[2026-03-21 00:36:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:36:17] [INFO] Processing 28 field mappings
[2026-03-21 00:36:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:36:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:36:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:36:17] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:36:17] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-21 00:36:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-21 00:36:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:36:17] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:36:17] [INFO]   -> Found value: 2026000753
[2026-03-21 00:36:17] [INFO]   -> Set field 'incidentInternalId' = "2026000753"
[2026-03-21 00:36:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000753"
[2026-03-21 00:36:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:36:17] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-21 00:36:17] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-21 00:36:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:36:17] [INFO]   -> Found value: 13178
[2026-03-21 00:36:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 00:36:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:36:17] [INFO]   -> Found value: TN
[2026-03-21 00:36:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:36:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:36:17] [INFO]   -> Found value: 38582
[2026-03-21 00:36:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:36:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:36:17] [INFO]   -> Found value: 36.09010
[2026-03-21 00:36:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09009999999999962483343551866710186004638671875
[2026-03-21 00:36:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:36:17] [INFO]   -> Found value: -85.72758
[2026-03-21 00:36:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7275800000000032241587177850306034088134765625
[2026-03-21 00:36:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:36:17] [INFO]   -> Found value: 2026-03-20 19:34:04
[2026-03-21 00:36:17] [INFO]   -> Set field 'alarm' = "2026-03-20 19:34:04"
[2026-03-21 00:36:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:36:17] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:17] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:35:59"
[2026-03-21 00:36:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:36:17] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 00:36:17] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 00:36:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:36:17] [INFO]   -> Found value: TK31
[2026-03-21 00:36:17] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:36:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:36:17] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:17] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:35:59"
[2026-03-21 00:36:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:36:17] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:36:17] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:36:17] [INFO]   -> Found value: 20260030358
[2026-03-21 00:36:17] [INFO]   -> Set field 'policeReportNumber' = "20260030358"
[2026-03-21 00:36:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:36:17] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03/2...
[2026-03-21 00:36:17] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:17] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:36:17] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:36:17] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:36:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:36:17] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 00:36:17] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 00:36:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:36:17] [INFO]   -> Found value: RD
[2026-03-21 00:36:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:36:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:36:17] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 00:36:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 00:36:17] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 00:36:17] [INFO] Concatenating street name and type
[2026-03-21 00:36:17] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 00:36:17] [INFO] Built locationCoordinates from lat/lng: 36.0901,-85.72758
[2026-03-21 00:36:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000753","dispatchRunNumber":"2026000753","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.09009999999999962483343551866710186004638671875,"nERISIncidentLongitude":-85.7275800000000032241587177850306034088134765625,"alarm":"2026-03-20 19:34:04","dispatched":"2026-03-20 19:35:59","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:35:59","policeReportNumber":"20260030358","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.0901,-85.72758"}
[2026-03-21 00:36:17] [INFO] Number of extracted fields: 21
[2026-03-21 00:36:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-21 00:36:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 00:36:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-21 00:36:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:36:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:36:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-21 00:36: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-21 00:36: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-21 00:36:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:36:17] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:36:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:36:17] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-21 00:36:18] [INFO] Found existing Dispatch with cADNumber '2026000753', ID: 69bde7f399d283085 - will update instead of create
[2026-03-21 00:36:18] [INFO] Updated existing Dispatches record with ID: 69bde7f399d283085
[2026-03-21 00:36:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003607.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030358_20260321_003607.XML
[2026-03-21 00:36:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003607.XML
[2026-03-21 00:36:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003640.XML
[2026-03-21 00:36:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003640.XML for user: 68f1466aed072ad4a
[2026-03-21 00:36:40] [INFO] File size: 6178 bytes
[2026-03-21 00:36:40] [INFO] Created FTPFiles record with ID: 69bde818e89ac3a09
[2026-03-21 00:36:40] [INFO] About to extract fields from XML. File size: 6178 bytes
[2026-03-21 00:36:40] [INFO] Number of mappings: 28
[2026-03-21 00:36:40] [INFO] Starting XML parsing. Content length: 6178
[2026-03-21 00:36:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:36:40] [INFO] Processing 28 field mappings
[2026-03-21 00:36:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:36:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:36:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:36:40] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:36:40] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-03-21 00:36:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-03-21 00:36:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:36:40] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:36:40] [INFO]   -> Found value: 2026000753
[2026-03-21 00:36:40] [INFO]   -> Set field 'incidentInternalId' = "2026000753"
[2026-03-21 00:36:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000753"
[2026-03-21 00:36:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:36:40] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-03-21 00:36:40] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-03-21 00:36:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:36:40] [INFO]   -> Found value: 13178
[2026-03-21 00:36:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 00:36:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:36:40] [INFO]   -> Found value: TN
[2026-03-21 00:36:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:36:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:36:40] [INFO]   -> Found value: 38582
[2026-03-21 00:36:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:36:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:36:40] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:36:40] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:36:40] [INFO]   -> Found value: 36.09010
[2026-03-21 00:36:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09009999999999962483343551866710186004638671875
[2026-03-21 00:36:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:36:40] [INFO]   -> Found value: -85.72758
[2026-03-21 00:36:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7275800000000032241587177850306034088134765625
[2026-03-21 00:36:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:36:40] [INFO]   -> Found value: 2026-03-20 19:34:04
[2026-03-21 00:36:40] [INFO]   -> Set field 'alarm' = "2026-03-20 19:34:04"
[2026-03-21 00:36:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:36:40] [INFO]   -> Found value: 2026-03-20 19:35:59
[2026-03-21 00:36:40] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:35:59"
[2026-03-21 00:36:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:36:40] [INFO]   -> Found value: 2026-03-20 19:36:32
[2026-03-21 00:36:40] [INFO]   -> Set field 'enroute' = "2026-03-20 19:36:32"
[2026-03-21 00:36:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:36:40] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:36:40] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:36:40] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 00:36:40] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 00:36:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:36:40] [INFO]   -> Found value: EN11
[2026-03-21 00:36:40] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-21 00:36:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:36:40] [INFO]   -> Found value: 2026-03-20 19:36:32
[2026-03-21 00:36:40] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:36:32"
[2026-03-21 00:36:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:36:40] [INFO]   -> Found value: 2026-03-20 19:36:32
[2026-03-21 00:36:40] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:36:32"
[2026-03-21 00:36:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:36:40] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:36:40] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:36:40] [INFO]   -> No value found (null or empty)
[2026-03-21 00:36:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:36:40] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:36:40] [INFO]   -> Found value: 20260030358
[2026-03-21 00:36:40] [INFO]   -> Set field 'policeReportNumber' = "20260030358"
[2026-03-21 00:36:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:36:40] [INFO]   -> Found value: CALLER IS AT 13177 AND STATED THE STRUCTURE IS DIRECTLY ACROSS THE ROAD  UNKNOWN IF ANYONE IS INSIDE...
[2026-03-21 00:36:40] [INFO]   -> Set field 'dispatchNotes' = "CALLER IS AT 13177 AND STATED THE STRUCTURE IS DIRECTLY ACROSS THE ROAD  UNKNOWN IF ANYONE IS INSIDE THE STRUCTURE  [03\/20\/26 19:36:17 BPICHE] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:40] [INFO]   -> Set field 'cADLog' = "CALLER IS AT 13177 AND STATED THE STRUCTURE IS DIRECTLY ACROSS THE ROAD  UNKNOWN IF ANYONE IS INSIDE THE STRUCTURE  [03\/20\/26 19:36:17 BPICHE] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]"
[2026-03-21 00:36:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:36:40] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:36:40] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:36:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:36:40] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 00:36:40] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 00:36:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:36:40] [INFO]   -> Found value: RD
[2026-03-21 00:36:40] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:36:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:36:40] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 00:36:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 00:36:40] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:36:40] [INFO] Concatenating street name and type
[2026-03-21 00:36:40] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 00:36:40] [INFO] Built locationCoordinates from lat/lng: 36.0901,-85.72758
[2026-03-21 00:36:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000753","dispatchRunNumber":"2026000753","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.09009999999999962483343551866710186004638671875,"nERISIncidentLongitude":-85.7275800000000032241587177850306034088134765625,"alarm":"2026-03-20 19:34:04","dispatched":"2026-03-20 19:35:59","enroute":"2026-03-20 19:36:32","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"EN11","timedispatch":"2026-03-20 19:36:32","timeenroutetoscene":"2026-03-20 19:36:32","policeReportNumber":"20260030358","dispatchNotes":"CALLER IS AT 13177 AND STATED THE STRUCTURE IS DIRECTLY ACROSS THE ROAD  UNKNOWN IF ANYONE IS INSIDE THE STRUCTURE  [03\/20\/26 19:36:17 BPICHE] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","cADLog":"CALLER IS AT 13177 AND STATED THE STRUCTURE IS DIRECTLY ACROSS THE ROAD  UNKNOWN IF ANYONE IS INSIDE THE STRUCTURE  [03\/20\/26 19:36:17 BPICHE] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 19:35:43 CHERNANDEZ] HOUSE OR BODY SHOP FIRE  [03\/20\/26 19:34:39 BPICHE]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.0901,-85.72758"}
[2026-03-21 00:36:40] [INFO] Number of extracted fields: 23
[2026-03-21 00:36:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-03-21 00:36:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 00:36:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-03-21 00:36:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:36:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:36:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-03-21 00:36: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-21 00:36: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-21 00:36:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:36:41] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:36:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:36:41] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-03-21 00:36:41] [INFO] Found existing Dispatch with cADNumber '2026000753', ID: 69bde7f399d283085 - will update instead of create
[2026-03-21 00:36:41] [INFO] Updated existing Dispatches record with ID: 69bde7f399d283085
[2026-03-21 00:36:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003640.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030358_20260321_003640.XML
[2026-03-21 00:36:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030358_20260321_003640.XML
[2026-03-21 00:37:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_003710.XML
[2026-03-21 00:37:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_003710.XML for user: 68f1466aed072ad4a
[2026-03-21 00:37:10] [INFO] File size: 5274 bytes
[2026-03-21 00:37:10] [INFO] Created FTPFiles record with ID: 69bde836ecf53fab9
[2026-03-21 00:37:10] [INFO] About to extract fields from XML. File size: 5274 bytes
[2026-03-21 00:37:10] [INFO] Number of mappings: 28
[2026-03-21 00:37:10] [INFO] Starting XML parsing. Content length: 5274
[2026-03-21 00:37:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:37:10] [INFO] Processing 28 field mappings
[2026-03-21 00:37:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:37:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:37:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:37:11] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:37:11] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:37:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:37:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:37:11] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:37:11] [INFO]   -> Found value: 2026000754
[2026-03-21 00:37:11] [INFO]   -> Set field 'incidentInternalId' = "2026000754"
[2026-03-21 00:37:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000754"
[2026-03-21 00:37:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:37:11] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:37:11] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:37:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:37:11] [INFO]   -> Found value: 15535
[2026-03-21 00:37:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 15535
[2026-03-21 00:37:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:37:11] [INFO]   -> Found value: TN
[2026-03-21 00:37:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:37:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:37:11] [INFO]   -> Found value: 38582
[2026-03-21 00:37:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:37:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:37:11] [INFO]   -> Found value: 36.11156
[2026-03-21 00:37:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11155999999999721694621257483959197998046875
[2026-03-21 00:37:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:37:11] [INFO]   -> Found value: -85.74961
[2026-03-21 00:37:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7496100000000041063685785047709941864013671875
[2026-03-21 00:37:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:37:11] [INFO]   -> Found value: 2026-03-20 19:35:32
[2026-03-21 00:37:11] [INFO]   -> Set field 'alarm' = "2026-03-20 19:35:32"
[2026-03-21 00:37:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:37:11] [INFO]   -> Found value: 2026-03-20 19:37:06
[2026-03-21 00:37:11] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:37:06"
[2026-03-21 00:37:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:37:11] [INFO]   -> Found value: MOCKINGBIRD LN
[2026-03-21 00:37:11] [INFO]   -> Set field 'incidentLocationCross' = "MOCKINGBIRD LN"
[2026-03-21 00:37:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:37:11] [INFO]   -> Found value: PCFR
[2026-03-21 00:37:11] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 00:37:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:37:11] [INFO]   -> Found value: 2026-03-20 19:37:07
[2026-03-21 00:37:11] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:37:07"
[2026-03-21 00:37:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:37:11] [INFO]   -> No value found (null or empty)
[2026-03-21 00:37:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:37:11] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:37:11] [INFO]   -> Found value: 20260030362
[2026-03-21 00:37:11] [INFO]   -> Set field 'policeReportNumber' = "20260030362"
[2026-03-21 00:37:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:37:11] [INFO]   -> Found value: [EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03/20/26 19:36:11 EROACH] Event spawned from BREATHI...
[2026-03-21 00:37:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:37:11] [INFO]   -> Set field 'cADLog' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:37:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:37:11] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:37:11] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:37:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:37:11] [INFO]   -> Found value: TUCKER RIDGE
[2026-03-21 00:37:11] [INFO]   -> Set field 'streetName' = "TUCKER RIDGE"
[2026-03-21 00:37:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:37:11] [INFO]   -> Found value: RD
[2026-03-21 00:37:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:37:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:37:11] [INFO]   -> Found value: 15535 TUCKER RIDGE RD
[2026-03-21 00:37:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "15535 TUCKER RIDGE RD"
[2026-03-21 00:37:11] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 00:37:11] [INFO] Concatenating street name and type
[2026-03-21 00:37:11] [INFO]   -> Combined street name: TUCKER RIDGE RD
[2026-03-21 00:37:11] [INFO] Built locationCoordinates from lat/lng: 36.11156,-85.74961
[2026-03-21 00:37:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000754","dispatchRunNumber":"2026000754","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":15535,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.11155999999999721694621257483959197998046875,"nERISIncidentLongitude":-85.7496100000000041063685785047709941864013671875,"alarm":"2026-03-20 19:35:32","dispatched":"2026-03-20 19:37:06","incidentLocationCross":"MOCKINGBIRD LN","cADVehicleID":"PCFR","timedispatch":"2026-03-20 19:37:07","policeReportNumber":"20260030362","dispatchNotes":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","cADLog":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"TUCKER RIDGE RD","incidentAddressTextVersionStreet":"15535 TUCKER RIDGE RD","locationCoordinates":"36.11156,-85.74961"}
[2026-03-21 00:37:11] [INFO] Number of extracted fields: 21
[2026-03-21 00:37:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:37:11] [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-21 00:37:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:37:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:37:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:37:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00: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-21 00: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-21 00:37:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:37:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:37:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:37:11] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:37:21] [INFO] Created new Dispatches record with ID: 69bde837bc709c37c
[2026-03-21 00:37:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_003710.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030362_20260321_003710.XML
[2026-03-21 00:37:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_003710.XML
[2026-03-21 00:41:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004101.XML
[2026-03-21 00:41:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004101.XML for user: 68f1466aed072ad4a
[2026-03-21 00:41:02] [INFO] File size: 6161 bytes
[2026-03-21 00:41:02] [INFO] Created FTPFiles record with ID: 69bde91e526267728
[2026-03-21 00:41:02] [INFO] About to extract fields from XML. File size: 6161 bytes
[2026-03-21 00:41:02] [INFO] Number of mappings: 28
[2026-03-21 00:41:02] [INFO] Starting XML parsing. Content length: 6161
[2026-03-21 00:41:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:41:02] [INFO] Processing 28 field mappings
[2026-03-21 00:41:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:41:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:41:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:41:02] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:41:02] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:41:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:41:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:41:02] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:41:02] [INFO]   -> Found value: 2026000754
[2026-03-21 00:41:02] [INFO]   -> Set field 'incidentInternalId' = "2026000754"
[2026-03-21 00:41:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000754"
[2026-03-21 00:41:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:41:02] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:41:02] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:41:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:41:02] [INFO]   -> Found value: 15535
[2026-03-21 00:41:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 15535
[2026-03-21 00:41:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:41:02] [INFO]   -> Found value: TN
[2026-03-21 00:41:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:41:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:41:02] [INFO]   -> Found value: 38582
[2026-03-21 00:41:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:41:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:41:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:41:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:41:02] [INFO]   -> Found value: 36.11156
[2026-03-21 00:41:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11155999999999721694621257483959197998046875
[2026-03-21 00:41:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:41:02] [INFO]   -> Found value: -85.74961
[2026-03-21 00:41:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7496100000000041063685785047709941864013671875
[2026-03-21 00:41:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:41:02] [INFO]   -> Found value: 2026-03-20 19:35:32
[2026-03-21 00:41:02] [INFO]   -> Set field 'alarm' = "2026-03-20 19:35:32"
[2026-03-21 00:41:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:41:02] [INFO]   -> Found value: 2026-03-20 19:37:06
[2026-03-21 00:41:02] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:37:06"
[2026-03-21 00:41:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:41:02] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:02] [INFO]   -> Set field 'enroute' = "2026-03-20 19:40:58"
[2026-03-21 00:41:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:41:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:41:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:41:02] [INFO]   -> Found value: MOCKINGBIRD LN
[2026-03-21 00:41:02] [INFO]   -> Set field 'incidentLocationCross' = "MOCKINGBIRD LN"
[2026-03-21 00:41:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:41:02] [INFO]   -> Found value: TK31
[2026-03-21 00:41:02] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:41:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:41:02] [INFO]   -> Found value: 2026-03-20 19:40:56
[2026-03-21 00:41:02] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:40:56"
[2026-03-21 00:41:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:41:02] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:40:58"
[2026-03-21 00:41:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:41:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:41:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:41:02] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:41:02] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:41:02] [INFO]   -> Found value: 20260030362
[2026-03-21 00:41:02] [INFO]   -> Set field 'policeReportNumber' = "20260030362"
[2026-03-21 00:41:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:41:02] [INFO]   -> Found value: [EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03/20/26 19:36:11 EROACH] Event spawned from BREATHI...
[2026-03-21 00:41:02] [INFO]   -> Set field 'dispatchNotes' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:02] [INFO]   -> Set field 'cADLog' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:41:02] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:41:02] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:41:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:41:02] [INFO]   -> Found value: TUCKER RIDGE
[2026-03-21 00:41:02] [INFO]   -> Set field 'streetName' = "TUCKER RIDGE"
[2026-03-21 00:41:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:41:02] [INFO]   -> Found value: RD
[2026-03-21 00:41:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:41:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:41:02] [INFO]   -> Found value: 15535 TUCKER RIDGE RD
[2026-03-21 00:41:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "15535 TUCKER RIDGE RD"
[2026-03-21 00:41:02] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:41:02] [INFO] Concatenating street name and type
[2026-03-21 00:41:02] [INFO]   -> Combined street name: TUCKER RIDGE RD
[2026-03-21 00:41:02] [INFO] Built locationCoordinates from lat/lng: 36.11156,-85.74961
[2026-03-21 00:41:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000754","dispatchRunNumber":"2026000754","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":15535,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.11155999999999721694621257483959197998046875,"nERISIncidentLongitude":-85.7496100000000041063685785047709941864013671875,"alarm":"2026-03-20 19:35:32","dispatched":"2026-03-20 19:37:06","enroute":"2026-03-20 19:40:58","incidentLocationCross":"MOCKINGBIRD LN","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:40:56","timeenroutetoscene":"2026-03-20 19:40:58","policeReportNumber":"20260030362","dispatchNotes":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","cADLog":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"TUCKER RIDGE RD","incidentAddressTextVersionStreet":"15535 TUCKER RIDGE RD","locationCoordinates":"36.11156,-85.74961"}
[2026-03-21 00:41:02] [INFO] Number of extracted fields: 23
[2026-03-21 00:41:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:41: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-21 00:41:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:41:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:41:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:41:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:41: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-21 00:41: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-21 00:41:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:41:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:41:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:41:02] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:41:03] [INFO] Found existing Dispatch with cADNumber '2026000754', ID: 69bde837bc709c37c - will update instead of create
[2026-03-21 00:41:03] [INFO] Updated existing Dispatches record with ID: 69bde837bc709c37c
[2026-03-21 00:41:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004101.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030362_20260321_004101.XML
[2026-03-21 00:41:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004101.XML
[2026-03-21 00:41:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004102.XML
[2026-03-21 00:41:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004102.XML for user: 68f1466aed072ad4a
[2026-03-21 00:41:03] [INFO] File size: 6161 bytes
[2026-03-21 00:41:03] [INFO] Created FTPFiles record with ID: 69bde91f9d3130226
[2026-03-21 00:41:03] [INFO] About to extract fields from XML. File size: 6161 bytes
[2026-03-21 00:41:03] [INFO] Number of mappings: 28
[2026-03-21 00:41:03] [INFO] Starting XML parsing. Content length: 6161
[2026-03-21 00:41:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:41:03] [INFO] Processing 28 field mappings
[2026-03-21 00:41:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:41:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:41:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:41:03] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:41:03] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:41:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:41:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:41:03] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:41:03] [INFO]   -> Found value: 2026000754
[2026-03-21 00:41:03] [INFO]   -> Set field 'incidentInternalId' = "2026000754"
[2026-03-21 00:41:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000754"
[2026-03-21 00:41:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:41:03] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:41:03] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:41:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:41:03] [INFO]   -> Found value: 15535
[2026-03-21 00:41:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 15535
[2026-03-21 00:41:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:41:03] [INFO]   -> Found value: TN
[2026-03-21 00:41:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:41:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:41:03] [INFO]   -> Found value: 38582
[2026-03-21 00:41:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:41:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:41:03] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:41:03] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:41:03] [INFO]   -> Found value: 36.11156
[2026-03-21 00:41:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11155999999999721694621257483959197998046875
[2026-03-21 00:41:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:41:03] [INFO]   -> Found value: -85.74961
[2026-03-21 00:41:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7496100000000041063685785047709941864013671875
[2026-03-21 00:41:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:41:03] [INFO]   -> Found value: 2026-03-20 19:35:32
[2026-03-21 00:41:03] [INFO]   -> Set field 'alarm' = "2026-03-20 19:35:32"
[2026-03-21 00:41:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:41:03] [INFO]   -> Found value: 2026-03-20 19:37:06
[2026-03-21 00:41:03] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:37:06"
[2026-03-21 00:41:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:41:03] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:03] [INFO]   -> Set field 'enroute' = "2026-03-20 19:40:58"
[2026-03-21 00:41:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:41:03] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:41:03] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:41:03] [INFO]   -> Found value: MOCKINGBIRD LN
[2026-03-21 00:41:03] [INFO]   -> Set field 'incidentLocationCross' = "MOCKINGBIRD LN"
[2026-03-21 00:41:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:41:03] [INFO]   -> Found value: TK31
[2026-03-21 00:41:03] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:41:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:41:03] [INFO]   -> Found value: 2026-03-20 19:40:56
[2026-03-21 00:41:03] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:40:56"
[2026-03-21 00:41:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:41:03] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:40:58"
[2026-03-21 00:41:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:41:03] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:41:03] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:41:03] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:41:03] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:41:03] [INFO]   -> Found value: 20260030362
[2026-03-21 00:41:03] [INFO]   -> Set field 'policeReportNumber' = "20260030362"
[2026-03-21 00:41:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:41:03] [INFO]   -> Found value: [EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03/20/26 19:36:11 EROACH] Event spawned from BREATHI...
[2026-03-21 00:41:03] [INFO]   -> Set field 'dispatchNotes' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:03] [INFO]   -> Set field 'cADLog' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:41:03] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:41:03] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:41:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:41:03] [INFO]   -> Found value: TUCKER RIDGE
[2026-03-21 00:41:03] [INFO]   -> Set field 'streetName' = "TUCKER RIDGE"
[2026-03-21 00:41:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:41:03] [INFO]   -> Found value: RD
[2026-03-21 00:41:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:41:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:41:03] [INFO]   -> Found value: 15535 TUCKER RIDGE RD
[2026-03-21 00:41:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "15535 TUCKER RIDGE RD"
[2026-03-21 00:41:03] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:41:03] [INFO] Concatenating street name and type
[2026-03-21 00:41:03] [INFO]   -> Combined street name: TUCKER RIDGE RD
[2026-03-21 00:41:03] [INFO] Built locationCoordinates from lat/lng: 36.11156,-85.74961
[2026-03-21 00:41:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000754","dispatchRunNumber":"2026000754","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":15535,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.11155999999999721694621257483959197998046875,"nERISIncidentLongitude":-85.7496100000000041063685785047709941864013671875,"alarm":"2026-03-20 19:35:32","dispatched":"2026-03-20 19:37:06","enroute":"2026-03-20 19:40:58","incidentLocationCross":"MOCKINGBIRD LN","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:40:56","timeenroutetoscene":"2026-03-20 19:40:58","policeReportNumber":"20260030362","dispatchNotes":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","cADLog":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"TUCKER RIDGE RD","incidentAddressTextVersionStreet":"15535 TUCKER RIDGE RD","locationCoordinates":"36.11156,-85.74961"}
[2026-03-21 00:41:03] [INFO] Number of extracted fields: 23
[2026-03-21 00:41:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:41: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-21 00:41:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:41:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:41:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:41:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:41: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-21 00:41: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-21 00:41:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:41:07] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:41:07] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:41:07] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:41:08] [INFO] Found existing Dispatch with cADNumber '2026000754', ID: 69bde837bc709c37c - will update instead of create
[2026-03-21 00:41:08] [INFO] Updated existing Dispatches record with ID: 69bde837bc709c37c
[2026-03-21 00:41:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004102.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030362_20260321_004102.XML
[2026-03-21 00:41:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004102.XML
[2026-03-21 00:41:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004103.XML
[2026-03-21 00:41:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004103.XML for user: 68f1466aed072ad4a
[2026-03-21 00:41:08] [INFO] File size: 6161 bytes
[2026-03-21 00:41:08] [INFO] Created FTPFiles record with ID: 69bde9249047406d7
[2026-03-21 00:41:08] [INFO] About to extract fields from XML. File size: 6161 bytes
[2026-03-21 00:41:08] [INFO] Number of mappings: 28
[2026-03-21 00:41:08] [INFO] Starting XML parsing. Content length: 6161
[2026-03-21 00:41:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:41:08] [INFO] Processing 28 field mappings
[2026-03-21 00:41:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:41:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:41:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:41:08] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:41:08] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:41:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:41:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:41:08] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:41:08] [INFO]   -> Found value: 2026000754
[2026-03-21 00:41:08] [INFO]   -> Set field 'incidentInternalId' = "2026000754"
[2026-03-21 00:41:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000754"
[2026-03-21 00:41:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:41:08] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:41:08] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:41:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:41:08] [INFO]   -> Found value: 15535
[2026-03-21 00:41:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 15535
[2026-03-21 00:41:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:41:08] [INFO]   -> Found value: TN
[2026-03-21 00:41:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:41:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:41:08] [INFO]   -> Found value: 38582
[2026-03-21 00:41:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:41:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:41:08] [INFO]   -> Found value: 36.11156
[2026-03-21 00:41:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11155999999999721694621257483959197998046875
[2026-03-21 00:41:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:41:08] [INFO]   -> Found value: -85.74961
[2026-03-21 00:41:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7496100000000041063685785047709941864013671875
[2026-03-21 00:41:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:41:08] [INFO]   -> Found value: 2026-03-20 19:35:32
[2026-03-21 00:41:08] [INFO]   -> Set field 'alarm' = "2026-03-20 19:35:32"
[2026-03-21 00:41:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:41:08] [INFO]   -> Found value: 2026-03-20 19:37:06
[2026-03-21 00:41:08] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:37:06"
[2026-03-21 00:41:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:41:08] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:08] [INFO]   -> Set field 'enroute' = "2026-03-20 19:40:58"
[2026-03-21 00:41:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:41:08] [INFO]   -> Found value: MOCKINGBIRD LN
[2026-03-21 00:41:08] [INFO]   -> Set field 'incidentLocationCross' = "MOCKINGBIRD LN"
[2026-03-21 00:41:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:41:08] [INFO]   -> Found value: TK31
[2026-03-21 00:41:08] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:41:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:41:08] [INFO]   -> Found value: 2026-03-20 19:40:56
[2026-03-21 00:41:08] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:40:56"
[2026-03-21 00:41:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:41:08] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:40:58"
[2026-03-21 00:41:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:41:08] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:41:08] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:41:08] [INFO]   -> Found value: 20260030362
[2026-03-21 00:41:08] [INFO]   -> Set field 'policeReportNumber' = "20260030362"
[2026-03-21 00:41:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:41:08] [INFO]   -> Found value: [EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03/20/26 19:36:11 EROACH] Event spawned from BREATHI...
[2026-03-21 00:41:08] [INFO]   -> Set field 'dispatchNotes' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:08] [INFO]   -> Set field 'cADLog' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:41:08] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:41:08] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:41:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:41:08] [INFO]   -> Found value: TUCKER RIDGE
[2026-03-21 00:41:08] [INFO]   -> Set field 'streetName' = "TUCKER RIDGE"
[2026-03-21 00:41:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:41:08] [INFO]   -> Found value: RD
[2026-03-21 00:41:08] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:41:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:41:08] [INFO]   -> Found value: 15535 TUCKER RIDGE RD
[2026-03-21 00:41:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "15535 TUCKER RIDGE RD"
[2026-03-21 00:41:08] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:41:08] [INFO] Concatenating street name and type
[2026-03-21 00:41:08] [INFO]   -> Combined street name: TUCKER RIDGE RD
[2026-03-21 00:41:08] [INFO] Built locationCoordinates from lat/lng: 36.11156,-85.74961
[2026-03-21 00:41:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000754","dispatchRunNumber":"2026000754","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":15535,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.11155999999999721694621257483959197998046875,"nERISIncidentLongitude":-85.7496100000000041063685785047709941864013671875,"alarm":"2026-03-20 19:35:32","dispatched":"2026-03-20 19:37:06","enroute":"2026-03-20 19:40:58","incidentLocationCross":"MOCKINGBIRD LN","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:40:56","timeenroutetoscene":"2026-03-20 19:40:58","policeReportNumber":"20260030362","dispatchNotes":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","cADLog":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"TUCKER RIDGE RD","incidentAddressTextVersionStreet":"15535 TUCKER RIDGE RD","locationCoordinates":"36.11156,-85.74961"}
[2026-03-21 00:41:08] [INFO] Number of extracted fields: 23
[2026-03-21 00:41:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:41: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-21 00:41:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:41:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:41:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:41:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:41: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-21 00:41: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-21 00:41:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:41:08] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:41:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:41:09] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:41:09] [INFO] Found existing Dispatch with cADNumber '2026000754', ID: 69bde837bc709c37c - will update instead of create
[2026-03-21 00:41:09] [INFO] Updated existing Dispatches record with ID: 69bde837bc709c37c
[2026-03-21 00:41:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004103.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030362_20260321_004103.XML
[2026-03-21 00:41:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004103.XML
[2026-03-21 00:41:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004106.XML
[2026-03-21 00:41:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004106.XML for user: 68f1466aed072ad4a
[2026-03-21 00:41:09] [INFO] File size: 6161 bytes
[2026-03-21 00:41:09] [INFO] Created FTPFiles record with ID: 69bde925ca124fd16
[2026-03-21 00:41:09] [INFO] About to extract fields from XML. File size: 6161 bytes
[2026-03-21 00:41:09] [INFO] Number of mappings: 28
[2026-03-21 00:41:09] [INFO] Starting XML parsing. Content length: 6161
[2026-03-21 00:41:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:41:09] [INFO] Processing 28 field mappings
[2026-03-21 00:41:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:41:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:41:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 00:41:09] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 00:41:09] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 00:41:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 00:41:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:41:09] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 00:41:09] [INFO]   -> Found value: 2026000754
[2026-03-21 00:41:09] [INFO]   -> Set field 'incidentInternalId' = "2026000754"
[2026-03-21 00:41:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000754"
[2026-03-21 00:41:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:41:09] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 00:41:09] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 00:41:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:41:09] [INFO]   -> Found value: 15535
[2026-03-21 00:41:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 15535
[2026-03-21 00:41:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:41:09] [INFO]   -> Found value: TN
[2026-03-21 00:41:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:41:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:41:09] [INFO]   -> Found value: 38582
[2026-03-21 00:41:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:41:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:41:09] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:41:09] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:41:09] [INFO]   -> Found value: 36.11156
[2026-03-21 00:41:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11155999999999721694621257483959197998046875
[2026-03-21 00:41:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:41:09] [INFO]   -> Found value: -85.74961
[2026-03-21 00:41:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7496100000000041063685785047709941864013671875
[2026-03-21 00:41:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:41:09] [INFO]   -> Found value: 2026-03-20 19:35:32
[2026-03-21 00:41:09] [INFO]   -> Set field 'alarm' = "2026-03-20 19:35:32"
[2026-03-21 00:41:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:41:09] [INFO]   -> Found value: 2026-03-20 19:37:06
[2026-03-21 00:41:09] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:37:06"
[2026-03-21 00:41:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:41:09] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:09] [INFO]   -> Set field 'enroute' = "2026-03-20 19:40:58"
[2026-03-21 00:41:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:41:09] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:41:09] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:41:09] [INFO]   -> Found value: MOCKINGBIRD LN
[2026-03-21 00:41:09] [INFO]   -> Set field 'incidentLocationCross' = "MOCKINGBIRD LN"
[2026-03-21 00:41:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:41:09] [INFO]   -> Found value: TK31
[2026-03-21 00:41:09] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:41:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:41:09] [INFO]   -> Found value: 2026-03-20 19:40:56
[2026-03-21 00:41:09] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:40:56"
[2026-03-21 00:41:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:41:09] [INFO]   -> Found value: 2026-03-20 19:40:58
[2026-03-21 00:41:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:40:58"
[2026-03-21 00:41:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:41:09] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:41:09] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:41:09] [INFO]   -> No value found (null or empty)
[2026-03-21 00:41:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:41:09] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 00:41:09] [INFO]   -> Found value: 20260030362
[2026-03-21 00:41:09] [INFO]   -> Set field 'policeReportNumber' = "20260030362"
[2026-03-21 00:41:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:41:09] [INFO]   -> Found value: [EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03/20/26 19:36:11 EROACH] Event spawned from BREATHI...
[2026-03-21 00:41:09] [INFO]   -> Set field 'dispatchNotes' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:09] [INFO]   -> Set field 'cADLog' = "[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]"
[2026-03-21 00:41:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:41:09] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:41:09] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:41:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:41:09] [INFO]   -> Found value: TUCKER RIDGE
[2026-03-21 00:41:09] [INFO]   -> Set field 'streetName' = "TUCKER RIDGE"
[2026-03-21 00:41:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:41:09] [INFO]   -> Found value: RD
[2026-03-21 00:41:09] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:41:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:41:09] [INFO]   -> Found value: 15535 TUCKER RIDGE RD
[2026-03-21 00:41:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "15535 TUCKER RIDGE RD"
[2026-03-21 00:41:09] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:41:09] [INFO] Concatenating street name and type
[2026-03-21 00:41:09] [INFO]   -> Combined street name: TUCKER RIDGE RD
[2026-03-21 00:41:09] [INFO] Built locationCoordinates from lat/lng: 36.11156,-85.74961
[2026-03-21 00:41:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000754","dispatchRunNumber":"2026000754","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":15535,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.11155999999999721694621257483959197998046875,"nERISIncidentLongitude":-85.7496100000000041063685785047709941864013671875,"alarm":"2026-03-20 19:35:32","dispatched":"2026-03-20 19:37:06","enroute":"2026-03-20 19:40:58","incidentLocationCross":"MOCKINGBIRD LN","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:40:56","timeenroutetoscene":"2026-03-20 19:40:58","policeReportNumber":"20260030362","dispatchNotes":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","cADLog":"[EMS] GUAN CARL  ENTER THROUGH THE FRONT DOOR  [03\/20\/26 19:36:11 EROACH] Event spawned from BREATHING PROBLEMS.  [03\/20\/2026 19:35:32 EROACH] x3-4 HOURS SHORT OF BREATH  [03\/20\/26 19:35:29 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"TUCKER RIDGE RD","incidentAddressTextVersionStreet":"15535 TUCKER RIDGE RD","locationCoordinates":"36.11156,-85.74961"}
[2026-03-21 00:41:09] [INFO] Number of extracted fields: 23
[2026-03-21 00:41:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 00:41: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-21 00:41:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 00:41:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:41:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:41:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 00:41: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-21 00:41: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-21 00:41:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 00:41:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 00:41:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:41:10] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-21 00:41:10] [INFO] Found existing Dispatch with cADNumber '2026000754', ID: 69bde837bc709c37c - will update instead of create
[2026-03-21 00:41:10] [INFO] Updated existing Dispatches record with ID: 69bde837bc709c37c
[2026-03-21 00:41:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004106.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030362_20260321_004106.XML
[2026-03-21 00:41:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030362_20260321_004106.XML
[2026-03-21 00:58:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_005847.XML
[2026-03-21 00:58:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_005847.XML for user: 68f1466aed072ad4a
[2026-03-21 00:58:47] [INFO] File size: 5078 bytes
[2026-03-21 00:58:47] [INFO] Created FTPFiles record with ID: 69bded477924cecee
[2026-03-21 00:58:47] [INFO] About to extract fields from XML. File size: 5078 bytes
[2026-03-21 00:58:47] [INFO] Number of mappings: 28
[2026-03-21 00:58:47] [INFO] Starting XML parsing. Content length: 5078
[2026-03-21 00:58:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 00:58:47] [INFO] Processing 28 field mappings
[2026-03-21 00:58:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 00:58:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 00:58:47] [INFO]   -> Found value: PCFD
[2026-03-21 00:58:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 00:58:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 00:58:47] [INFO]   -> Found value: 2026000755
[2026-03-21 00:58:47] [INFO]   -> Set field 'incidentInternalId' = "2026000755"
[2026-03-21 00:58:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000755"
[2026-03-21 00:58:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 00:58:47] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 00:58:47] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 00:58:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 00:58:47] [INFO]   -> Found value: 13178
[2026-03-21 00:58:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 00:58:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 00:58:47] [INFO]   -> Found value: TN
[2026-03-21 00:58:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 00:58:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 00:58:47] [INFO]   -> Found value: 38582
[2026-03-21 00:58:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 00:58:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 00:58:47] [INFO]   -> No value found (null or empty)
[2026-03-21 00:58:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 00:58:47] [INFO]   -> No value found (null or empty)
[2026-03-21 00:58:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 00:58:47] [INFO]   -> Found value: 36.08991
[2026-03-21 00:58:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.089910000000003265085979364812374114990234375
[2026-03-21 00:58:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 00:58:47] [INFO]   -> Found value: -85.72769
[2026-03-21 00:58:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.72768999999999550709617324173450469970703125
[2026-03-21 00:58:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 00:58:47] [INFO]   -> Found value: 2026-03-20 19:48:55
[2026-03-21 00:58:47] [INFO]   -> Set field 'alarm' = "2026-03-20 19:48:55"
[2026-03-21 00:58:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 00:58:47] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 00:58:47] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:58:40"
[2026-03-21 00:58:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 00:58:47] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 00:58:47] [INFO]   -> Set field 'enroute' = "2026-03-20 19:58:40"
[2026-03-21 00:58:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 00:58:47] [INFO]   -> No value found (null or empty)
[2026-03-21 00:58:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 00:58:47] [INFO]   -> No value found (null or empty)
[2026-03-21 00:58:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 00:58:47] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 00:58:47] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 00:58:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 00:58:47] [INFO]   -> Found value: TK31
[2026-03-21 00:58:47] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 00:58:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 00:58:47] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 00:58:47] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:58:40"
[2026-03-21 00:58:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 00:58:47] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 00:58:47] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:58:40"
[2026-03-21 00:58:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 00:58:47] [INFO]   -> No value found (null or empty)
[2026-03-21 00:58:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 00:58:47] [INFO]   -> No value found (null or empty)
[2026-03-21 00:58:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 00:58:47] [INFO]   -> No value found (null or empty)
[2026-03-21 00:58:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 00:58:47] [INFO]   -> Found value: 20260030377
[2026-03-21 00:58:47] [INFO]   -> Set field 'policeReportNumber' = "20260030377"
[2026-03-21 00:58:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 00:58:47] [INFO]   -> Found value: TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03/20/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV TH...
[2026-03-21 00:58:47] [INFO]   -> Set field 'dispatchNotes' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 00:58:47] [INFO]   -> Set field 'cADLog' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 00:58:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 00:58:47] [INFO]   -> Found value: SILVER POINT
[2026-03-21 00:58:47] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 00:58:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 00:58:47] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 00:58:47] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 00:58:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 00:58:47] [INFO]   -> Found value: RD
[2026-03-21 00:58:47] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 00:58:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 00:58:47] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 00:58:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 00:58:47] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 00:58:47] [INFO] Concatenating street name and type
[2026-03-21 00:58:47] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 00:58:47] [INFO] Built locationCoordinates from lat/lng: 36.08991,-85.72769
[2026-03-21 00:58:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000755","dispatchRunNumber":"2026000755","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.089910000000003265085979364812374114990234375,"nERISIncidentLongitude":-85.72768999999999550709617324173450469970703125,"alarm":"2026-03-20 19:48:55","dispatched":"2026-03-20 19:58:40","enroute":"2026-03-20 19:58:40","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:58:40","timeenroutetoscene":"2026-03-20 19:58:40","policeReportNumber":"20260030377","dispatchNotes":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","cADLog":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.08991,-85.72769"}
[2026-03-21 00:58:47] [INFO] Number of extracted fields: 23
[2026-03-21 00:58:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 00:58:47] [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-21 00:58:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 00:58:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 00:58:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 00:58:47] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 00:58:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 00:58:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 00:58:48] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 00:58:58] [INFO] Created new Dispatches record with ID: 69bded4882063d870
[2026-03-21 00:58:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_005847.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030377_20260321_005847.XML
[2026-03-21 00:58:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_005847.XML
[2026-03-21 01:05:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512.XML
[2026-03-21 01:05:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512.XML for user: 68f1466aed072ad4a
[2026-03-21 01:05:12] [INFO] File size: 5185 bytes
[2026-03-21 01:05:12] [INFO] Created FTPFiles record with ID: 69bdeec89042b551a
[2026-03-21 01:05:12] [INFO] About to extract fields from XML. File size: 5185 bytes
[2026-03-21 01:05:12] [INFO] Number of mappings: 28
[2026-03-21 01:05:12] [INFO] Starting XML parsing. Content length: 5185
[2026-03-21 01:05:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 01:05:12] [INFO] Processing 28 field mappings
[2026-03-21 01:05:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 01:05:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 01:05:12] [INFO]   -> Found value: PCFD
[2026-03-21 01:05:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 01:05:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026000755
[2026-03-21 01:05:12] [INFO]   -> Set field 'incidentInternalId' = "2026000755"
[2026-03-21 01:05:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000755"
[2026-03-21 01:05:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 01:05:12] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 01:05:12] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 01:05:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 01:05:12] [INFO]   -> Found value: 13178
[2026-03-21 01:05:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 01:05:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 01:05:12] [INFO]   -> Found value: TN
[2026-03-21 01:05:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 01:05:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 01:05:12] [INFO]   -> Found value: 38582
[2026-03-21 01:05:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 01:05:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 01:05:12] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 01:05:12] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 01:05:12] [INFO]   -> Found value: 36.08991
[2026-03-21 01:05:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.089910000000003265085979364812374114990234375
[2026-03-21 01:05:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 01:05:12] [INFO]   -> Found value: -85.72769
[2026-03-21 01:05:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.72768999999999550709617324173450469970703125
[2026-03-21 01:05:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026-03-20 19:48:55
[2026-03-21 01:05:12] [INFO]   -> Set field 'alarm' = "2026-03-20 19:48:55"
[2026-03-21 01:05:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:12] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:58:40"
[2026-03-21 01:05:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:12] [INFO]   -> Set field 'enroute' = "2026-03-20 19:58:40"
[2026-03-21 01:05:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:12] [INFO]   -> Set field 'onScene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 01:05:12] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 01:05:12] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 01:05:12] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 01:05:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 01:05:12] [INFO]   -> Found value: TK31
[2026-03-21 01:05:12] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 01:05:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:12] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:58:40"
[2026-03-21 01:05:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:58:40"
[2026-03-21 01:05:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 01:05:12] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:12] [INFO]   -> Set field 'timeonscene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 01:05:12] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 01:05:12] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 01:05:12] [INFO]   -> Found value: 20260030377
[2026-03-21 01:05:12] [INFO]   -> Set field 'policeReportNumber' = "20260030377"
[2026-03-21 01:05:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 01:05:12] [INFO]   -> Found value: TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03/20/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV TH...
[2026-03-21 01:05:12] [INFO]   -> Set field 'dispatchNotes' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:12] [INFO]   -> Set field 'cADLog' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 01:05:12] [INFO]   -> Found value: SILVER POINT
[2026-03-21 01:05:12] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 01:05:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 01:05:12] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 01:05:12] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 01:05:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 01:05:12] [INFO]   -> Found value: RD
[2026-03-21 01:05:12] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 01:05:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 01:05:12] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 01:05:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 01:05:12] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-21 01:05:12] [INFO] Concatenating street name and type
[2026-03-21 01:05:12] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 01:05:12] [INFO] Built locationCoordinates from lat/lng: 36.08991,-85.72769
[2026-03-21 01:05:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000755","dispatchRunNumber":"2026000755","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.089910000000003265085979364812374114990234375,"nERISIncidentLongitude":-85.72768999999999550709617324173450469970703125,"alarm":"2026-03-20 19:48:55","dispatched":"2026-03-20 19:58:40","enroute":"2026-03-20 19:58:40","onScene":"2026-03-20 20:05:08","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:58:40","timeenroutetoscene":"2026-03-20 19:58:40","timeonscene":"2026-03-20 20:05:08","policeReportNumber":"20260030377","dispatchNotes":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","cADLog":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.08991,-85.72769"}
[2026-03-21 01:05:12] [INFO] Number of extracted fields: 25
[2026-03-21 01:05:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 01:05:12] [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-21 01:05:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 01:05:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 01:05:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 01:05: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-21 01:05: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-21 01:05:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 01:05:13] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 01:05:13] [INFO] Found existing Dispatch with cADNumber '2026000755', ID: 69bded4882063d870 - will update instead of create
[2026-03-21 01:05:13] [INFO] Updated existing Dispatches record with ID: 69bded4882063d870
[2026-03-21 01:05:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030377_20260321_010512.XML
[2026-03-21 01:05:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512.XML
[2026-03-21 01:05:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512_1.XML
[2026-03-21 01:05:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512_1.XML for user: 68f1466aed072ad4a
[2026-03-21 01:05:13] [INFO] File size: 5185 bytes
[2026-03-21 01:05:14] [INFO] Created FTPFiles record with ID: 69bdeeca486640d97
[2026-03-21 01:05:14] [INFO] About to extract fields from XML. File size: 5185 bytes
[2026-03-21 01:05:14] [INFO] Number of mappings: 28
[2026-03-21 01:05:14] [INFO] Starting XML parsing. Content length: 5185
[2026-03-21 01:05:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 01:05:14] [INFO] Processing 28 field mappings
[2026-03-21 01:05:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 01:05:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 01:05:14] [INFO]   -> Found value: PCFD
[2026-03-21 01:05:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 01:05:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026000755
[2026-03-21 01:05:14] [INFO]   -> Set field 'incidentInternalId' = "2026000755"
[2026-03-21 01:05:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000755"
[2026-03-21 01:05:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 01:05:14] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 01:05:14] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 01:05:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 01:05:14] [INFO]   -> Found value: 13178
[2026-03-21 01:05:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 01:05:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 01:05:14] [INFO]   -> Found value: TN
[2026-03-21 01:05:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 01:05:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 01:05:14] [INFO]   -> Found value: 38582
[2026-03-21 01:05:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 01:05:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 01:05:14] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 01:05:14] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 01:05:14] [INFO]   -> Found value: 36.08991
[2026-03-21 01:05:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.089910000000003265085979364812374114990234375
[2026-03-21 01:05:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 01:05:14] [INFO]   -> Found value: -85.72769
[2026-03-21 01:05:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.72768999999999550709617324173450469970703125
[2026-03-21 01:05:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026-03-20 19:48:55
[2026-03-21 01:05:14] [INFO]   -> Set field 'alarm' = "2026-03-20 19:48:55"
[2026-03-21 01:05:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:14] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:58:40"
[2026-03-21 01:05:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:14] [INFO]   -> Set field 'enroute' = "2026-03-20 19:58:40"
[2026-03-21 01:05:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:14] [INFO]   -> Set field 'onScene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 01:05:14] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 01:05:14] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 01:05:14] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 01:05:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 01:05:14] [INFO]   -> Found value: TK31
[2026-03-21 01:05:14] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 01:05:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:14] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:58:40"
[2026-03-21 01:05:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:58:40"
[2026-03-21 01:05:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 01:05:14] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:14] [INFO]   -> Set field 'timeonscene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 01:05:14] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 01:05:14] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 01:05:14] [INFO]   -> Found value: 20260030377
[2026-03-21 01:05:14] [INFO]   -> Set field 'policeReportNumber' = "20260030377"
[2026-03-21 01:05:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 01:05:14] [INFO]   -> Found value: TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03/20/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV TH...
[2026-03-21 01:05:14] [INFO]   -> Set field 'dispatchNotes' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:14] [INFO]   -> Set field 'cADLog' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 01:05:14] [INFO]   -> Found value: SILVER POINT
[2026-03-21 01:05:14] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 01:05:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 01:05:14] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 01:05:14] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 01:05:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 01:05:14] [INFO]   -> Found value: RD
[2026-03-21 01:05:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 01:05:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 01:05:14] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 01:05:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 01:05:14] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-21 01:05:14] [INFO] Concatenating street name and type
[2026-03-21 01:05:14] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 01:05:14] [INFO] Built locationCoordinates from lat/lng: 36.08991,-85.72769
[2026-03-21 01:05:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000755","dispatchRunNumber":"2026000755","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.089910000000003265085979364812374114990234375,"nERISIncidentLongitude":-85.72768999999999550709617324173450469970703125,"alarm":"2026-03-20 19:48:55","dispatched":"2026-03-20 19:58:40","enroute":"2026-03-20 19:58:40","onScene":"2026-03-20 20:05:08","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:58:40","timeenroutetoscene":"2026-03-20 19:58:40","timeonscene":"2026-03-20 20:05:08","policeReportNumber":"20260030377","dispatchNotes":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","cADLog":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.08991,-85.72769"}
[2026-03-21 01:05:14] [INFO] Number of extracted fields: 25
[2026-03-21 01:05:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 01:05:14] [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-21 01:05:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 01:05:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 01:05:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 01:05: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-21 01:05: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-21 01:05:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 01:05:14] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 01:05:15] [INFO] Found existing Dispatch with cADNumber '2026000755', ID: 69bded4882063d870 - will update instead of create
[2026-03-21 01:05:15] [INFO] Updated existing Dispatches record with ID: 69bded4882063d870
[2026-03-21 01:05:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030377_20260321_010512_1.XML
[2026-03-21 01:05:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010512_1.XML
[2026-03-21 01:05:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010513.XML
[2026-03-21 01:05:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010513.XML for user: 68f1466aed072ad4a
[2026-03-21 01:05:15] [INFO] File size: 5185 bytes
[2026-03-21 01:05:16] [INFO] Created FTPFiles record with ID: 69bdeecc03154fb0b
[2026-03-21 01:05:16] [INFO] About to extract fields from XML. File size: 5185 bytes
[2026-03-21 01:05:16] [INFO] Number of mappings: 28
[2026-03-21 01:05:16] [INFO] Starting XML parsing. Content length: 5185
[2026-03-21 01:05:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 01:05:16] [INFO] Processing 28 field mappings
[2026-03-21 01:05:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 01:05:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 01:05:16] [INFO]   -> Found value: PCFD
[2026-03-21 01:05:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 01:05:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026000755
[2026-03-21 01:05:16] [INFO]   -> Set field 'incidentInternalId' = "2026000755"
[2026-03-21 01:05:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000755"
[2026-03-21 01:05:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 01:05:16] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 01:05:16] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 01:05:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 01:05:16] [INFO]   -> Found value: 13178
[2026-03-21 01:05:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 01:05:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 01:05:16] [INFO]   -> Found value: TN
[2026-03-21 01:05:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 01:05:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 01:05:16] [INFO]   -> Found value: 38582
[2026-03-21 01:05:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 01:05:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 01:05:16] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 01:05:16] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 01:05:16] [INFO]   -> Found value: 36.08991
[2026-03-21 01:05:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.089910000000003265085979364812374114990234375
[2026-03-21 01:05:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 01:05:16] [INFO]   -> Found value: -85.72769
[2026-03-21 01:05:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.72768999999999550709617324173450469970703125
[2026-03-21 01:05:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026-03-20 19:48:55
[2026-03-21 01:05:16] [INFO]   -> Set field 'alarm' = "2026-03-20 19:48:55"
[2026-03-21 01:05:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:16] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:58:40"
[2026-03-21 01:05:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:16] [INFO]   -> Set field 'enroute' = "2026-03-20 19:58:40"
[2026-03-21 01:05:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:16] [INFO]   -> Set field 'onScene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 01:05:16] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 01:05:16] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 01:05:16] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 01:05:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 01:05:16] [INFO]   -> Found value: TK31
[2026-03-21 01:05:16] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 01:05:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:16] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:58:40"
[2026-03-21 01:05:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:58:40"
[2026-03-21 01:05:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 01:05:16] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:16] [INFO]   -> Set field 'timeonscene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 01:05:16] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 01:05:16] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 01:05:16] [INFO]   -> Found value: 20260030377
[2026-03-21 01:05:16] [INFO]   -> Set field 'policeReportNumber' = "20260030377"
[2026-03-21 01:05:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 01:05:16] [INFO]   -> Found value: TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03/20/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV TH...
[2026-03-21 01:05:16] [INFO]   -> Set field 'dispatchNotes' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:16] [INFO]   -> Set field 'cADLog' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 01:05:16] [INFO]   -> Found value: SILVER POINT
[2026-03-21 01:05:16] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 01:05:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 01:05:16] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 01:05:16] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 01:05:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 01:05:16] [INFO]   -> Found value: RD
[2026-03-21 01:05:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 01:05:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 01:05:16] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 01:05:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 01:05:16] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-21 01:05:16] [INFO] Concatenating street name and type
[2026-03-21 01:05:16] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 01:05:16] [INFO] Built locationCoordinates from lat/lng: 36.08991,-85.72769
[2026-03-21 01:05:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000755","dispatchRunNumber":"2026000755","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.089910000000003265085979364812374114990234375,"nERISIncidentLongitude":-85.72768999999999550709617324173450469970703125,"alarm":"2026-03-20 19:48:55","dispatched":"2026-03-20 19:58:40","enroute":"2026-03-20 19:58:40","onScene":"2026-03-20 20:05:08","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:58:40","timeenroutetoscene":"2026-03-20 19:58:40","timeonscene":"2026-03-20 20:05:08","policeReportNumber":"20260030377","dispatchNotes":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","cADLog":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.08991,-85.72769"}
[2026-03-21 01:05:16] [INFO] Number of extracted fields: 25
[2026-03-21 01:05:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 01:05:16] [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-21 01:05:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 01:05:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 01:05:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 01:05: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-21 01:05: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-21 01:05:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 01:05:16] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 01:05:16] [INFO] Found existing Dispatch with cADNumber '2026000755', ID: 69bded4882063d870 - will update instead of create
[2026-03-21 01:05:17] [INFO] Updated existing Dispatches record with ID: 69bded4882063d870
[2026-03-21 01:05:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010513.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030377_20260321_010513.XML
[2026-03-21 01:05:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010513.XML
[2026-03-21 01:05:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010520.XML
[2026-03-21 01:05:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010520.XML for user: 68f1466aed072ad4a
[2026-03-21 01:05:20] [INFO] File size: 5185 bytes
[2026-03-21 01:05:21] [INFO] Created FTPFiles record with ID: 69bdeed15efdd2197
[2026-03-21 01:05:21] [INFO] About to extract fields from XML. File size: 5185 bytes
[2026-03-21 01:05:21] [INFO] Number of mappings: 28
[2026-03-21 01:05:21] [INFO] Starting XML parsing. Content length: 5185
[2026-03-21 01:05:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 01:05:21] [INFO] Processing 28 field mappings
[2026-03-21 01:05:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 01:05:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 01:05:21] [INFO]   -> Found value: PCFD
[2026-03-21 01:05:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 01:05:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026000755
[2026-03-21 01:05:21] [INFO]   -> Set field 'incidentInternalId' = "2026000755"
[2026-03-21 01:05:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000755"
[2026-03-21 01:05:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 01:05:21] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 01:05:21] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 01:05:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 01:05:21] [INFO]   -> Found value: 13178
[2026-03-21 01:05:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 13178
[2026-03-21 01:05:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 01:05:21] [INFO]   -> Found value: TN
[2026-03-21 01:05:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 01:05:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 01:05:21] [INFO]   -> Found value: 38582
[2026-03-21 01:05:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-21 01:05:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 01:05:21] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 01:05:21] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 01:05:21] [INFO]   -> Found value: 36.08991
[2026-03-21 01:05:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.089910000000003265085979364812374114990234375
[2026-03-21 01:05:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 01:05:21] [INFO]   -> Found value: -85.72769
[2026-03-21 01:05:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.72768999999999550709617324173450469970703125
[2026-03-21 01:05:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026-03-20 19:48:55
[2026-03-21 01:05:21] [INFO]   -> Set field 'alarm' = "2026-03-20 19:48:55"
[2026-03-21 01:05:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:21] [INFO]   -> Set field 'dispatched' = "2026-03-20 19:58:40"
[2026-03-21 01:05:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:21] [INFO]   -> Set field 'enroute' = "2026-03-20 19:58:40"
[2026-03-21 01:05:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:21] [INFO]   -> Set field 'onScene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 01:05:21] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 01:05:21] [INFO]   -> Found value: 40E TO SMITHVILLE HWY/TUCKERS HILL RD
[2026-03-21 01:05:21] [INFO]   -> Set field 'incidentLocationCross' = "40E TO SMITHVILLE HWY\/TUCKERS HILL RD"
[2026-03-21 01:05:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 01:05:21] [INFO]   -> Found value: TK31
[2026-03-21 01:05:21] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 01:05:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:21] [INFO]   -> Set field 'timedispatch' = "2026-03-20 19:58:40"
[2026-03-21 01:05:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026-03-20 19:58:40
[2026-03-21 01:05:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 19:58:40"
[2026-03-21 01:05:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 01:05:21] [INFO]   -> Found value: 2026-03-20 20:05:08
[2026-03-21 01:05:21] [INFO]   -> Set field 'timeonscene' = "2026-03-20 20:05:08"
[2026-03-21 01:05:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 01:05:21] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 01:05:21] [INFO]   -> No value found (null or empty)
[2026-03-21 01:05:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 01:05:21] [INFO]   -> Found value: 20260030377
[2026-03-21 01:05:21] [INFO]   -> Set field 'policeReportNumber' = "20260030377"
[2026-03-21 01:05:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 01:05:21] [INFO]   -> Found value: TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03/20/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV TH...
[2026-03-21 01:05:21] [INFO]   -> Set field 'dispatchNotes' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:21] [INFO]   -> Set field 'cADLog' = "TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]"
[2026-03-21 01:05:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 01:05:21] [INFO]   -> Found value: SILVER POINT
[2026-03-21 01:05:21] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-21 01:05:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 01:05:21] [INFO]   -> Found value: CENTER HILL DAM
[2026-03-21 01:05:21] [INFO]   -> Set field 'streetName' = "CENTER HILL DAM"
[2026-03-21 01:05:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 01:05:21] [INFO]   -> Found value: RD
[2026-03-21 01:05:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 01:05:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 01:05:21] [INFO]   -> Found value: 13178 CENTER HILL DAM RD
[2026-03-21 01:05:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "13178 CENTER HILL DAM RD"
[2026-03-21 01:05:21] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-21 01:05:21] [INFO] Concatenating street name and type
[2026-03-21 01:05:21] [INFO]   -> Combined street name: CENTER HILL DAM RD
[2026-03-21 01:05:21] [INFO] Built locationCoordinates from lat/lng: 36.08991,-85.72769
[2026-03-21 01:05:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000755","dispatchRunNumber":"2026000755","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":13178,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.089910000000003265085979364812374114990234375,"nERISIncidentLongitude":-85.72768999999999550709617324173450469970703125,"alarm":"2026-03-20 19:48:55","dispatched":"2026-03-20 19:58:40","enroute":"2026-03-20 19:58:40","onScene":"2026-03-20 20:05:08","incidentLocationCross":"40E TO SMITHVILLE HWY\/TUCKERS HILL RD","cADVehicleID":"TK31","timedispatch":"2026-03-20 19:58:40","timeenroutetoscene":"2026-03-20 19:58:40","timeonscene":"2026-03-20 20:05:08","policeReportNumber":"20260030377","dispatchNotes":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","cADLog":"TK31 WILL BE ENROUTE AFTER TUCKER RIDGE RD CALL  [03\/20\/26 19:54:06 SVOKOUN2] NEIGHBOR CALLED ADV THE BRUSH FIRE IN THE AREA IS GETTING OUT OF HAND FLAMES ARE ALMOST TOUCHING THE TREES IN THE WOODED AREA  CALLER REQ FD COME AND CHECK IT OUT  911 SPOKE WITH OWNER AND THEY DO HAVE BURNER`S PERMIT  [03\/20\/26 19:50:49 TSCOTT]]","incidentLocationCity":"SILVER POINT","streetName":"CENTER HILL DAM RD","incidentAddressTextVersionStreet":"13178 CENTER HILL DAM RD","locationCoordinates":"36.08991,-85.72769"}
[2026-03-21 01:05:21] [INFO] Number of extracted fields: 25
[2026-03-21 01:05:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 01:05:21] [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-21 01:05:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 01:05:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 01:05:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 01:05: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-21 01:05: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-21 01:05:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 01:05:22] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 01:05:22] [INFO] Found existing Dispatch with cADNumber '2026000755', ID: 69bded4882063d870 - will update instead of create
[2026-03-21 01:05:22] [INFO] Updated existing Dispatches record with ID: 69bded4882063d870
[2026-03-21 01:05:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010520.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030377_20260321_010520.XML
[2026-03-21 01:05:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030377_20260321_010520.XML
[2026-03-21 02:45:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024537.XML
[2026-03-21 02:45:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024537.XML for user: 68f1466aed072ad4a
[2026-03-21 02:45:37] [INFO] File size: 4759 bytes
[2026-03-21 02:45:37] [INFO] Created FTPFiles record with ID: 69be0651b88b611df
[2026-03-21 02:45:37] [INFO] About to extract fields from XML. File size: 4759 bytes
[2026-03-21 02:45:37] [INFO] Number of mappings: 28
[2026-03-21 02:45:37] [INFO] Starting XML parsing. Content length: 4759
[2026-03-21 02:45:37] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 02:45:37] [INFO] Processing 28 field mappings
[2026-03-21 02:45:37] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 02:45:37] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 02:45:37] [INFO]   -> Found value: PCFD
[2026-03-21 02:45:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 02:45:37] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 02:45:37] [INFO]   -> Found value: 2026000756
[2026-03-21 02:45:37] [INFO]   -> Set field 'incidentInternalId' = "2026000756"
[2026-03-21 02:45:37] [INFO]   -> Set field 'dispatchRunNumber' = "2026000756"
[2026-03-21 02:45:37] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 02:45:37] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 02:45:37] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 02:45:37] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 02:45:37] [INFO]   -> Found value: 4199
[2026-03-21 02:45:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 02:45:37] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 02:45:37] [INFO]   -> Found value: TN
[2026-03-21 02:45:37] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 02:45:37] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 02:45:37] [INFO]   -> Found value: 38506
[2026-03-21 02:45:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 02:45:37] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 02:45:37] [INFO]   -> Found value: 36.11346
[2026-03-21 02:45:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 02:45:37] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 02:45:37] [INFO]   -> Found value: -85.45051
[2026-03-21 02:45:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 02:45:37] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 02:45:37] [INFO]   -> Found value: 2026-03-20 21:41:49
[2026-03-21 02:45:37] [INFO]   -> Set field 'alarm' = "2026-03-20 21:41:49"
[2026-03-21 02:45:37] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 02:45:37] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:45:37] [INFO]   -> Set field 'dispatched' = "2026-03-20 21:45:31"
[2026-03-21 02:45:37] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 02:45:37] [INFO]   -> Found value: TK15
[2026-03-21 02:45:37] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 02:45:37] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 02:45:37] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:45:37] [INFO]   -> Set field 'timedispatch' = "2026-03-20 21:45:31"
[2026-03-21 02:45:37] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 02:45:37] [INFO]   -> No value found (null or empty)
[2026-03-21 02:45:37] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 02:45:37] [INFO]   -> Found value: 20260030411
[2026-03-21 02:45:37] [INFO]   -> Set field 'policeReportNumber' = "20260030411"
[2026-03-21 02:45:37] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 02:45:37] [INFO]   -> Found value: CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER...
[2026-03-21 02:45:37] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:45:37] [INFO]   -> Set field 'cADLog' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:45:37] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 02:45:37] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 02:45:37] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 02:45:37] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 02:45:37] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 02:45:37] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 02:45:37] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 02:45:37] [INFO]   -> Found value: RD
[2026-03-21 02:45:37] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 02:45:37] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 02:45:37] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 02:45:37] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 02:45:37] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 02:45:37] [INFO] Concatenating street name and type
[2026-03-21 02:45:37] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 02:45:37] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 02:45:37] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000756","dispatchRunNumber":"2026000756","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-20 21:41:49","dispatched":"2026-03-20 21:45:31","cADVehicleID":"TK15","timedispatch":"2026-03-20 21:45:31","policeReportNumber":"20260030411","dispatchNotes":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","cADLog":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 02:45:37] [INFO] Number of extracted fields: 20
[2026-03-21 02:45:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 02:45:37] [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-21 02:45:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 02:45:37] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 02:45:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 02:45: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-21 02:45: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-21 02:45:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 02:45:38] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 02:45:48] [INFO] Created new Dispatches record with ID: 69be06528fc619b51
[2026-03-21 02:45:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024537.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030411_20260321_024537.XML
[2026-03-21 02:45:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024537.XML
[2026-03-21 02:47:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732.XML
[2026-03-21 02:47:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732.XML for user: 68f1466aed072ad4a
[2026-03-21 02:47:32] [INFO] File size: 4826 bytes
[2026-03-21 02:47:32] [INFO] Created FTPFiles record with ID: 69be06c4a542557c9
[2026-03-21 02:47:32] [INFO] About to extract fields from XML. File size: 4826 bytes
[2026-03-21 02:47:32] [INFO] Number of mappings: 28
[2026-03-21 02:47:32] [INFO] Starting XML parsing. Content length: 4826
[2026-03-21 02:47:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 02:47:32] [INFO] Processing 28 field mappings
[2026-03-21 02:47:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 02:47:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 02:47:32] [INFO]   -> Found value: PCFD
[2026-03-21 02:47:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 02:47:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 02:47:32] [INFO]   -> Found value: 2026000756
[2026-03-21 02:47:32] [INFO]   -> Set field 'incidentInternalId' = "2026000756"
[2026-03-21 02:47:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000756"
[2026-03-21 02:47:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 02:47:32] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 02:47:32] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 02:47:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 02:47:32] [INFO]   -> Found value: 4199
[2026-03-21 02:47:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 02:47:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 02:47:32] [INFO]   -> Found value: TN
[2026-03-21 02:47:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 02:47:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 02:47:32] [INFO]   -> Found value: 38506
[2026-03-21 02:47:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 02:47:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 02:47:32] [INFO]   -> Found value: 36.11346
[2026-03-21 02:47:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 02:47:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 02:47:32] [INFO]   -> Found value: -85.45051
[2026-03-21 02:47:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 02:47:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 02:47:32] [INFO]   -> Found value: 2026-03-20 21:41:49
[2026-03-21 02:47:32] [INFO]   -> Set field 'alarm' = "2026-03-20 21:41:49"
[2026-03-21 02:47:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 02:47:32] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:32] [INFO]   -> Set field 'dispatched' = "2026-03-20 21:45:31"
[2026-03-21 02:47:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 02:47:32] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:32] [INFO]   -> Set field 'enroute' = "2026-03-20 21:47:29"
[2026-03-21 02:47:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 02:47:32] [INFO]   -> Found value: TK15
[2026-03-21 02:47:32] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 02:47:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 02:47:32] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:32] [INFO]   -> Set field 'timedispatch' = "2026-03-20 21:45:31"
[2026-03-21 02:47:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 02:47:32] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:32] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 21:47:29"
[2026-03-21 02:47:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 02:47:32] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 02:47:32] [INFO]   -> Found value: 20260030411
[2026-03-21 02:47:32] [INFO]   -> Set field 'policeReportNumber' = "20260030411"
[2026-03-21 02:47:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 02:47:32] [INFO]   -> Found value: CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER...
[2026-03-21 02:47:32] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:32] [INFO]   -> Set field 'cADLog' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 02:47:32] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 02:47:32] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 02:47:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 02:47:32] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 02:47:32] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 02:47:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 02:47:32] [INFO]   -> Found value: RD
[2026-03-21 02:47:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 02:47:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 02:47:32] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 02:47:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 02:47:32] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 02:47:32] [INFO] Concatenating street name and type
[2026-03-21 02:47:32] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 02:47:32] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 02:47:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000756","dispatchRunNumber":"2026000756","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-20 21:41:49","dispatched":"2026-03-20 21:45:31","enroute":"2026-03-20 21:47:29","cADVehicleID":"TK15","timedispatch":"2026-03-20 21:45:31","timeenroutetoscene":"2026-03-20 21:47:29","policeReportNumber":"20260030411","dispatchNotes":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","cADLog":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 02:47:32] [INFO] Number of extracted fields: 22
[2026-03-21 02:47:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 02:47:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 02:47:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 02:47:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 02:47:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 02:47: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-21 02:47: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-21 02:47:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 02:47:33] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 02:47:33] [INFO] Found existing Dispatch with cADNumber '2026000756', ID: 69be06528fc619b51 - will update instead of create
[2026-03-21 02:47:33] [INFO] Updated existing Dispatches record with ID: 69be06528fc619b51
[2026-03-21 02:47:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030411_20260321_024732.XML
[2026-03-21 02:47:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732.XML
[2026-03-21 02:47:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732_1.XML
[2026-03-21 02:47:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732_1.XML for user: 68f1466aed072ad4a
[2026-03-21 02:47:33] [INFO] File size: 4826 bytes
[2026-03-21 02:47:34] [INFO] Created FTPFiles record with ID: 69be06c665e9c18fb
[2026-03-21 02:47:34] [INFO] About to extract fields from XML. File size: 4826 bytes
[2026-03-21 02:47:34] [INFO] Number of mappings: 28
[2026-03-21 02:47:34] [INFO] Starting XML parsing. Content length: 4826
[2026-03-21 02:47:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 02:47:34] [INFO] Processing 28 field mappings
[2026-03-21 02:47:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 02:47:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 02:47:34] [INFO]   -> Found value: PCFD
[2026-03-21 02:47:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 02:47:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 02:47:34] [INFO]   -> Found value: 2026000756
[2026-03-21 02:47:34] [INFO]   -> Set field 'incidentInternalId' = "2026000756"
[2026-03-21 02:47:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000756"
[2026-03-21 02:47:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 02:47:34] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 02:47:34] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 02:47:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 02:47:34] [INFO]   -> Found value: 4199
[2026-03-21 02:47:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 02:47:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 02:47:34] [INFO]   -> Found value: TN
[2026-03-21 02:47:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 02:47:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 02:47:34] [INFO]   -> Found value: 38506
[2026-03-21 02:47:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 02:47:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 02:47:34] [INFO]   -> Found value: 36.11346
[2026-03-21 02:47:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 02:47:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 02:47:34] [INFO]   -> Found value: -85.45051
[2026-03-21 02:47:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 02:47:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 02:47:34] [INFO]   -> Found value: 2026-03-20 21:41:49
[2026-03-21 02:47:34] [INFO]   -> Set field 'alarm' = "2026-03-20 21:41:49"
[2026-03-21 02:47:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 02:47:34] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:34] [INFO]   -> Set field 'dispatched' = "2026-03-20 21:45:31"
[2026-03-21 02:47:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 02:47:34] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:34] [INFO]   -> Set field 'enroute' = "2026-03-20 21:47:29"
[2026-03-21 02:47:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 02:47:34] [INFO]   -> Found value: TK15
[2026-03-21 02:47:34] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 02:47:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 02:47:34] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:34] [INFO]   -> Set field 'timedispatch' = "2026-03-20 21:45:31"
[2026-03-21 02:47:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 02:47:34] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:34] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 21:47:29"
[2026-03-21 02:47:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 02:47:34] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 02:47:34] [INFO]   -> Found value: 20260030411
[2026-03-21 02:47:34] [INFO]   -> Set field 'policeReportNumber' = "20260030411"
[2026-03-21 02:47:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 02:47:34] [INFO]   -> Found value: CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER...
[2026-03-21 02:47:34] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:34] [INFO]   -> Set field 'cADLog' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 02:47:34] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 02:47:34] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 02:47:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 02:47:34] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 02:47:34] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 02:47:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 02:47:34] [INFO]   -> Found value: RD
[2026-03-21 02:47:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 02:47:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 02:47:34] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 02:47:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 02:47:34] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 02:47:34] [INFO] Concatenating street name and type
[2026-03-21 02:47:34] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 02:47:34] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 02:47:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000756","dispatchRunNumber":"2026000756","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-20 21:41:49","dispatched":"2026-03-20 21:45:31","enroute":"2026-03-20 21:47:29","cADVehicleID":"TK15","timedispatch":"2026-03-20 21:45:31","timeenroutetoscene":"2026-03-20 21:47:29","policeReportNumber":"20260030411","dispatchNotes":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","cADLog":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 02:47:34] [INFO] Number of extracted fields: 22
[2026-03-21 02:47:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 02:47:34] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 02:47:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 02:47:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 02:47:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 02:47: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-21 02:47: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-21 02:47:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 02:47:35] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 02:47:35] [INFO] Found existing Dispatch with cADNumber '2026000756', ID: 69be06528fc619b51 - will update instead of create
[2026-03-21 02:47:35] [INFO] Updated existing Dispatches record with ID: 69be06528fc619b51
[2026-03-21 02:47:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030411_20260321_024732_1.XML
[2026-03-21 02:47:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024732_1.XML
[2026-03-21 02:47:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024736.XML
[2026-03-21 02:47:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024736.XML for user: 68f1466aed072ad4a
[2026-03-21 02:47:36] [INFO] File size: 4826 bytes
[2026-03-21 02:47:36] [INFO] Created FTPFiles record with ID: 69be06c8d4047166c
[2026-03-21 02:47:36] [INFO] About to extract fields from XML. File size: 4826 bytes
[2026-03-21 02:47:36] [INFO] Number of mappings: 28
[2026-03-21 02:47:36] [INFO] Starting XML parsing. Content length: 4826
[2026-03-21 02:47:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 02:47:36] [INFO] Processing 28 field mappings
[2026-03-21 02:47:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 02:47:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 02:47:36] [INFO]   -> Found value: PCFD
[2026-03-21 02:47:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 02:47:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 02:47:36] [INFO]   -> Found value: 2026000756
[2026-03-21 02:47:36] [INFO]   -> Set field 'incidentInternalId' = "2026000756"
[2026-03-21 02:47:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000756"
[2026-03-21 02:47:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 02:47:36] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 02:47:36] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 02:47:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 02:47:36] [INFO]   -> Found value: 4199
[2026-03-21 02:47:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 02:47:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 02:47:36] [INFO]   -> Found value: TN
[2026-03-21 02:47:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 02:47:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 02:47:36] [INFO]   -> Found value: 38506
[2026-03-21 02:47:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 02:47:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 02:47:36] [INFO]   -> Found value: 36.11346
[2026-03-21 02:47:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 02:47:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 02:47:36] [INFO]   -> Found value: -85.45051
[2026-03-21 02:47:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 02:47:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 02:47:36] [INFO]   -> Found value: 2026-03-20 21:41:49
[2026-03-21 02:47:36] [INFO]   -> Set field 'alarm' = "2026-03-20 21:41:49"
[2026-03-21 02:47:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 02:47:36] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:36] [INFO]   -> Set field 'dispatched' = "2026-03-20 21:45:31"
[2026-03-21 02:47:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 02:47:36] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:36] [INFO]   -> Set field 'enroute' = "2026-03-20 21:47:29"
[2026-03-21 02:47:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 02:47:36] [INFO]   -> Found value: TK15
[2026-03-21 02:47:36] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 02:47:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 02:47:36] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:36] [INFO]   -> Set field 'timedispatch' = "2026-03-20 21:45:31"
[2026-03-21 02:47:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 02:47:36] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:36] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 21:47:29"
[2026-03-21 02:47:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 02:47:36] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 02:47:36] [INFO]   -> Found value: 20260030411
[2026-03-21 02:47:36] [INFO]   -> Set field 'policeReportNumber' = "20260030411"
[2026-03-21 02:47:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 02:47:36] [INFO]   -> Found value: CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER...
[2026-03-21 02:47:36] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:36] [INFO]   -> Set field 'cADLog' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 02:47:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 02:47:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 02:47:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 02:47:36] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 02:47:36] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 02:47:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 02:47:36] [INFO]   -> Found value: RD
[2026-03-21 02:47:36] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 02:47:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 02:47:36] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 02:47:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 02:47:36] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 02:47:36] [INFO] Concatenating street name and type
[2026-03-21 02:47:36] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 02:47:36] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 02:47:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000756","dispatchRunNumber":"2026000756","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-20 21:41:49","dispatched":"2026-03-20 21:45:31","enroute":"2026-03-20 21:47:29","cADVehicleID":"TK15","timedispatch":"2026-03-20 21:45:31","timeenroutetoscene":"2026-03-20 21:47:29","policeReportNumber":"20260030411","dispatchNotes":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","cADLog":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 02:47:36] [INFO] Number of extracted fields: 22
[2026-03-21 02:47:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 02:47:36] [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-21 02:47:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 02:47:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 02:47:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 02:47:37] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 02:47:37] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 02:47:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 02:47:37] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 02:47:37] [INFO] Found existing Dispatch with cADNumber '2026000756', ID: 69be06528fc619b51 - will update instead of create
[2026-03-21 02:47:38] [INFO] Updated existing Dispatches record with ID: 69be06528fc619b51
[2026-03-21 02:47:38] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024736.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030411_20260321_024736.XML
[2026-03-21 02:47:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024736.XML
[2026-03-21 02:47:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024741.XML
[2026-03-21 02:47:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024741.XML for user: 68f1466aed072ad4a
[2026-03-21 02:47:41] [INFO] File size: 4826 bytes
[2026-03-21 02:47:41] [INFO] Created FTPFiles record with ID: 69be06cd669ca2405
[2026-03-21 02:47:41] [INFO] About to extract fields from XML. File size: 4826 bytes
[2026-03-21 02:47:41] [INFO] Number of mappings: 28
[2026-03-21 02:47:41] [INFO] Starting XML parsing. Content length: 4826
[2026-03-21 02:47:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 02:47:41] [INFO] Processing 28 field mappings
[2026-03-21 02:47:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 02:47:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 02:47:41] [INFO]   -> Found value: PCFD
[2026-03-21 02:47:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 02:47:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 02:47:41] [INFO]   -> Found value: 2026000756
[2026-03-21 02:47:41] [INFO]   -> Set field 'incidentInternalId' = "2026000756"
[2026-03-21 02:47:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000756"
[2026-03-21 02:47:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 02:47:41] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 02:47:41] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 02:47:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 02:47:41] [INFO]   -> Found value: 4199
[2026-03-21 02:47:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 02:47:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 02:47:41] [INFO]   -> Found value: TN
[2026-03-21 02:47:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 02:47:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 02:47:41] [INFO]   -> Found value: 38506
[2026-03-21 02:47:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 02:47:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 02:47:41] [INFO]   -> Found value: 36.11346
[2026-03-21 02:47:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 02:47:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 02:47:41] [INFO]   -> Found value: -85.45051
[2026-03-21 02:47:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 02:47:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 02:47:41] [INFO]   -> Found value: 2026-03-20 21:41:49
[2026-03-21 02:47:41] [INFO]   -> Set field 'alarm' = "2026-03-20 21:41:49"
[2026-03-21 02:47:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 02:47:41] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:41] [INFO]   -> Set field 'dispatched' = "2026-03-20 21:45:31"
[2026-03-21 02:47:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 02:47:41] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:41] [INFO]   -> Set field 'enroute' = "2026-03-20 21:47:29"
[2026-03-21 02:47:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 02:47:41] [INFO]   -> Found value: TK15
[2026-03-21 02:47:41] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 02:47:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 02:47:41] [INFO]   -> Found value: 2026-03-20 21:45:31
[2026-03-21 02:47:41] [INFO]   -> Set field 'timedispatch' = "2026-03-20 21:45:31"
[2026-03-21 02:47:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 02:47:41] [INFO]   -> Found value: 2026-03-20 21:47:29
[2026-03-21 02:47:41] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 21:47:29"
[2026-03-21 02:47:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 02:47:41] [INFO]   -> No value found (null or empty)
[2026-03-21 02:47:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 02:47:41] [INFO]   -> Found value: 20260030411
[2026-03-21 02:47:41] [INFO]   -> Set field 'policeReportNumber' = "20260030411"
[2026-03-21 02:47:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 02:47:41] [INFO]   -> Found value: CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER...
[2026-03-21 02:47:41] [INFO]   -> Set field 'dispatchNotes' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:41] [INFO]   -> Set field 'cADLog' = "CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]"
[2026-03-21 02:47:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 02:47:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 02:47:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 02:47:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 02:47:41] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 02:47:41] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 02:47:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 02:47:41] [INFO]   -> Found value: RD
[2026-03-21 02:47:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 02:47:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 02:47:41] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 02:47:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 02:47:41] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 02:47:41] [INFO] Concatenating street name and type
[2026-03-21 02:47:41] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 02:47:41] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 02:47:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000756","dispatchRunNumber":"2026000756","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-20 21:41:49","dispatched":"2026-03-20 21:45:31","enroute":"2026-03-20 21:47:29","cADVehicleID":"TK15","timedispatch":"2026-03-20 21:45:31","timeenroutetoscene":"2026-03-20 21:47:29","policeReportNumber":"20260030411","dispatchNotes":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","cADLog":"CALLER STATES THE CONTROLLED BURN APPEARS TO BE SPREADING NEAR THE TREE LINE  NO STRUCTURES ENDANGER AT THIS TIME  [03\/20\/26 21:44:29 BPICHE]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 02:47:41] [INFO] Number of extracted fields: 22
[2026-03-21 02:47:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 02:47:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 02:47:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 02:47:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 02:47:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 02:47: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-21 02:47: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-21 02:47:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 02:47:42] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 02:47:42] [INFO] Found existing Dispatch with cADNumber '2026000756', ID: 69be06528fc619b51 - will update instead of create
[2026-03-21 02:47:42] [INFO] Updated existing Dispatches record with ID: 69be06528fc619b51
[2026-03-21 02:47:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024741.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030411_20260321_024741.XML
[2026-03-21 02:47:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030411_20260321_024741.XML
[2026-03-21 03:34:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033457.XML
[2026-03-21 03:34:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033457.XML for user: 68f1466aed072ad4a
[2026-03-21 03:34:57] [INFO] File size: 5078 bytes
[2026-03-21 03:34:57] [INFO] Created FTPFiles record with ID: 69be11e18b6e4490d
[2026-03-21 03:34:57] [INFO] About to extract fields from XML. File size: 5078 bytes
[2026-03-21 03:34:57] [INFO] Number of mappings: 28
[2026-03-21 03:34:57] [INFO] Starting XML parsing. Content length: 5078
[2026-03-21 03:34:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 03:34:57] [INFO] Processing 28 field mappings
[2026-03-21 03:34:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 03:34:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 03:34:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 03:34:57] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 03:34:57] [INFO]   -> Found value: PCFD
PCSO
[2026-03-21 03:34:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-21 03:34:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 03:34:57] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 03:34:57] [INFO]   -> Found value: 2026000757
[2026-03-21 03:34:57] [INFO]   -> Set field 'incidentInternalId' = "2026000757"
[2026-03-21 03:34:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000757"
[2026-03-21 03:34:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 03:34:57] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-21 03:34:57] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-21 03:34:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 03:34:57] [INFO]   -> Found value: 268
[2026-03-21 03:34:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 268
[2026-03-21 03:34:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 03:34:57] [INFO]   -> Found value: TN
[2026-03-21 03:34:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 03:34:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 03:34:57] [INFO]   -> Found value: MM268E
[2026-03-21 03:34:57] [INFO]   -> Set field 'businessName' = "MM268E"
[2026-03-21 03:34:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 03:34:57] [INFO]   -> Found value: 36.13911
[2026-03-21 03:34:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1391100000000022873791749589145183563232421875
[2026-03-21 03:34:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 03:34:57] [INFO]   -> Found value: -85.78935
[2026-03-21 03:34:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7893499999999988858689903281629085540771484375
[2026-03-21 03:34:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 03:34:57] [INFO]   -> Found value: 2026-03-20 22:33:20
[2026-03-21 03:34:57] [INFO]   -> Set field 'alarm' = "2026-03-20 22:33:20"
[2026-03-21 03:34:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 03:34:57] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:34:57] [INFO]   -> Set field 'dispatched' = "2026-03-20 22:34:51"
[2026-03-21 03:34:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 03:34:57] [INFO]   -> Found value: TK31
[2026-03-21 03:34:57] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 03:34:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 03:34:57] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:34:57] [INFO]   -> Set field 'timedispatch' = "2026-03-20 22:34:51"
[2026-03-21 03:34:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 03:34:57] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 03:34:57] [INFO]   -> Found value: 20260030419
[2026-03-21 03:34:57] [INFO]   -> Set field 'policeReportNumber' = "20260030419"
[2026-03-21 03:34:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 03:34:57] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03/20/26...
[2026-03-21 03:34:57] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:34:57] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:34:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 03:34:57] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-21 03:34:57] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-21 03:34:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 03:34:57] [INFO]   -> Found value: I 40
[2026-03-21 03:34:57] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-21 03:34:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 03:34:57] [INFO]   -> No value found (null or empty)
[2026-03-21 03:34:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 03:34:57] [INFO]   -> Found value: 268 E I 40
[2026-03-21 03:34:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "268 E I 40"
[2026-03-21 03:34:57] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-03-21 03:34:57] [INFO] Built locationCoordinates from lat/lng: 36.13911,-85.78935
[2026-03-21 03:34:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000757","dispatchRunNumber":"2026000757","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":268,"incidentLocationStateName":"TN","businessName":"MM268E","nERISIncidentLatitude":36.1391100000000022873791749589145183563232421875,"nERISIncidentLongitude":-85.7893499999999988858689903281629085540771484375,"alarm":"2026-03-20 22:33:20","dispatched":"2026-03-20 22:34:51","cADVehicleID":"TK31","timedispatch":"2026-03-20 22:34:51","policeReportNumber":"20260030419","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","incidentLocationCity":"BUFFALO VALLEY","streetName":"I 40","incidentAddressTextVersionStreet":"268 E I 40","locationCoordinates":"36.13911,-85.78935"}
[2026-03-21 03:34:57] [INFO] Number of extracted fields: 20
[2026-03-21 03:34:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-21 03:34:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 03:34:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-21 03:34:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 03:34:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 03:34:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-21 03:34:57] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 03:34:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 03:34:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 03:34:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 03:34:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 03:34:58] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-21 03:35:08] [INFO] Created new Dispatches record with ID: 69be11e25cda27bb5
[2026-03-21 03:35:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033457.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030419_20260321_033457.XML
[2026-03-21 03:35:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033457.XML
[2026-03-21 03:36:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033601.XML
[2026-03-21 03:36:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033601.XML for user: 68f1466aed072ad4a
[2026-03-21 03:36:01] [INFO] File size: 5191 bytes
[2026-03-21 03:36:01] [INFO] Created FTPFiles record with ID: 69be1221c97199803
[2026-03-21 03:36:01] [INFO] About to extract fields from XML. File size: 5191 bytes
[2026-03-21 03:36:01] [INFO] Number of mappings: 28
[2026-03-21 03:36:01] [INFO] Starting XML parsing. Content length: 5191
[2026-03-21 03:36:01] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 03:36:01] [INFO] Processing 28 field mappings
[2026-03-21 03:36:01] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 03:36:01] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 03:36:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 03:36:01] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 03:36:01] [INFO]   -> Found value: PCFD
PCSO
[2026-03-21 03:36:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-21 03:36:01] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 03:36:01] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 03:36:01] [INFO]   -> Found value: 2026000757
[2026-03-21 03:36:01] [INFO]   -> Set field 'incidentInternalId' = "2026000757"
[2026-03-21 03:36:01] [INFO]   -> Set field 'dispatchRunNumber' = "2026000757"
[2026-03-21 03:36:01] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 03:36:01] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-21 03:36:01] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-21 03:36:01] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 03:36:01] [INFO]   -> Found value: 268
[2026-03-21 03:36:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 268
[2026-03-21 03:36:01] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 03:36:01] [INFO]   -> Found value: TN
[2026-03-21 03:36:01] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 03:36:01] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 03:36:01] [INFO]   -> Found value: MM268E
[2026-03-21 03:36:01] [INFO]   -> Set field 'businessName' = "MM268E"
[2026-03-21 03:36:01] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 03:36:01] [INFO]   -> Found value: 36.13911
[2026-03-21 03:36:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1391100000000022873791749589145183563232421875
[2026-03-21 03:36:01] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 03:36:01] [INFO]   -> Found value: -85.78935
[2026-03-21 03:36:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7893499999999988858689903281629085540771484375
[2026-03-21 03:36:01] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 03:36:01] [INFO]   -> Found value: 2026-03-20 22:33:20
[2026-03-21 03:36:01] [INFO]   -> Set field 'alarm' = "2026-03-20 22:33:20"
[2026-03-21 03:36:01] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 03:36:01] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:01] [INFO]   -> Set field 'dispatched' = "2026-03-20 22:34:51"
[2026-03-21 03:36:01] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 03:36:01] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:01] [INFO]   -> Set field 'enroute' = "2026-03-20 22:35:51"
[2026-03-21 03:36:01] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 03:36:01] [INFO]   -> Found value: TK31
[2026-03-21 03:36:01] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 03:36:01] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 03:36:01] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:01] [INFO]   -> Set field 'timedispatch' = "2026-03-20 22:34:51"
[2026-03-21 03:36:01] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 03:36:01] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:01] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 22:35:51"
[2026-03-21 03:36:01] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 03:36:01] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 03:36:01] [INFO]   -> Found value: 20260030419
[2026-03-21 03:36:01] [INFO]   -> Set field 'policeReportNumber' = "20260030419"
[2026-03-21 03:36:01] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 03:36:01] [INFO]   -> Found value: [LAW] THP ADV  [03/20/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 22:34...
[2026-03-21 03:36:01] [INFO]   -> Set field 'dispatchNotes' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:01] [INFO]   -> Set field 'cADLog' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:01] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 03:36:01] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-21 03:36:01] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-21 03:36:01] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 03:36:01] [INFO]   -> Found value: I 40
[2026-03-21 03:36:01] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-21 03:36:01] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 03:36:01] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:01] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 03:36:01] [INFO]   -> Found value: 268 E I 40
[2026-03-21 03:36:01] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "268 E I 40"
[2026-03-21 03:36:01] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 03:36:01] [INFO] Built locationCoordinates from lat/lng: 36.13911,-85.78935
[2026-03-21 03:36:01] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000757","dispatchRunNumber":"2026000757","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":268,"incidentLocationStateName":"TN","businessName":"MM268E","nERISIncidentLatitude":36.1391100000000022873791749589145183563232421875,"nERISIncidentLongitude":-85.7893499999999988858689903281629085540771484375,"alarm":"2026-03-20 22:33:20","dispatched":"2026-03-20 22:34:51","enroute":"2026-03-20 22:35:51","cADVehicleID":"TK31","timedispatch":"2026-03-20 22:34:51","timeenroutetoscene":"2026-03-20 22:35:51","policeReportNumber":"20260030419","dispatchNotes":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","cADLog":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","incidentLocationCity":"BUFFALO VALLEY","streetName":"I 40","incidentAddressTextVersionStreet":"268 E I 40","locationCoordinates":"36.13911,-85.78935"}
[2026-03-21 03:36:01] [INFO] Number of extracted fields: 22
[2026-03-21 03:36:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-21 03:36:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 03:36:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-21 03:36:01] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 03:36:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 03:36:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-21 03:36: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-21 03:36: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-21 03:36:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 03:36:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 03:36:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 03:36:02] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-21 03:36:02] [INFO] Found existing Dispatch with cADNumber '2026000757', ID: 69be11e25cda27bb5 - will update instead of create
[2026-03-21 03:36:02] [INFO] Updated existing Dispatches record with ID: 69be11e25cda27bb5
[2026-03-21 03:36:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033601.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030419_20260321_033601.XML
[2026-03-21 03:36:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033601.XML
[2026-03-21 03:36:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033602.XML
[2026-03-21 03:36:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033602.XML for user: 68f1466aed072ad4a
[2026-03-21 03:36:02] [INFO] File size: 5191 bytes
[2026-03-21 03:36:03] [INFO] Created FTPFiles record with ID: 69be12232df1d4807
[2026-03-21 03:36:03] [INFO] About to extract fields from XML. File size: 5191 bytes
[2026-03-21 03:36:03] [INFO] Number of mappings: 28
[2026-03-21 03:36:03] [INFO] Starting XML parsing. Content length: 5191
[2026-03-21 03:36:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 03:36:03] [INFO] Processing 28 field mappings
[2026-03-21 03:36:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 03:36:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 03:36:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 03:36:03] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 03:36:03] [INFO]   -> Found value: PCFD
PCSO
[2026-03-21 03:36:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-21 03:36:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 03:36:03] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 03:36:03] [INFO]   -> Found value: 2026000757
[2026-03-21 03:36:03] [INFO]   -> Set field 'incidentInternalId' = "2026000757"
[2026-03-21 03:36:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000757"
[2026-03-21 03:36:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 03:36:03] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-21 03:36:03] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-21 03:36:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 03:36:03] [INFO]   -> Found value: 268
[2026-03-21 03:36:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 268
[2026-03-21 03:36:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 03:36:03] [INFO]   -> Found value: TN
[2026-03-21 03:36:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 03:36:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 03:36:03] [INFO]   -> Found value: MM268E
[2026-03-21 03:36:03] [INFO]   -> Set field 'businessName' = "MM268E"
[2026-03-21 03:36:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 03:36:03] [INFO]   -> Found value: 36.13911
[2026-03-21 03:36:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1391100000000022873791749589145183563232421875
[2026-03-21 03:36:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 03:36:03] [INFO]   -> Found value: -85.78935
[2026-03-21 03:36:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7893499999999988858689903281629085540771484375
[2026-03-21 03:36:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 03:36:03] [INFO]   -> Found value: 2026-03-20 22:33:20
[2026-03-21 03:36:03] [INFO]   -> Set field 'alarm' = "2026-03-20 22:33:20"
[2026-03-21 03:36:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 03:36:03] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:03] [INFO]   -> Set field 'dispatched' = "2026-03-20 22:34:51"
[2026-03-21 03:36:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 03:36:03] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:03] [INFO]   -> Set field 'enroute' = "2026-03-20 22:35:51"
[2026-03-21 03:36:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 03:36:03] [INFO]   -> Found value: TK31
[2026-03-21 03:36:03] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 03:36:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 03:36:03] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:03] [INFO]   -> Set field 'timedispatch' = "2026-03-20 22:34:51"
[2026-03-21 03:36:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 03:36:03] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 22:35:51"
[2026-03-21 03:36:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 03:36:03] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 03:36:03] [INFO]   -> Found value: 20260030419
[2026-03-21 03:36:03] [INFO]   -> Set field 'policeReportNumber' = "20260030419"
[2026-03-21 03:36:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 03:36:03] [INFO]   -> Found value: [LAW] THP ADV  [03/20/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 22:34...
[2026-03-21 03:36:03] [INFO]   -> Set field 'dispatchNotes' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:03] [INFO]   -> Set field 'cADLog' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 03:36:03] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-21 03:36:03] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-21 03:36:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 03:36:03] [INFO]   -> Found value: I 40
[2026-03-21 03:36:03] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-21 03:36:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 03:36:03] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 03:36:03] [INFO]   -> Found value: 268 E I 40
[2026-03-21 03:36:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "268 E I 40"
[2026-03-21 03:36:03] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 03:36:03] [INFO] Built locationCoordinates from lat/lng: 36.13911,-85.78935
[2026-03-21 03:36:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000757","dispatchRunNumber":"2026000757","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":268,"incidentLocationStateName":"TN","businessName":"MM268E","nERISIncidentLatitude":36.1391100000000022873791749589145183563232421875,"nERISIncidentLongitude":-85.7893499999999988858689903281629085540771484375,"alarm":"2026-03-20 22:33:20","dispatched":"2026-03-20 22:34:51","enroute":"2026-03-20 22:35:51","cADVehicleID":"TK31","timedispatch":"2026-03-20 22:34:51","timeenroutetoscene":"2026-03-20 22:35:51","policeReportNumber":"20260030419","dispatchNotes":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","cADLog":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","incidentLocationCity":"BUFFALO VALLEY","streetName":"I 40","incidentAddressTextVersionStreet":"268 E I 40","locationCoordinates":"36.13911,-85.78935"}
[2026-03-21 03:36:03] [INFO] Number of extracted fields: 22
[2026-03-21 03:36:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-21 03:36:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 03:36:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-21 03:36:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 03:36:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 03:36:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-21 03:36: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-21 03:36: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-21 03:36:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 03:36:03] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 03:36:03] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 03:36:03] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-21 03:36:03] [INFO] Found existing Dispatch with cADNumber '2026000757', ID: 69be11e25cda27bb5 - will update instead of create
[2026-03-21 03:36:04] [INFO] Updated existing Dispatches record with ID: 69be11e25cda27bb5
[2026-03-21 03:36:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033602.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030419_20260321_033602.XML
[2026-03-21 03:36:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033602.XML
[2026-03-21 03:36:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033603.XML
[2026-03-21 03:36:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033603.XML for user: 68f1466aed072ad4a
[2026-03-21 03:36:04] [INFO] File size: 5191 bytes
[2026-03-21 03:36:04] [INFO] Created FTPFiles record with ID: 69be122472adf67ed
[2026-03-21 03:36:04] [INFO] About to extract fields from XML. File size: 5191 bytes
[2026-03-21 03:36:04] [INFO] Number of mappings: 28
[2026-03-21 03:36:04] [INFO] Starting XML parsing. Content length: 5191
[2026-03-21 03:36:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 03:36:04] [INFO] Processing 28 field mappings
[2026-03-21 03:36:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 03:36:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 03:36:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 03:36:04] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 03:36:04] [INFO]   -> Found value: PCFD
PCSO
[2026-03-21 03:36:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-21 03:36:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 03:36:04] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 03:36:04] [INFO]   -> Found value: 2026000757
[2026-03-21 03:36:04] [INFO]   -> Set field 'incidentInternalId' = "2026000757"
[2026-03-21 03:36:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000757"
[2026-03-21 03:36:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 03:36:04] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-21 03:36:04] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-21 03:36:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 03:36:04] [INFO]   -> Found value: 268
[2026-03-21 03:36:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 268
[2026-03-21 03:36:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 03:36:04] [INFO]   -> Found value: TN
[2026-03-21 03:36:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 03:36:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 03:36:04] [INFO]   -> Found value: MM268E
[2026-03-21 03:36:04] [INFO]   -> Set field 'businessName' = "MM268E"
[2026-03-21 03:36:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 03:36:04] [INFO]   -> Found value: 36.13911
[2026-03-21 03:36:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1391100000000022873791749589145183563232421875
[2026-03-21 03:36:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 03:36:04] [INFO]   -> Found value: -85.78935
[2026-03-21 03:36:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7893499999999988858689903281629085540771484375
[2026-03-21 03:36:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 03:36:04] [INFO]   -> Found value: 2026-03-20 22:33:20
[2026-03-21 03:36:04] [INFO]   -> Set field 'alarm' = "2026-03-20 22:33:20"
[2026-03-21 03:36:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 03:36:04] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:04] [INFO]   -> Set field 'dispatched' = "2026-03-20 22:34:51"
[2026-03-21 03:36:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 03:36:04] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:04] [INFO]   -> Set field 'enroute' = "2026-03-20 22:35:51"
[2026-03-21 03:36:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 03:36:04] [INFO]   -> Found value: TK31
[2026-03-21 03:36:04] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 03:36:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 03:36:04] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:04] [INFO]   -> Set field 'timedispatch' = "2026-03-20 22:34:51"
[2026-03-21 03:36:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 03:36:04] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:04] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 22:35:51"
[2026-03-21 03:36:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 03:36:04] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 03:36:04] [INFO]   -> Found value: 20260030419
[2026-03-21 03:36:04] [INFO]   -> Set field 'policeReportNumber' = "20260030419"
[2026-03-21 03:36:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 03:36:04] [INFO]   -> Found value: [LAW] THP ADV  [03/20/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 22:34...
[2026-03-21 03:36:04] [INFO]   -> Set field 'dispatchNotes' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:04] [INFO]   -> Set field 'cADLog' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 03:36:04] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-21 03:36:04] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-21 03:36:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 03:36:04] [INFO]   -> Found value: I 40
[2026-03-21 03:36:04] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-21 03:36:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 03:36:04] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 03:36:04] [INFO]   -> Found value: 268 E I 40
[2026-03-21 03:36:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "268 E I 40"
[2026-03-21 03:36:04] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 03:36:04] [INFO] Built locationCoordinates from lat/lng: 36.13911,-85.78935
[2026-03-21 03:36:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000757","dispatchRunNumber":"2026000757","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":268,"incidentLocationStateName":"TN","businessName":"MM268E","nERISIncidentLatitude":36.1391100000000022873791749589145183563232421875,"nERISIncidentLongitude":-85.7893499999999988858689903281629085540771484375,"alarm":"2026-03-20 22:33:20","dispatched":"2026-03-20 22:34:51","enroute":"2026-03-20 22:35:51","cADVehicleID":"TK31","timedispatch":"2026-03-20 22:34:51","timeenroutetoscene":"2026-03-20 22:35:51","policeReportNumber":"20260030419","dispatchNotes":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","cADLog":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","incidentLocationCity":"BUFFALO VALLEY","streetName":"I 40","incidentAddressTextVersionStreet":"268 E I 40","locationCoordinates":"36.13911,-85.78935"}
[2026-03-21 03:36:04] [INFO] Number of extracted fields: 22
[2026-03-21 03:36:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-21 03:36:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 03:36:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-21 03:36:04] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 03:36:04] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 03:36:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-21 03:36:04] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 03:36:04] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 03:36:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 03:36:04] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 03:36:04] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 03:36:04] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-21 03:36:05] [INFO] Found existing Dispatch with cADNumber '2026000757', ID: 69be11e25cda27bb5 - will update instead of create
[2026-03-21 03:36:05] [INFO] Updated existing Dispatches record with ID: 69be11e25cda27bb5
[2026-03-21 03:36:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033603.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030419_20260321_033603.XML
[2026-03-21 03:36:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033603.XML
[2026-03-21 03:36:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033604.XML
[2026-03-21 03:36:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033604.XML for user: 68f1466aed072ad4a
[2026-03-21 03:36:05] [INFO] File size: 5191 bytes
[2026-03-21 03:36:05] [INFO] Created FTPFiles record with ID: 69be1225a30b94192
[2026-03-21 03:36:05] [INFO] About to extract fields from XML. File size: 5191 bytes
[2026-03-21 03:36:05] [INFO] Number of mappings: 28
[2026-03-21 03:36:05] [INFO] Starting XML parsing. Content length: 5191
[2026-03-21 03:36:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 03:36:05] [INFO] Processing 28 field mappings
[2026-03-21 03:36:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 03:36:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 03:36:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 03:36:05] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 03:36:05] [INFO]   -> Found value: PCFD
PCSO
[2026-03-21 03:36:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-21 03:36:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 03:36:05] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 03:36:05] [INFO]   -> Found value: 2026000757
[2026-03-21 03:36:05] [INFO]   -> Set field 'incidentInternalId' = "2026000757"
[2026-03-21 03:36:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000757"
[2026-03-21 03:36:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 03:36:05] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-21 03:36:05] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-21 03:36:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 03:36:05] [INFO]   -> Found value: 268
[2026-03-21 03:36:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 268
[2026-03-21 03:36:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 03:36:05] [INFO]   -> Found value: TN
[2026-03-21 03:36:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 03:36:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 03:36:05] [INFO]   -> Found value: MM268E
[2026-03-21 03:36:05] [INFO]   -> Set field 'businessName' = "MM268E"
[2026-03-21 03:36:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 03:36:05] [INFO]   -> Found value: 36.13911
[2026-03-21 03:36:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1391100000000022873791749589145183563232421875
[2026-03-21 03:36:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 03:36:05] [INFO]   -> Found value: -85.78935
[2026-03-21 03:36:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7893499999999988858689903281629085540771484375
[2026-03-21 03:36:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 03:36:05] [INFO]   -> Found value: 2026-03-20 22:33:20
[2026-03-21 03:36:05] [INFO]   -> Set field 'alarm' = "2026-03-20 22:33:20"
[2026-03-21 03:36:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 03:36:05] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:05] [INFO]   -> Set field 'dispatched' = "2026-03-20 22:34:51"
[2026-03-21 03:36:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 03:36:05] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:05] [INFO]   -> Set field 'enroute' = "2026-03-20 22:35:51"
[2026-03-21 03:36:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 03:36:05] [INFO]   -> Found value: TK31
[2026-03-21 03:36:05] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 03:36:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 03:36:05] [INFO]   -> Found value: 2026-03-20 22:34:51
[2026-03-21 03:36:05] [INFO]   -> Set field 'timedispatch' = "2026-03-20 22:34:51"
[2026-03-21 03:36:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 03:36:05] [INFO]   -> Found value: 2026-03-20 22:35:51
[2026-03-21 03:36:05] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-20 22:35:51"
[2026-03-21 03:36:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 03:36:05] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 03:36:05] [INFO]   -> Found value: 20260030419
[2026-03-21 03:36:05] [INFO]   -> Set field 'policeReportNumber' = "20260030419"
[2026-03-21 03:36:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 03:36:05] [INFO]   -> Found value: [LAW] THP ADV  [03/20/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/20/26 22:34...
[2026-03-21 03:36:05] [INFO]   -> Set field 'dispatchNotes' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:05] [INFO]   -> Set field 'cADLog' = "[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]"
[2026-03-21 03:36:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 03:36:05] [INFO]   -> Found value: BUFFALO VALLEY
[2026-03-21 03:36:05] [INFO]   -> Set field 'incidentLocationCity' = "BUFFALO VALLEY"
[2026-03-21 03:36:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 03:36:05] [INFO]   -> Found value: I 40
[2026-03-21 03:36:05] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-21 03:36:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 03:36:05] [INFO]   -> No value found (null or empty)
[2026-03-21 03:36:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 03:36:05] [INFO]   -> Found value: 268 E I 40
[2026-03-21 03:36:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "268 E I 40"
[2026-03-21 03:36:05] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 03:36:05] [INFO] Built locationCoordinates from lat/lng: 36.13911,-85.78935
[2026-03-21 03:36:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000757","dispatchRunNumber":"2026000757","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":268,"incidentLocationStateName":"TN","businessName":"MM268E","nERISIncidentLatitude":36.1391100000000022873791749589145183563232421875,"nERISIncidentLongitude":-85.7893499999999988858689903281629085540771484375,"alarm":"2026-03-20 22:33:20","dispatched":"2026-03-20 22:34:51","enroute":"2026-03-20 22:35:51","cADVehicleID":"TK31","timedispatch":"2026-03-20 22:34:51","timeenroutetoscene":"2026-03-20 22:35:51","policeReportNumber":"20260030419","dispatchNotes":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","cADLog":"[LAW] THP ADV  [03\/20\/26 22:34:55 CHERNANDEZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/20\/26 22:34:51 BAHARRIS] CALLER JUST PASSED BY  [03\/20\/26 22:34:47 TSCOTT] WHITE SEDAN  FULLY INVOLVED PER THE CALLER  SAW SOMEONE STANDING OUTSIDE OF THE VEHI  [03\/20\/26 22:34:43 TSCOTT]","incidentLocationCity":"BUFFALO VALLEY","streetName":"I 40","incidentAddressTextVersionStreet":"268 E I 40","locationCoordinates":"36.13911,-85.78935"}
[2026-03-21 03:36:05] [INFO] Number of extracted fields: 22
[2026-03-21 03:36:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-21 03:36:05] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 03:36:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-21 03:36:05] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 03:36:05] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 03:36:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-21 03:36: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-21 03:36: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-21 03:36:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 03:36:05] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 03:36:05] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 03:36:06] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-21 03:36:06] [INFO] Found existing Dispatch with cADNumber '2026000757', ID: 69be11e25cda27bb5 - will update instead of create
[2026-03-21 03:36:06] [INFO] Updated existing Dispatches record with ID: 69be11e25cda27bb5
[2026-03-21 03:36:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033604.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030419_20260321_033604.XML
[2026-03-21 03:36:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030419_20260321_033604.XML
[2026-03-21 04:31:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08467.xml
[2026-03-21 04:31:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08467.xml for user: 68d56363ec1209189
[2026-03-21 04:31:41] [INFO] File size: 2418 bytes
[2026-03-21 04:31:41] [INFO] Created FTPFiles record with ID: 69be1f2d715531b83
[2026-03-21 04:31:41] [INFO] About to extract fields from XML. File size: 2418 bytes
[2026-03-21 04:31:41] [INFO] Number of mappings: 21
[2026-03-21 04:31:41] [INFO] Starting XML parsing. Content length: 2418
[2026-03-21 04:31:41] [INFO] XML parsed successfully. Root element: Incident
[2026-03-21 04:31:41] [INFO] Processing 21 field mappings
[2026-03-21 04:31:41] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-21 04:31:41] [INFO]   -> Found value: 26-08467
[2026-03-21 04:31:41] [INFO]   -> Set field 'dispatchRunNumber' = "26-08467"
[2026-03-21 04:31:41] [INFO]   -> Set field 'cADNumber' = "26-08467"
[2026-03-21 04:31:41] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-21 04:31:41] [INFO]   -> Found value: 159
[2026-03-21 04:31:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 159
[2026-03-21 04:31:41] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-21 04:31:41] [INFO]   -> Found value: RYERSON RD
[2026-03-21 04:31:41] [INFO]   -> Set field 'streetName' = "RYERSON RD"
[2026-03-21 04:31:41] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-21 04:31:41] [INFO]   -> No value found (null or empty)
[2026-03-21 04:31:41] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-21 04:31:41] [INFO]   -> Found value: BENTON
[2026-03-21 04:31:41] [INFO]   -> Set field 'incidentLocationCity' = "BENTON"
[2026-03-21 04:31:41] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-21 04:31:41] [INFO]   -> No value found (null or empty)
[2026-03-21 04:31:41] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-21 04:31:41] [INFO]   -> No value found (null or empty)
[2026-03-21 04:31:41] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-21 04:31:41] [INFO]   -> No value found (null or empty)
[2026-03-21 04:31:41] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-21 04:31:41] [INFO]   -> Found value: 0
[2026-03-21 04:31:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-21 04:31:41] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-21 04:31:41] [INFO]   -> Found value: 0
[2026-03-21 04:31:41] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-21 04:31:41] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-21 04:31:41] [INFO]   -> Found value: STOLEN VEHICLE-FAILED TO RETURN
[2026-03-21 04:31:41] [INFO]   -> Set field 'incidentTypeValue1' = "STOLEN VEHICLE-FAILED TO RETURN"
[2026-03-21 04:31:41] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-21 04:31:41] [INFO]   -> Found value: 03-20-2026 22:24:36|GRANDSON 30 M JASON BRESHEAR II BORROWED VEHICLE AND HAS NOT RETURNED
 03-20-202...
[2026-03-21 04:31:41] [INFO]   -> Set field 'dispatchNotes' = "03-20-2026 22:24:36|GRANDSON 30 M JASON BRESHEAR II BORROWED VEHICLE AND HAS NOT RETURNED\n 03-20-2026 22:55:30|53 YO MALE ON DIALYSIS 03-20-2026 22:55:38|DIFFICULTY BREATHING 03-20-2026 23:05:54|1741 EN ROUTE 03-20-2026 23:13:24|NSCAD ON SCENE 03-20-2026 23:23:50|NSCAD TRANSPORTING 1 TO MERCY SE 03-20-2026 23:30:34|INDIVIDUAL HAS PERMISSION TO LEAVE WITH THE VEHICLE 03-20-2026 23:30:52|WAS ADVISED IF HE DOESN'T SHOW BACK UP AND STOLEN VEHICLE REPORT CAN BE FILED 03-20-2026 23:30:58|Disposition - Scott County S.O. (MO):  NRN"
[2026-03-21 04:31:41] [INFO]   -> Set field 'cADLog' = "03-20-2026 22:24:36|GRANDSON 30 M JASON BRESHEAR II BORROWED VEHICLE AND HAS NOT RETURNED\n 03-20-2026 22:55:30|53 YO MALE ON DIALYSIS 03-20-2026 22:55:38|DIFFICULTY BREATHING 03-20-2026 23:05:54|1741 EN ROUTE 03-20-2026 23:13:24|NSCAD ON SCENE 03-20-2026 23:23:50|NSCAD TRANSPORTING 1 TO MERCY SE 03-20-2026 23:30:34|INDIVIDUAL HAS PERMISSION TO LEAVE WITH THE VEHICLE 03-20-2026 23:30:52|WAS ADVISED IF HE DOESN'T SHOW BACK UP AND STOLEN VEHICLE REPORT CAN BE FILED 03-20-2026 23:30:58|Disposition - Scott County S.O. (MO):  NRN"
[2026-03-21 04:31:41] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-21 04:31:41] [INFO]   -> Found value: 03-20-2026T22:28:32
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T22:28:32
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T22:28:32': Failed to parse time string (2026-20-03T22:28:32) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'alarm' = null
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T22:28:32
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T22:28:32': Failed to parse time string (2026-20-03T22:28:32) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 04:31:41] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-21 04:31:41] [INFO]   -> Found value: 03-20-2026T22:43:51
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T22:43:51
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T22:43:51': Failed to parse time string (2026-20-03T22:43:51) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'onScene' = null
[2026-03-21 04:31:41] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-21 04:31:41] [INFO]   -> Found value: 03-20-2026T23:31:03
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T23:31:03
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T23:31:03': Failed to parse time string (2026-20-03T23:31:03) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'cleared' = null
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T23:31:03
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T23:31:03': Failed to parse time string (2026-20-03T23:31:03) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'inService' = null
[2026-03-21 04:31:41] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-21 04:31:41] [INFO]   -> Found value: 1752
[2026-03-21 04:31:41] [INFO]   -> Set field 'cADVehicleID' = 1752
[2026-03-21 04:31:41] [INFO]   -> Set field 'name' = "1752"
[2026-03-21 04:31:41] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-21 04:31:41] [INFO]   -> No value found (null or empty)
[2026-03-21 04:31:41] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-21 04:31:41] [INFO]   -> Found value: 03-20-2026T23:12:18
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T23:12:18
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T23:12:18': Failed to parse time string (2026-20-03T23:12:18) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 04:31:41] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-21 04:31:41] [INFO]   -> Found value: 03-20-2026T23:23:39
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T23:23:39
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T23:23:39': Failed to parse time string (2026-20-03T23:23:39) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 04:31:41] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-21 04:31:41] [INFO]   -> Found value: 03-20-2026T23:12:16
[2026-03-21 04:31:41] [INFO] Reformatted DD-MM-YYYY date '03-20-2026' (day=03, month=20) to ISO: 2026-20-03T23:12:16
[2026-03-21 04:31:41] [ERROR] Error formatting datetime '2026-20-03T23:12:16': Failed to parse time string (2026-20-03T23:12:16) at position 6 (0): Unexpected character
[2026-03-21 04:31:41] [INFO]   -> Set field 'timedispatch' = null
[2026-03-21 04:31:41] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-21 04:31:41] [INFO]   -> Found value: SCRFD
[2026-03-21 04:31:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-21 04:31:41] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 04:31:41] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-21 04:31:41] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08467","cADNumber":"26-08467","incidentLocationStreetNumber":159,"streetName":"RYERSON RD","incidentLocationCity":"BENTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"STOLEN VEHICLE-FAILED TO RETURN","dispatchNotes":"03-20-2026 22:24:36|GRANDSON 30 M JASON BRESHEAR II BORROWED VEHICLE AND HAS NOT RETURNED\n 03-20-2026 22:55:30|53 YO MALE ON DIALYSIS 03-20-2026 22:55:38|DIFFICULTY BREATHING 03-20-2026 23:05:54|1741 EN ROUTE 03-20-2026 23:13:24|NSCAD ON SCENE 03-20-2026 23:23:50|NSCAD TRANSPORTING 1 TO MERCY SE 03-20-2026 23:30:34|INDIVIDUAL HAS PERMISSION TO LEAVE WITH THE VEHICLE 03-20-2026 23:30:52|WAS ADVISED IF HE DOESN'T SHOW BACK UP AND STOLEN VEHICLE REPORT CAN BE FILED 03-20-2026 23:30:58|Disposition - Scott County S.O. (MO):  NRN","cADLog":"03-20-2026 22:24:36|GRANDSON 30 M JASON BRESHEAR II BORROWED VEHICLE AND HAS NOT RETURNED\n 03-20-2026 22:55:30|53 YO MALE ON DIALYSIS 03-20-2026 22:55:38|DIFFICULTY BREATHING 03-20-2026 23:05:54|1741 EN ROUTE 03-20-2026 23:13:24|NSCAD ON SCENE 03-20-2026 23:23:50|NSCAD TRANSPORTING 1 TO MERCY SE 03-20-2026 23:30:34|INDIVIDUAL HAS PERMISSION TO LEAVE WITH THE VEHICLE 03-20-2026 23:30:52|WAS ADVISED IF HE DOESN'T SHOW BACK UP AND STOLEN VEHICLE REPORT CAN BE FILED 03-20-2026 23:30:58|Disposition - Scott County S.O. (MO):  NRN","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1752,"name":"1752","timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-21 04:31:41] [INFO] Number of extracted fields: 22
[2026-03-21 04:31:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-21 04:31:41] [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-21 04:31:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-21 04:31:41] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-21 04:31:41] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-21 04:31:41] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-21 04:31:41] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-21 04:31:42] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-21 04:31:42] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"STOLEN VEHICLE-FAILED TO RETURN","saasclientId":"6643bdb30659f00d8","name":"STOLEN VEHICLE-FAILED TO RETURN"}
[2026-03-21 04:31:42] [INFO] Created new IncidentTypeMapping with ID: 69be1f2e85fc9c3f8
[2026-03-21 04:31:42] [INFO] Found existing Dispatch with cADNumber '26-08467', ID: 69be16ffa9f2dab2a - will update instead of create
[2026-03-21 04:31:43] [INFO] Updated existing Dispatches record with ID: 69be16ffa9f2dab2a
[2026-03-21 04:31:43] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-21
[2026-03-21 04:31:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08467.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-21/SCRFD_26-08467.xml
[2026-03-21 04:31:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08467.xml
[2026-03-21 06:54:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065452.XML
[2026-03-21 06:54:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065452.XML for user: 68f1466aed072ad4a
[2026-03-21 06:54:52] [INFO] File size: 5470 bytes
[2026-03-21 06:54:53] [INFO] Created FTPFiles record with ID: 69be40bd44405d2a5
[2026-03-21 06:54:53] [INFO] About to extract fields from XML. File size: 5470 bytes
[2026-03-21 06:54:53] [INFO] Number of mappings: 28
[2026-03-21 06:54:53] [INFO] Starting XML parsing. Content length: 5470
[2026-03-21 06:54:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 06:54:53] [INFO] Processing 28 field mappings
[2026-03-21 06:54:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 06:54:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 06:54:53] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 06:54:53] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 06:54:53] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-21 06:54:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-21 06:54:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 06:54:53] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 06:54:53] [INFO]   -> Found value: 2026000114
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentInternalId' = "2026000114"
[2026-03-21 06:54:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000114"
[2026-03-21 06:54:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 06:54:53] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 06:54:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 06:54:53] [INFO]   -> Found value: 500
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 500
[2026-03-21 06:54:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 06:54:53] [INFO]   -> Found value: TN
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 06:54:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 06:54:53] [INFO]   -> Found value: 38506
[2026-03-21 06:54:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 06:54:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 06:54:53] [INFO]   -> Found value: B204
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentLocationApt' = "B204"
[2026-03-21 06:54:53] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 06:54:53] [INFO]   -> Found value: 36.17821
[2026-03-21 06:54:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17820999999999997953636921010911464691162109375
[2026-03-21 06:54:53] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 06:54:53] [INFO]   -> Found value: -85.45329
[2026-03-21 06:54:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4532899999999955298335407860577106475830078125
[2026-03-21 06:54:53] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 06:54:53] [INFO]   -> Found value: 2026-03-21 01:54:02
[2026-03-21 06:54:53] [INFO]   -> Set field 'alarm' = "2026-03-21 01:54:02"
[2026-03-21 06:54:53] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 06:54:53] [INFO]   -> Found value: 2026-03-21 01:54:49
[2026-03-21 06:54:53] [INFO]   -> Set field 'dispatched' = "2026-03-21 01:54:49"
[2026-03-21 06:54:53] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 06:54:53] [INFO]   -> Found value: BURTON BRANCH RD/OLD WALTON RD
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentLocationCross' = "BURTON BRANCH RD\/OLD WALTON RD"
[2026-03-21 06:54:53] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 06:54:53] [INFO]   -> Found value: AFR
[2026-03-21 06:54:53] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-21 06:54:53] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 06:54:53] [INFO]   -> Found value: 2026-03-21 01:54:49
[2026-03-21 06:54:53] [INFO]   -> Set field 'timedispatch' = "2026-03-21 01:54:49"
[2026-03-21 06:54:53] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 06:54:53] [INFO]   -> No value found (null or empty)
[2026-03-21 06:54:53] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 06:54:53] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 06:54:53] [INFO]   -> Found value: 20260030456
[2026-03-21 06:54:53] [INFO]   -> Set field 'policeReportNumber' = "20260030456"
[2026-03-21 06:54:53] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 06:54:53] [INFO]   -> Found value: [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNL...
[2026-03-21 06:54:53] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:54:53] [INFO]   -> Set field 'cADLog' = "[EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:54:53] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 06:54:53] [INFO]   -> Found value: ALGOOD
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 06:54:53] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 06:54:53] [INFO]   -> Found value: DRY VALLEY
[2026-03-21 06:54:53] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-21 06:54:53] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 06:54:53] [INFO]   -> Found value: RD
[2026-03-21 06:54:53] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 06:54:53] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 06:54:53] [INFO]   -> Found value: 500-B204 DRY VALLEY RD
[2026-03-21 06:54:53] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "500-B204 DRY VALLEY RD"
[2026-03-21 06:54:53] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 06:54:53] [INFO] Concatenating street name and type
[2026-03-21 06:54:53] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-21 06:54:53] [INFO] Built locationCoordinates from lat/lng: 36.17821,-85.45329
[2026-03-21 06:54:53] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000114","dispatchRunNumber":"2026000114","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":500,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B204","nERISIncidentLatitude":36.17820999999999997953636921010911464691162109375,"nERISIncidentLongitude":-85.4532899999999955298335407860577106475830078125,"alarm":"2026-03-21 01:54:02","dispatched":"2026-03-21 01:54:49","incidentLocationCross":"BURTON BRANCH RD\/OLD WALTON RD","cADVehicleID":"AFR","timedispatch":"2026-03-21 01:54:49","policeReportNumber":"20260030456","dispatchNotes":"[EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","cADLog":"[EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"500-B204 DRY VALLEY RD","locationCoordinates":"36.17821,-85.45329"}
[2026-03-21 06:54:53] [INFO] Number of extracted fields: 22
[2026-03-21 06:54:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-21 06:54:53] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 06:54:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-21 06:54:53] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 06:54:53] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 06:54:53] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-21 06:54:53] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 06:54:53] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 06:54:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 06:54:53] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 06:54:53] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 06:54:54] [INFO] Found existing IncidentTypeMapping with ID: 69448a5c00a999345
[2026-03-21 06:54:59] [INFO] Created new Dispatches record with ID: 69be40be6e86d6319
[2026-03-21 06:54:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065452.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030456_20260321_065452.XML
[2026-03-21 06:54:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065452.XML
[2026-03-21 06:55:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524.XML
[2026-03-21 06:55:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524.XML for user: 68f1466aed072ad4a
[2026-03-21 06:55:24] [INFO] File size: 6536 bytes
[2026-03-21 06:55:24] [INFO] Created FTPFiles record with ID: 69be40dc7df455dd5
[2026-03-21 06:55:24] [INFO] About to extract fields from XML. File size: 6536 bytes
[2026-03-21 06:55:24] [INFO] Number of mappings: 28
[2026-03-21 06:55:24] [INFO] Starting XML parsing. Content length: 6536
[2026-03-21 06:55:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 06:55:24] [INFO] Processing 28 field mappings
[2026-03-21 06:55:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 06:55:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 06:55:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 06:55:24] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 06:55:24] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-21 06:55:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-21 06:55:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 06:55:24] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 06:55:24] [INFO]   -> Found value: 2026000114
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentInternalId' = "2026000114"
[2026-03-21 06:55:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000114"
[2026-03-21 06:55:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 06:55:24] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 06:55:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 06:55:24] [INFO]   -> Found value: 500
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 500
[2026-03-21 06:55:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 06:55:24] [INFO]   -> Found value: TN
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 06:55:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 06:55:24] [INFO]   -> Found value: 38506
[2026-03-21 06:55:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 06:55:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 06:55:24] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 06:55:24] [INFO]   -> Found value: B204
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentLocationApt' = "B204"
[2026-03-21 06:55:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 06:55:24] [INFO]   -> Found value: 36.17821
[2026-03-21 06:55:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17820999999999997953636921010911464691162109375
[2026-03-21 06:55:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 06:55:24] [INFO]   -> Found value: -85.45329
[2026-03-21 06:55:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4532899999999955298335407860577106475830078125
[2026-03-21 06:55:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 06:55:24] [INFO]   -> Found value: 2026-03-21 01:54:02
[2026-03-21 06:55:24] [INFO]   -> Set field 'alarm' = "2026-03-21 01:54:02"
[2026-03-21 06:55:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 06:55:24] [INFO]   -> Found value: 2026-03-21 01:54:49
[2026-03-21 06:55:24] [INFO]   -> Set field 'dispatched' = "2026-03-21 01:54:49"
[2026-03-21 06:55:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 06:55:24] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 06:55:24] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 06:55:24] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 06:55:24] [INFO]   -> Found value: BURTON BRANCH RD/OLD WALTON RD
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentLocationCross' = "BURTON BRANCH RD\/OLD WALTON RD"
[2026-03-21 06:55:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 06:55:24] [INFO]   -> Found value: AFR
[2026-03-21 06:55:24] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-21 06:55:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 06:55:24] [INFO]   -> Found value: 2026-03-21 01:54:49
[2026-03-21 06:55:24] [INFO]   -> Set field 'timedispatch' = "2026-03-21 01:54:49"
[2026-03-21 06:55:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 06:55:24] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 06:55:24] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 06:55:24] [INFO]   -> Found value: 2026-03-21 01:55:20
[2026-03-21 06:55:24] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 01:55:20"
[2026-03-21 06:55:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 06:55:24] [INFO]   -> Found value: 2026-03-21 01:55:20
[2026-03-21 06:55:24] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 01:55:20"
[2026-03-21 06:55:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 06:55:24] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 06:55:24] [INFO]   -> Found value: 20260030456
[2026-03-21 06:55:24] [INFO]   -> Set field 'policeReportNumber' = "20260030456"
[2026-03-21 06:55:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 06:55:24] [INFO]   -> Found value: [EMS] 864-247-9359  [03/21/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03/21/26 01:55:14 TSCOTT] [EM...
[2026-03-21 06:55:24] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:24] [INFO]   -> Set field 'cADLog' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 06:55:24] [INFO]   -> Found value: ALGOOD
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 06:55:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 06:55:24] [INFO]   -> Found value: DRY VALLEY
[2026-03-21 06:55:24] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-21 06:55:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 06:55:24] [INFO]   -> Found value: RD
[2026-03-21 06:55:24] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 06:55:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 06:55:24] [INFO]   -> Found value: 500-B204 DRY VALLEY RD
[2026-03-21 06:55:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "500-B204 DRY VALLEY RD"
[2026-03-21 06:55:24] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 06:55:24] [INFO] Concatenating street name and type
[2026-03-21 06:55:24] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-21 06:55:24] [INFO] Built locationCoordinates from lat/lng: 36.17821,-85.45329
[2026-03-21 06:55:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000114","dispatchRunNumber":"2026000114","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":500,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B204","nERISIncidentLatitude":36.17820999999999997953636921010911464691162109375,"nERISIncidentLongitude":-85.4532899999999955298335407860577106475830078125,"alarm":"2026-03-21 01:54:02","dispatched":"2026-03-21 01:54:49","incidentLocationCross":"BURTON BRANCH RD\/OLD WALTON RD","cADVehicleID":"AFR","timedispatch":"2026-03-21 01:54:49","timeunitclear":"2026-03-21 01:55:20","timecanceledenroute":"2026-03-21 01:55:20","policeReportNumber":"20260030456","dispatchNotes":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","cADLog":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"500-B204 DRY VALLEY RD","locationCoordinates":"36.17821,-85.45329"}
[2026-03-21 06:55:24] [INFO] Number of extracted fields: 24
[2026-03-21 06:55:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-21 06:55:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 06:55:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-21 06:55:24] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 06:55:24] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 06:55:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-21 06:55:25] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 06:55:25] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 06:55:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 06:55:25] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 06:55:25] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 06:55:25] [INFO] Found existing IncidentTypeMapping with ID: 69448a5c00a999345
[2026-03-21 06:55:25] [INFO] Found existing Dispatch with cADNumber '2026000114', ID: 69be40be6e86d6319 - will update instead of create
[2026-03-21 06:55:25] [INFO] Updated existing Dispatches record with ID: 69be40be6e86d6319
[2026-03-21 06:55:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030456_20260321_065524.XML
[2026-03-21 06:55:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524.XML
[2026-03-21 06:55:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524_1.XML
[2026-03-21 06:55:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524_1.XML for user: 68f1466aed072ad4a
[2026-03-21 06:55:25] [INFO] File size: 6603 bytes
[2026-03-21 06:55:26] [INFO] Created FTPFiles record with ID: 69be40de5bfef00ec
[2026-03-21 06:55:26] [INFO] About to extract fields from XML. File size: 6603 bytes
[2026-03-21 06:55:26] [INFO] Number of mappings: 28
[2026-03-21 06:55:26] [INFO] Starting XML parsing. Content length: 6603
[2026-03-21 06:55:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 06:55:26] [INFO] Processing 28 field mappings
[2026-03-21 06:55:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 06:55:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 06:55:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 06:55:26] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 06:55:26] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-21 06:55:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-21 06:55:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 06:55:26] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 06:55:26] [INFO]   -> Found value: 2026000114
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentInternalId' = "2026000114"
[2026-03-21 06:55:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000114"
[2026-03-21 06:55:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 06:55:26] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 06:55:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 06:55:26] [INFO]   -> Found value: 500
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 500
[2026-03-21 06:55:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 06:55:26] [INFO]   -> Found value: TN
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 06:55:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 06:55:26] [INFO]   -> Found value: 38506
[2026-03-21 06:55:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 06:55:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 06:55:26] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 06:55:26] [INFO]   -> Found value: B204
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentLocationApt' = "B204"
[2026-03-21 06:55:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 06:55:26] [INFO]   -> Found value: 36.17821
[2026-03-21 06:55:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17820999999999997953636921010911464691162109375
[2026-03-21 06:55:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 06:55:26] [INFO]   -> Found value: -85.45329
[2026-03-21 06:55:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4532899999999955298335407860577106475830078125
[2026-03-21 06:55:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 06:55:26] [INFO]   -> Found value: 2026-03-21 01:54:02
[2026-03-21 06:55:26] [INFO]   -> Set field 'alarm' = "2026-03-21 01:54:02"
[2026-03-21 06:55:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 06:55:26] [INFO]   -> Found value: 2026-03-21 01:54:49
[2026-03-21 06:55:26] [INFO]   -> Set field 'dispatched' = "2026-03-21 01:54:49"
[2026-03-21 06:55:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 06:55:26] [INFO]   -> Found value: 2026-03-21 01:55:22
[2026-03-21 06:55:26] [INFO]   -> Set field 'enroute' = "2026-03-21 01:55:22"
[2026-03-21 06:55:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 06:55:26] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 06:55:26] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 06:55:26] [INFO]   -> Found value: BURTON BRANCH RD/OLD WALTON RD
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentLocationCross' = "BURTON BRANCH RD\/OLD WALTON RD"
[2026-03-21 06:55:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 06:55:26] [INFO]   -> Found value: A1200
[2026-03-21 06:55:26] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 06:55:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 06:55:26] [INFO]   -> Found value: 2026-03-21 01:55:20
[2026-03-21 06:55:26] [INFO]   -> Set field 'timedispatch' = "2026-03-21 01:55:20"
[2026-03-21 06:55:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 06:55:26] [INFO]   -> Found value: 2026-03-21 01:55:22
[2026-03-21 06:55:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 01:55:22"
[2026-03-21 06:55:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 06:55:26] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 06:55:26] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 06:55:26] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 06:55:26] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 06:55:26] [INFO]   -> Found value: 20260030456
[2026-03-21 06:55:26] [INFO]   -> Set field 'policeReportNumber' = "20260030456"
[2026-03-21 06:55:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 06:55:26] [INFO]   -> Found value: [EMS] 864-247-9359  [03/21/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03/21/26 01:55:14 TSCOTT] [EM...
[2026-03-21 06:55:26] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:26] [INFO]   -> Set field 'cADLog' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 06:55:26] [INFO]   -> Found value: ALGOOD
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 06:55:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 06:55:26] [INFO]   -> Found value: DRY VALLEY
[2026-03-21 06:55:26] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-21 06:55:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 06:55:26] [INFO]   -> Found value: RD
[2026-03-21 06:55:26] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 06:55:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 06:55:26] [INFO]   -> Found value: 500-B204 DRY VALLEY RD
[2026-03-21 06:55:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "500-B204 DRY VALLEY RD"
[2026-03-21 06:55:26] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 06:55:26] [INFO] Concatenating street name and type
[2026-03-21 06:55:26] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-21 06:55:26] [INFO] Built locationCoordinates from lat/lng: 36.17821,-85.45329
[2026-03-21 06:55:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000114","dispatchRunNumber":"2026000114","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":500,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B204","nERISIncidentLatitude":36.17820999999999997953636921010911464691162109375,"nERISIncidentLongitude":-85.4532899999999955298335407860577106475830078125,"alarm":"2026-03-21 01:54:02","dispatched":"2026-03-21 01:54:49","enroute":"2026-03-21 01:55:22","incidentLocationCross":"BURTON BRANCH RD\/OLD WALTON RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 01:55:20","timeenroutetoscene":"2026-03-21 01:55:22","policeReportNumber":"20260030456","dispatchNotes":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","cADLog":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"500-B204 DRY VALLEY RD","locationCoordinates":"36.17821,-85.45329"}
[2026-03-21 06:55:26] [INFO] Number of extracted fields: 24
[2026-03-21 06:55:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-21 06:55:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 06:55:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-21 06:55:26] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 06:55:26] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 06:55:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-21 06:55:26] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 06:55:26] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 06:55:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 06:55:26] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 06:55:27] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 06:55:27] [INFO] Found existing IncidentTypeMapping with ID: 69448a5c00a999345
[2026-03-21 06:55:27] [INFO] Found existing Dispatch with cADNumber '2026000114', ID: 69be40be6e86d6319 - will update instead of create
[2026-03-21 06:55:27] [INFO] Updated existing Dispatches record with ID: 69be40be6e86d6319
[2026-03-21 06:55:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030456_20260321_065524_1.XML
[2026-03-21 06:55:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065524_1.XML
[2026-03-21 06:55:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065527.XML
[2026-03-21 06:55:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065527.XML for user: 68f1466aed072ad4a
[2026-03-21 06:55:27] [INFO] File size: 6603 bytes
[2026-03-21 06:55:28] [INFO] Created FTPFiles record with ID: 69be40e024dd91ede
[2026-03-21 06:55:28] [INFO] About to extract fields from XML. File size: 6603 bytes
[2026-03-21 06:55:28] [INFO] Number of mappings: 28
[2026-03-21 06:55:28] [INFO] Starting XML parsing. Content length: 6603
[2026-03-21 06:55:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 06:55:28] [INFO] Processing 28 field mappings
[2026-03-21 06:55:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 06:55:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 06:55:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 06:55:28] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 06:55:28] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-21 06:55:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-21 06:55:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 06:55:28] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 06:55:28] [INFO]   -> Found value: 2026000114
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentInternalId' = "2026000114"
[2026-03-21 06:55:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000114"
[2026-03-21 06:55:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 06:55:28] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 06:55:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 06:55:28] [INFO]   -> Found value: 500
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 500
[2026-03-21 06:55:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 06:55:28] [INFO]   -> Found value: TN
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 06:55:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 06:55:28] [INFO]   -> Found value: 38506
[2026-03-21 06:55:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 06:55:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 06:55:28] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 06:55:28] [INFO]   -> Found value: B204
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentLocationApt' = "B204"
[2026-03-21 06:55:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 06:55:28] [INFO]   -> Found value: 36.17821
[2026-03-21 06:55:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17820999999999997953636921010911464691162109375
[2026-03-21 06:55:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 06:55:28] [INFO]   -> Found value: -85.45329
[2026-03-21 06:55:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4532899999999955298335407860577106475830078125
[2026-03-21 06:55:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 06:55:28] [INFO]   -> Found value: 2026-03-21 01:54:02
[2026-03-21 06:55:28] [INFO]   -> Set field 'alarm' = "2026-03-21 01:54:02"
[2026-03-21 06:55:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 06:55:28] [INFO]   -> Found value: 2026-03-21 01:54:49
[2026-03-21 06:55:28] [INFO]   -> Set field 'dispatched' = "2026-03-21 01:54:49"
[2026-03-21 06:55:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 06:55:28] [INFO]   -> Found value: 2026-03-21 01:55:22
[2026-03-21 06:55:28] [INFO]   -> Set field 'enroute' = "2026-03-21 01:55:22"
[2026-03-21 06:55:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 06:55:28] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 06:55:28] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 06:55:28] [INFO]   -> Found value: BURTON BRANCH RD/OLD WALTON RD
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentLocationCross' = "BURTON BRANCH RD\/OLD WALTON RD"
[2026-03-21 06:55:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 06:55:28] [INFO]   -> Found value: A1200
[2026-03-21 06:55:28] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 06:55:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 06:55:28] [INFO]   -> Found value: 2026-03-21 01:55:20
[2026-03-21 06:55:28] [INFO]   -> Set field 'timedispatch' = "2026-03-21 01:55:20"
[2026-03-21 06:55:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 06:55:28] [INFO]   -> Found value: 2026-03-21 01:55:22
[2026-03-21 06:55:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 01:55:22"
[2026-03-21 06:55:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 06:55:28] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 06:55:28] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 06:55:28] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 06:55:28] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 06:55:28] [INFO]   -> Found value: 20260030456
[2026-03-21 06:55:28] [INFO]   -> Set field 'policeReportNumber' = "20260030456"
[2026-03-21 06:55:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 06:55:28] [INFO]   -> Found value: [EMS] 864-247-9359  [03/21/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03/21/26 01:55:14 TSCOTT] [EM...
[2026-03-21 06:55:28] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:28] [INFO]   -> Set field 'cADLog' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 06:55:28] [INFO]   -> Found value: ALGOOD
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 06:55:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 06:55:28] [INFO]   -> Found value: DRY VALLEY
[2026-03-21 06:55:28] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-21 06:55:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 06:55:28] [INFO]   -> Found value: RD
[2026-03-21 06:55:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 06:55:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 06:55:28] [INFO]   -> Found value: 500-B204 DRY VALLEY RD
[2026-03-21 06:55:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "500-B204 DRY VALLEY RD"
[2026-03-21 06:55:28] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 06:55:28] [INFO] Concatenating street name and type
[2026-03-21 06:55:28] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-21 06:55:28] [INFO] Built locationCoordinates from lat/lng: 36.17821,-85.45329
[2026-03-21 06:55:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000114","dispatchRunNumber":"2026000114","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":500,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B204","nERISIncidentLatitude":36.17820999999999997953636921010911464691162109375,"nERISIncidentLongitude":-85.4532899999999955298335407860577106475830078125,"alarm":"2026-03-21 01:54:02","dispatched":"2026-03-21 01:54:49","enroute":"2026-03-21 01:55:22","incidentLocationCross":"BURTON BRANCH RD\/OLD WALTON RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 01:55:20","timeenroutetoscene":"2026-03-21 01:55:22","policeReportNumber":"20260030456","dispatchNotes":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","cADLog":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"500-B204 DRY VALLEY RD","locationCoordinates":"36.17821,-85.45329"}
[2026-03-21 06:55:28] [INFO] Number of extracted fields: 24
[2026-03-21 06:55:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-21 06:55:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 06:55:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-21 06:55:28] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 06:55:28] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 06:55:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-21 06:55:28] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 06:55:28] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 06:55:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 06:55:28] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 06:55:28] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 06:55:29] [INFO] Found existing IncidentTypeMapping with ID: 69448a5c00a999345
[2026-03-21 06:55:29] [INFO] Found existing Dispatch with cADNumber '2026000114', ID: 69be40be6e86d6319 - will update instead of create
[2026-03-21 06:55:29] [INFO] Updated existing Dispatches record with ID: 69be40be6e86d6319
[2026-03-21 06:55:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065527.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030456_20260321_065527.XML
[2026-03-21 06:55:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065527.XML
[2026-03-21 06:55:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065531.XML
[2026-03-21 06:55:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065531.XML for user: 68f1466aed072ad4a
[2026-03-21 06:55:31] [INFO] File size: 6603 bytes
[2026-03-21 06:55:32] [INFO] Created FTPFiles record with ID: 69be40e44fc897191
[2026-03-21 06:55:32] [INFO] About to extract fields from XML. File size: 6603 bytes
[2026-03-21 06:55:32] [INFO] Number of mappings: 28
[2026-03-21 06:55:32] [INFO] Starting XML parsing. Content length: 6603
[2026-03-21 06:55:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 06:55:32] [INFO] Processing 28 field mappings
[2026-03-21 06:55:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 06:55:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 06:55:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 06:55:32] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 06:55:32] [INFO]   -> Found value: AFD
EMS
APD
[2026-03-21 06:55:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-03-21 06:55:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 06:55:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 06:55:32] [INFO]   -> Found value: 2026000114
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentInternalId' = "2026000114"
[2026-03-21 06:55:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000114"
[2026-03-21 06:55:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 06:55:32] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 06:55:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 06:55:32] [INFO]   -> Found value: 500
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 500
[2026-03-21 06:55:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 06:55:32] [INFO]   -> Found value: TN
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 06:55:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 06:55:32] [INFO]   -> Found value: 38506
[2026-03-21 06:55:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 06:55:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 06:55:32] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 06:55:32] [INFO]   -> Found value: B204
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentLocationApt' = "B204"
[2026-03-21 06:55:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 06:55:32] [INFO]   -> Found value: 36.17821
[2026-03-21 06:55:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17820999999999997953636921010911464691162109375
[2026-03-21 06:55:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 06:55:32] [INFO]   -> Found value: -85.45329
[2026-03-21 06:55:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4532899999999955298335407860577106475830078125
[2026-03-21 06:55:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 06:55:32] [INFO]   -> Found value: 2026-03-21 01:54:02
[2026-03-21 06:55:32] [INFO]   -> Set field 'alarm' = "2026-03-21 01:54:02"
[2026-03-21 06:55:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 06:55:32] [INFO]   -> Found value: 2026-03-21 01:54:49
[2026-03-21 06:55:32] [INFO]   -> Set field 'dispatched' = "2026-03-21 01:54:49"
[2026-03-21 06:55:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 06:55:32] [INFO]   -> Found value: 2026-03-21 01:55:22
[2026-03-21 06:55:32] [INFO]   -> Set field 'enroute' = "2026-03-21 01:55:22"
[2026-03-21 06:55:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 06:55:32] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 06:55:32] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 06:55:32] [INFO]   -> Found value: BURTON BRANCH RD/OLD WALTON RD
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentLocationCross' = "BURTON BRANCH RD\/OLD WALTON RD"
[2026-03-21 06:55:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 06:55:32] [INFO]   -> Found value: A1200
[2026-03-21 06:55:32] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 06:55:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 06:55:32] [INFO]   -> Found value: 2026-03-21 01:55:20
[2026-03-21 06:55:32] [INFO]   -> Set field 'timedispatch' = "2026-03-21 01:55:20"
[2026-03-21 06:55:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 06:55:32] [INFO]   -> Found value: 2026-03-21 01:55:22
[2026-03-21 06:55:32] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 01:55:22"
[2026-03-21 06:55:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 06:55:32] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 06:55:32] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 06:55:32] [INFO]   -> No value found (null or empty)
[2026-03-21 06:55:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 06:55:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 06:55:32] [INFO]   -> Found value: 20260030456
[2026-03-21 06:55:32] [INFO]   -> Set field 'policeReportNumber' = "20260030456"
[2026-03-21 06:55:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 06:55:32] [INFO]   -> Found value: [EMS] 864-247-9359  [03/21/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03/21/26 01:55:14 TSCOTT] [EM...
[2026-03-21 06:55:32] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:32] [INFO]   -> Set field 'cADLog' = "[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]"
[2026-03-21 06:55:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 06:55:32] [INFO]   -> Found value: ALGOOD
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 06:55:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 06:55:32] [INFO]   -> Found value: DRY VALLEY
[2026-03-21 06:55:32] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-03-21 06:55:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 06:55:32] [INFO]   -> Found value: RD
[2026-03-21 06:55:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 06:55:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 06:55:32] [INFO]   -> Found value: 500-B204 DRY VALLEY RD
[2026-03-21 06:55:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "500-B204 DRY VALLEY RD"
[2026-03-21 06:55:32] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 06:55:32] [INFO] Concatenating street name and type
[2026-03-21 06:55:32] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-03-21 06:55:32] [INFO] Built locationCoordinates from lat/lng: 36.17821,-85.45329
[2026-03-21 06:55:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000114","dispatchRunNumber":"2026000114","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":500,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B204","nERISIncidentLatitude":36.17820999999999997953636921010911464691162109375,"nERISIncidentLongitude":-85.4532899999999955298335407860577106475830078125,"alarm":"2026-03-21 01:54:02","dispatched":"2026-03-21 01:54:49","enroute":"2026-03-21 01:55:22","incidentLocationCross":"BURTON BRANCH RD\/OLD WALTON RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 01:55:20","timeenroutetoscene":"2026-03-21 01:55:22","policeReportNumber":"20260030456","dispatchNotes":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","cADLog":"[EMS] 864-247-9359  [03\/21\/26 01:55:21 TSCOTT] [EMS] JORDIN FORESTER  [03\/21\/26 01:55:14 TSCOTT] [EMS] 23 YOF CHEST PAIN AND TROUBLE BREATHING  NO HX OF CARDIAC ISSUES  HX OF LOW BP  FRONT DOOR UNLOCKED  [03\/21\/26 01:54:39 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/21\/26 01:54:16 BAHARRIS] Event spawned from CHEST PAIN.  [03\/21\/2026 01:54:02 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"500-B204 DRY VALLEY RD","locationCoordinates":"36.17821,-85.45329"}
[2026-03-21 06:55:32] [INFO] Number of extracted fields: 24
[2026-03-21 06:55:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-03-21 06:55:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-21 06:55:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-03-21 06:55:32] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 06:55:32] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 06:55:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-03-21 06:55:32] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 06:55:32] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 06:55:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 06:55:32] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 06:55:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 06:55:33] [INFO] Found existing IncidentTypeMapping with ID: 69448a5c00a999345
[2026-03-21 06:55:33] [INFO] Found existing Dispatch with cADNumber '2026000114', ID: 69be40be6e86d6319 - will update instead of create
[2026-03-21 06:55:33] [INFO] Updated existing Dispatches record with ID: 69be40be6e86d6319
[2026-03-21 06:55:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065531.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030456_20260321_065531.XML
[2026-03-21 06:55:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030456_20260321_065531.XML
[2026-03-21 07:22:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072221.XML
[2026-03-21 07:22:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072221.XML for user: 68f1466aed072ad4a
[2026-03-21 07:22:21] [INFO] File size: 5249 bytes
[2026-03-21 07:22:22] [INFO] Created FTPFiles record with ID: 69be472e32c124697
[2026-03-21 07:22:22] [INFO] About to extract fields from XML. File size: 5249 bytes
[2026-03-21 07:22:22] [INFO] Number of mappings: 28
[2026-03-21 07:22:22] [INFO] Starting XML parsing. Content length: 5249
[2026-03-21 07:22:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:22:22] [INFO] Processing 28 field mappings
[2026-03-21 07:22:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:22:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:22:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:22:22] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 07:22:22] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 07:22:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 07:22:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:22:22] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:22:22] [INFO]   -> Found value: 2026000758
[2026-03-21 07:22:22] [INFO]   -> Set field 'incidentInternalId' = "2026000758"
[2026-03-21 07:22:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000758"
[2026-03-21 07:22:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:22:22] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 07:22:22] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 07:22:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:22:22] [INFO]   -> Found value: 3572
[2026-03-21 07:22:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-21 07:22:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:22:22] [INFO]   -> Found value: TN
[2026-03-21 07:22:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:22:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:22:22] [INFO]   -> Found value: 38506
[2026-03-21 07:22:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:22:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:22:22] [INFO]   -> Found value: 36.11169
[2026-03-21 07:22:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-21 07:22:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:22:22] [INFO]   -> Found value: -85.45947
[2026-03-21 07:22:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-21 07:22:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:22:22] [INFO]   -> Found value: 2026-03-21 02:21:40
[2026-03-21 07:22:22] [INFO]   -> Set field 'alarm' = "2026-03-21 02:21:40"
[2026-03-21 07:22:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:22:22] [INFO]   -> Found value: 2026-03-21 02:22:18
[2026-03-21 07:22:22] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:22:18"
[2026-03-21 07:22:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:22:22] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 07:22:22] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 07:22:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:22:22] [INFO]   -> Found value: PCFR
[2026-03-21 07:22:22] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 07:22:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:22:22] [INFO]   -> Found value: 2026-03-21 02:22:18
[2026-03-21 07:22:22] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:22:18"
[2026-03-21 07:22:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:22:22] [INFO]   -> No value found (null or empty)
[2026-03-21 07:22:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:22:22] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:22:22] [INFO]   -> Found value: 20260030463
[2026-03-21 07:22:22] [INFO]   -> Set field 'policeReportNumber' = "20260030463"
[2026-03-21 07:22:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:22:22] [INFO]   -> Found value: [EMS] UNRESPONSIVE  [03/21/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03/21/2026 02:21:40...
[2026-03-21 07:22:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:22:22] [INFO]   -> Set field 'cADLog' = "[EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:22:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:22:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 07:22:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 07:22:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:22:22] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 07:22:22] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 07:22:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:22:22] [INFO]   -> Found value: RD
[2026-03-21 07:22:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 07:22:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:22:22] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-21 07:22:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-21 07:22:22] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 07:22:22] [INFO] Concatenating street name and type
[2026-03-21 07:22:22] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 07:22:22] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-21 07:22:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000758","dispatchRunNumber":"2026000758","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-21 02:21:40","dispatched":"2026-03-21 02:22:18","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"PCFR","timedispatch":"2026-03-21 02:22:18","policeReportNumber":"20260030463","dispatchNotes":"[EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","cADLog":"[EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-21 07:22:22] [INFO] Number of extracted fields: 21
[2026-03-21 07:22:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 07:22: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-21 07:22:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 07:22:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:22:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 07:22:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 07:22: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-21 07:22: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-21 07:22:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 07:22:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 07:22:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 07:22:22] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 07:22:33] [INFO] Created new Dispatches record with ID: 69be472f426bf1ec2
[2026-03-21 07:22:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072221.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030463_20260321_072221.XML
[2026-03-21 07:22:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072221.XML
[2026-03-21 07:27:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072712.XML
[2026-03-21 07:27:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072712.XML for user: 68f1466aed072ad4a
[2026-03-21 07:27:12] [INFO] File size: 6564 bytes
[2026-03-21 07:27:13] [INFO] Created FTPFiles record with ID: 69be48517167514d5
[2026-03-21 07:27:13] [INFO] About to extract fields from XML. File size: 6564 bytes
[2026-03-21 07:27:13] [INFO] Number of mappings: 28
[2026-03-21 07:27:13] [INFO] Starting XML parsing. Content length: 6564
[2026-03-21 07:27:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:27:13] [INFO] Processing 28 field mappings
[2026-03-21 07:27:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:27:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:27:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:27:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 07:27:13] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 07:27:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 07:27:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:27:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:27:13] [INFO]   -> Found value: 2026000758
[2026-03-21 07:27:13] [INFO]   -> Set field 'incidentInternalId' = "2026000758"
[2026-03-21 07:27:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000758"
[2026-03-21 07:27:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:27:13] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 07:27:13] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 07:27:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:27:13] [INFO]   -> Found value: 3572
[2026-03-21 07:27:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-21 07:27:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:27:13] [INFO]   -> Found value: TN
[2026-03-21 07:27:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:27:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:27:13] [INFO]   -> Found value: 38506
[2026-03-21 07:27:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:27:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:27:13] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:27:13] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:27:13] [INFO]   -> Found value: 36.11169
[2026-03-21 07:27:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-21 07:27:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:27:13] [INFO]   -> Found value: -85.45947
[2026-03-21 07:27:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-21 07:27:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:27:13] [INFO]   -> Found value: 2026-03-21 02:21:40
[2026-03-21 07:27:13] [INFO]   -> Set field 'alarm' = "2026-03-21 02:21:40"
[2026-03-21 07:27:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:27:13] [INFO]   -> Found value: 2026-03-21 02:22:18
[2026-03-21 07:27:13] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:22:18"
[2026-03-21 07:27:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:27:13] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:13] [INFO]   -> Set field 'enroute' = "2026-03-21 02:27:10"
[2026-03-21 07:27:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:27:13] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:27:13] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:27:13] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 07:27:13] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 07:27:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:27:13] [INFO]   -> Found value: SQ11
[2026-03-21 07:27:13] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-21 07:27:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:27:13] [INFO]   -> Found value: 2026-03-21 02:27:06
[2026-03-21 07:27:13] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:27:06"
[2026-03-21 07:27:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:27:13] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:27:10"
[2026-03-21 07:27:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:27:13] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:27:13] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:27:13] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:27:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:27:13] [INFO]   -> Found value: 20260030463
[2026-03-21 07:27:13] [INFO]   -> Set field 'policeReportNumber' = "20260030463"
[2026-03-21 07:27:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:27:13] [INFO]   -> Found value: [EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03/21/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UN...
[2026-03-21 07:27:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:13] [INFO]   -> Set field 'cADLog' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:27:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 07:27:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 07:27:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:27:13] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 07:27:13] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 07:27:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:27:13] [INFO]   -> Found value: RD
[2026-03-21 07:27:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 07:27:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:27:13] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-21 07:27:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-21 07:27:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 07:27:13] [INFO] Concatenating street name and type
[2026-03-21 07:27:13] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 07:27:13] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-21 07:27:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000758","dispatchRunNumber":"2026000758","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-21 02:21:40","dispatched":"2026-03-21 02:22:18","enroute":"2026-03-21 02:27:10","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-21 02:27:06","timeenroutetoscene":"2026-03-21 02:27:10","policeReportNumber":"20260030463","dispatchNotes":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","cADLog":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-21 07:27:13] [INFO] Number of extracted fields: 23
[2026-03-21 07:27:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 07:27:13] [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-21 07:27:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 07:27:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:27:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 07:27:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 07:27: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-21 07:27: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-21 07:27:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 07:27:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 07:27:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 07:27:14] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 07:27:14] [INFO] Found existing Dispatch with cADNumber '2026000758', ID: 69be472f426bf1ec2 - will update instead of create
[2026-03-21 07:27:14] [INFO] Updated existing Dispatches record with ID: 69be472f426bf1ec2
[2026-03-21 07:27:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072712.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030463_20260321_072712.XML
[2026-03-21 07:27:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072712.XML
[2026-03-21 07:27:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714.XML
[2026-03-21 07:27:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714.XML for user: 68f1466aed072ad4a
[2026-03-21 07:27:14] [INFO] File size: 6564 bytes
[2026-03-21 07:27:15] [INFO] Created FTPFiles record with ID: 69be48532d5587265
[2026-03-21 07:27:15] [INFO] About to extract fields from XML. File size: 6564 bytes
[2026-03-21 07:27:15] [INFO] Number of mappings: 28
[2026-03-21 07:27:15] [INFO] Starting XML parsing. Content length: 6564
[2026-03-21 07:27:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:27:15] [INFO] Processing 28 field mappings
[2026-03-21 07:27:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:27:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:27:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:27:15] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 07:27:15] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 07:27:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 07:27:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:27:15] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:27:15] [INFO]   -> Found value: 2026000758
[2026-03-21 07:27:15] [INFO]   -> Set field 'incidentInternalId' = "2026000758"
[2026-03-21 07:27:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000758"
[2026-03-21 07:27:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:27:15] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 07:27:15] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 07:27:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:27:15] [INFO]   -> Found value: 3572
[2026-03-21 07:27:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-21 07:27:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:27:15] [INFO]   -> Found value: TN
[2026-03-21 07:27:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:27:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:27:15] [INFO]   -> Found value: 38506
[2026-03-21 07:27:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:27:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:27:15] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:27:15] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:27:15] [INFO]   -> Found value: 36.11169
[2026-03-21 07:27:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-21 07:27:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:27:15] [INFO]   -> Found value: -85.45947
[2026-03-21 07:27:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-21 07:27:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:27:15] [INFO]   -> Found value: 2026-03-21 02:21:40
[2026-03-21 07:27:15] [INFO]   -> Set field 'alarm' = "2026-03-21 02:21:40"
[2026-03-21 07:27:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:27:15] [INFO]   -> Found value: 2026-03-21 02:22:18
[2026-03-21 07:27:15] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:22:18"
[2026-03-21 07:27:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:27:15] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:15] [INFO]   -> Set field 'enroute' = "2026-03-21 02:27:10"
[2026-03-21 07:27:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:27:15] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:27:15] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:27:15] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 07:27:15] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 07:27:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:27:15] [INFO]   -> Found value: SQ11
[2026-03-21 07:27:15] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-21 07:27:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:27:15] [INFO]   -> Found value: 2026-03-21 02:27:06
[2026-03-21 07:27:15] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:27:06"
[2026-03-21 07:27:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:27:15] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:27:10"
[2026-03-21 07:27:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:27:15] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:27:15] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:27:15] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:27:15] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:27:15] [INFO]   -> Found value: 20260030463
[2026-03-21 07:27:15] [INFO]   -> Set field 'policeReportNumber' = "20260030463"
[2026-03-21 07:27:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:27:15] [INFO]   -> Found value: [EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03/21/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UN...
[2026-03-21 07:27:15] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:15] [INFO]   -> Set field 'cADLog' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:27:15] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 07:27:15] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 07:27:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:27:15] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 07:27:15] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 07:27:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:27:15] [INFO]   -> Found value: RD
[2026-03-21 07:27:15] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 07:27:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:27:15] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-21 07:27:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-21 07:27:15] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 07:27:15] [INFO] Concatenating street name and type
[2026-03-21 07:27:15] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 07:27:15] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-21 07:27:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000758","dispatchRunNumber":"2026000758","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-21 02:21:40","dispatched":"2026-03-21 02:22:18","enroute":"2026-03-21 02:27:10","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-21 02:27:06","timeenroutetoscene":"2026-03-21 02:27:10","policeReportNumber":"20260030463","dispatchNotes":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","cADLog":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-21 07:27:15] [INFO] Number of extracted fields: 23
[2026-03-21 07:27:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 07:27: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-21 07:27:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 07:27:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:27:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 07:27:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 07:27: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-21 07:27: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-21 07:27:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 07:27:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 07:27:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 07:27:15] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 07:27:16] [INFO] Found existing Dispatch with cADNumber '2026000758', ID: 69be472f426bf1ec2 - will update instead of create
[2026-03-21 07:27:16] [INFO] Updated existing Dispatches record with ID: 69be472f426bf1ec2
[2026-03-21 07:27:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030463_20260321_072714.XML
[2026-03-21 07:27:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714.XML
[2026-03-21 07:27:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714_1.XML
[2026-03-21 07:27:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714_1.XML for user: 68f1466aed072ad4a
[2026-03-21 07:27:16] [INFO] File size: 6564 bytes
[2026-03-21 07:27:16] [INFO] Created FTPFiles record with ID: 69be4854c89f02377
[2026-03-21 07:27:16] [INFO] About to extract fields from XML. File size: 6564 bytes
[2026-03-21 07:27:16] [INFO] Number of mappings: 28
[2026-03-21 07:27:16] [INFO] Starting XML parsing. Content length: 6564
[2026-03-21 07:27:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:27:16] [INFO] Processing 28 field mappings
[2026-03-21 07:27:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:27:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:27:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:27:16] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 07:27:16] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 07:27:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 07:27:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:27:16] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:27:16] [INFO]   -> Found value: 2026000758
[2026-03-21 07:27:16] [INFO]   -> Set field 'incidentInternalId' = "2026000758"
[2026-03-21 07:27:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000758"
[2026-03-21 07:27:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:27:16] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 07:27:16] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 07:27:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:27:16] [INFO]   -> Found value: 3572
[2026-03-21 07:27:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-21 07:27:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:27:16] [INFO]   -> Found value: TN
[2026-03-21 07:27:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:27:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:27:16] [INFO]   -> Found value: 38506
[2026-03-21 07:27:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:27:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:27:16] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:27:16] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:27:16] [INFO]   -> Found value: 36.11169
[2026-03-21 07:27:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-21 07:27:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:27:16] [INFO]   -> Found value: -85.45947
[2026-03-21 07:27:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-21 07:27:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:27:16] [INFO]   -> Found value: 2026-03-21 02:21:40
[2026-03-21 07:27:16] [INFO]   -> Set field 'alarm' = "2026-03-21 02:21:40"
[2026-03-21 07:27:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:27:16] [INFO]   -> Found value: 2026-03-21 02:22:18
[2026-03-21 07:27:16] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:22:18"
[2026-03-21 07:27:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:27:16] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:16] [INFO]   -> Set field 'enroute' = "2026-03-21 02:27:10"
[2026-03-21 07:27:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:27:16] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:27:16] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:27:16] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 07:27:16] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 07:27:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:27:16] [INFO]   -> Found value: SQ11
[2026-03-21 07:27:16] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-21 07:27:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:27:16] [INFO]   -> Found value: 2026-03-21 02:27:06
[2026-03-21 07:27:16] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:27:06"
[2026-03-21 07:27:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:27:16] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:27:10"
[2026-03-21 07:27:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:27:16] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:27:16] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:27:16] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:27:16] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:27:16] [INFO]   -> Found value: 20260030463
[2026-03-21 07:27:16] [INFO]   -> Set field 'policeReportNumber' = "20260030463"
[2026-03-21 07:27:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:27:16] [INFO]   -> Found value: [EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03/21/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UN...
[2026-03-21 07:27:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:16] [INFO]   -> Set field 'cADLog' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:27:16] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 07:27:16] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 07:27:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:27:16] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 07:27:16] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 07:27:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:27:16] [INFO]   -> Found value: RD
[2026-03-21 07:27:16] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 07:27:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:27:16] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-21 07:27:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-21 07:27:16] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 07:27:16] [INFO] Concatenating street name and type
[2026-03-21 07:27:16] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 07:27:16] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-21 07:27:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000758","dispatchRunNumber":"2026000758","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-21 02:21:40","dispatched":"2026-03-21 02:22:18","enroute":"2026-03-21 02:27:10","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-21 02:27:06","timeenroutetoscene":"2026-03-21 02:27:10","policeReportNumber":"20260030463","dispatchNotes":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","cADLog":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-21 07:27:16] [INFO] Number of extracted fields: 23
[2026-03-21 07:27:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 07:27:16] [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-21 07:27:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 07:27:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:27:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 07:27:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 07:27: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-21 07:27: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-21 07:27:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 07:27:17] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 07:27:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 07:27:17] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 07:27:17] [INFO] Found existing Dispatch with cADNumber '2026000758', ID: 69be472f426bf1ec2 - will update instead of create
[2026-03-21 07:27:18] [INFO] Updated existing Dispatches record with ID: 69be472f426bf1ec2
[2026-03-21 07:27:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030463_20260321_072714_1.XML
[2026-03-21 07:27:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072714_1.XML
[2026-03-21 07:27:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072717.XML
[2026-03-21 07:27:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072717.XML for user: 68f1466aed072ad4a
[2026-03-21 07:27:18] [INFO] File size: 6564 bytes
[2026-03-21 07:27:18] [INFO] Created FTPFiles record with ID: 69be4856680c95bd4
[2026-03-21 07:27:18] [INFO] About to extract fields from XML. File size: 6564 bytes
[2026-03-21 07:27:18] [INFO] Number of mappings: 28
[2026-03-21 07:27:18] [INFO] Starting XML parsing. Content length: 6564
[2026-03-21 07:27:18] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:27:18] [INFO] Processing 28 field mappings
[2026-03-21 07:27:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:27:18] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:27:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:27:18] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 07:27:18] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 07:27:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 07:27:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:27:18] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:27:18] [INFO]   -> Found value: 2026000758
[2026-03-21 07:27:18] [INFO]   -> Set field 'incidentInternalId' = "2026000758"
[2026-03-21 07:27:18] [INFO]   -> Set field 'dispatchRunNumber' = "2026000758"
[2026-03-21 07:27:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:27:18] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 07:27:18] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 07:27:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:27:18] [INFO]   -> Found value: 3572
[2026-03-21 07:27:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3572
[2026-03-21 07:27:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:27:18] [INFO]   -> Found value: TN
[2026-03-21 07:27:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:27:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:27:18] [INFO]   -> Found value: 38506
[2026-03-21 07:27:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:27:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:27:18] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:27:18] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:27:18] [INFO]   -> Found value: 36.11169
[2026-03-21 07:27:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11169000000000295358404400758445262908935546875
[2026-03-21 07:27:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:27:18] [INFO]   -> Found value: -85.45947
[2026-03-21 07:27:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4594699999999960482455207966268062591552734375
[2026-03-21 07:27:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:27:18] [INFO]   -> Found value: 2026-03-21 02:21:40
[2026-03-21 07:27:18] [INFO]   -> Set field 'alarm' = "2026-03-21 02:21:40"
[2026-03-21 07:27:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:27:18] [INFO]   -> Found value: 2026-03-21 02:22:18
[2026-03-21 07:27:18] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:22:18"
[2026-03-21 07:27:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:27:18] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:18] [INFO]   -> Set field 'enroute' = "2026-03-21 02:27:10"
[2026-03-21 07:27:18] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:27:18] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:18] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:27:18] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:18] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:27:18] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 07:27:18] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 07:27:18] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:27:18] [INFO]   -> Found value: SQ11
[2026-03-21 07:27:18] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-21 07:27:18] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:27:18] [INFO]   -> Found value: 2026-03-21 02:27:06
[2026-03-21 07:27:18] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:27:06"
[2026-03-21 07:27:18] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:27:18] [INFO]   -> Found value: 2026-03-21 02:27:10
[2026-03-21 07:27:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:27:10"
[2026-03-21 07:27:18] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:27:18] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:18] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:27:18] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:18] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:27:18] [INFO]   -> No value found (null or empty)
[2026-03-21 07:27:18] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:27:18] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:27:18] [INFO]   -> Found value: 20260030463
[2026-03-21 07:27:18] [INFO]   -> Set field 'policeReportNumber' = "20260030463"
[2026-03-21 07:27:18] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:27:18] [INFO]   -> Found value: [EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03/21/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UN...
[2026-03-21 07:27:18] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:18] [INFO]   -> Set field 'cADLog' = "[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]"
[2026-03-21 07:27:18] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:27:18] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 07:27:18] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 07:27:18] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:27:18] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 07:27:18] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 07:27:18] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:27:18] [INFO]   -> Found value: RD
[2026-03-21 07:27:18] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 07:27:18] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:27:18] [INFO]   -> Found value: 3572 SEVEN SPRINGS RD
[2026-03-21 07:27:18] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3572 SEVEN SPRINGS RD"
[2026-03-21 07:27:18] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 07:27:18] [INFO] Concatenating street name and type
[2026-03-21 07:27:18] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 07:27:18] [INFO] Built locationCoordinates from lat/lng: 36.11169,-85.45947
[2026-03-21 07:27:18] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000758","dispatchRunNumber":"2026000758","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3572,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11169000000000295358404400758445262908935546875,"nERISIncidentLongitude":-85.4594699999999960482455207966268062591552734375,"alarm":"2026-03-21 02:21:40","dispatched":"2026-03-21 02:22:18","enroute":"2026-03-21 02:27:10","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"SQ11","timedispatch":"2026-03-21 02:27:06","timeenroutetoscene":"2026-03-21 02:27:10","policeReportNumber":"20260030463","dispatchNotes":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","cADLog":"[EMS] RUBBING HIS CHEST AND THE PT IS NOT RESPONDING  [03\/21\/26 02:25:05 TSCOTT] [EMS] FRONT DOOR UNLOCKED - MAKE ENTRY THAT WAY  [03\/21\/26 02:23:38 TSCOTT] [EMS] TRYING TO CONTROL THE BLEEDING  [03\/21\/26 02:23:24 TSCOTT] [EMS] 75 YOM  [03\/21\/26 02:23:07 TSCOTT] [EMS] PT IS BREATHING BUT IT`S VERY SHALLOW  [03\/21\/26 02:23:04 TSCOTT] [EMS] PT IS ON BLOOD THINNERS  [03\/21\/26 02:22:49 TSCOTT] [EMS] UNRESPONSIVE  [03\/21\/26 02:21:48 TSCOTT] Event spawned from FALL VICTIM.  [03\/21\/2026 02:21:40 TSCOTT] BLEEDING FROM HIS HEAD  [03\/21\/26 02:21:35 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"3572 SEVEN SPRINGS RD","locationCoordinates":"36.11169,-85.45947"}
[2026-03-21 07:27:18] [INFO] Number of extracted fields: 23
[2026-03-21 07:27:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 07:27:18] [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-21 07:27:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 07:27:18] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:27:18] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 07:27:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 07:27: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-21 07:27: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-21 07:27:18] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 07:27:18] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 07:27:18] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 07:27:19] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 07:27:19] [INFO] Found existing Dispatch with cADNumber '2026000758', ID: 69be472f426bf1ec2 - will update instead of create
[2026-03-21 07:27:19] [INFO] Updated existing Dispatches record with ID: 69be472f426bf1ec2
[2026-03-21 07:27:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072717.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030463_20260321_072717.XML
[2026-03-21 07:27:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030463_20260321_072717.XML
[2026-03-21 07:37:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073722.XML
[2026-03-21 07:37:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073722.XML for user: 68f1466aed072ad4a
[2026-03-21 07:37:22] [INFO] File size: 5317 bytes
[2026-03-21 07:37:23] [INFO] Created FTPFiles record with ID: 69be4ab34e062039c
[2026-03-21 07:37:23] [INFO] About to extract fields from XML. File size: 5317 bytes
[2026-03-21 07:37:23] [INFO] Number of mappings: 28
[2026-03-21 07:37:23] [INFO] Starting XML parsing. Content length: 5317
[2026-03-21 07:37:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:37:23] [INFO] Processing 28 field mappings
[2026-03-21 07:37:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:37:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:37:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:37:23] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 07:37:23] [INFO]   -> Found value: AFD
EMS
[2026-03-21 07:37:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 07:37:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:37:23] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:37:23] [INFO]   -> Found value: 2026000115
[2026-03-21 07:37:23] [INFO]   -> Set field 'incidentInternalId' = "2026000115"
[2026-03-21 07:37:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000115"
[2026-03-21 07:37:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:37:23] [INFO]   -> Found value: OB / PREGNANCY / CHILDBIRTH
[2026-03-21 07:37:23] [INFO]   -> Set field 'incidentTypeValue1' = "OB \/ PREGNANCY \/ CHILDBIRTH"
[2026-03-21 07:37:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:37:23] [INFO]   -> Found value: 150
[2026-03-21 07:37:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 150
[2026-03-21 07:37:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:37:23] [INFO]   -> Found value: TN
[2026-03-21 07:37:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:37:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:37:23] [INFO]   -> Found value: 38506
[2026-03-21 07:37:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:37:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:37:23] [INFO]   -> Found value: BOWMAN,JOSHUS
[2026-03-21 07:37:23] [INFO]   -> Set field 'businessName' = "BOWMAN,JOSHUS"
[2026-03-21 07:37:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:37:23] [INFO]   -> Found value: 36.19648
[2026-03-21 07:37:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19648000000000109821485239081084728240966796875
[2026-03-21 07:37:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:37:23] [INFO]   -> Found value: -85.45133
[2026-03-21 07:37:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4513299999999986766852089203894138336181640625
[2026-03-21 07:37:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:37:23] [INFO]   -> Found value: 2026-03-21 02:36:43
[2026-03-21 07:37:23] [INFO]   -> Set field 'alarm' = "2026-03-21 02:36:43"
[2026-03-21 07:37:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:37:23] [INFO]   -> Found value: 2026-03-21 02:37:19
[2026-03-21 07:37:23] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:37:19"
[2026-03-21 07:37:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:37:23] [INFO]   -> Found value: W HIGH ST/DAVIS ST
[2026-03-21 07:37:23] [INFO]   -> Set field 'incidentLocationCross' = "W HIGH ST\/DAVIS ST"
[2026-03-21 07:37:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:37:23] [INFO]   -> Found value: AFR
[2026-03-21 07:37:23] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-21 07:37:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:37:23] [INFO]   -> Found value: 2026-03-21 02:37:19
[2026-03-21 07:37:23] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:37:19"
[2026-03-21 07:37:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:37:23] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:37:23] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:37:23] [INFO]   -> Found value: 20260030466
[2026-03-21 07:37:23] [INFO]   -> Set field 'policeReportNumber' = "20260030466"
[2026-03-21 07:37:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:37:23] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03/21/26 02:36:58 TSCOTT] Event spawned from OB / PR...
[2026-03-21 07:37:23] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:23] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:37:23] [INFO]   -> Found value: ALGOOD
[2026-03-21 07:37:23] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 07:37:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:37:23] [INFO]   -> Found value: EPPERSON
[2026-03-21 07:37:23] [INFO]   -> Set field 'streetName' = "EPPERSON"
[2026-03-21 07:37:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:37:23] [INFO]   -> Found value: AVE
[2026-03-21 07:37:23] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-21 07:37:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:37:23] [INFO]   -> Found value: 150 EPPERSON AVE
[2026-03-21 07:37:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "150 EPPERSON AVE"
[2026-03-21 07:37:23] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 07:37:23] [INFO] Concatenating street name and type
[2026-03-21 07:37:23] [INFO]   -> Combined street name: EPPERSON AVE
[2026-03-21 07:37:23] [INFO] Built locationCoordinates from lat/lng: 36.19648,-85.45133
[2026-03-21 07:37:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000115","dispatchRunNumber":"2026000115","incidentTypeValue1":"OB \/ PREGNANCY \/ CHILDBIRTH","incidentLocationStreetNumber":150,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BOWMAN,JOSHUS","nERISIncidentLatitude":36.19648000000000109821485239081084728240966796875,"nERISIncidentLongitude":-85.4513299999999986766852089203894138336181640625,"alarm":"2026-03-21 02:36:43","dispatched":"2026-03-21 02:37:19","incidentLocationCross":"W HIGH ST\/DAVIS ST","cADVehicleID":"AFR","timedispatch":"2026-03-21 02:37:19","policeReportNumber":"20260030466","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"EPPERSON AVE","incidentAddressTextVersionStreet":"150 EPPERSON AVE","locationCoordinates":"36.19648,-85.45133"}
[2026-03-21 07:37:23] [INFO] Number of extracted fields: 22
[2026-03-21 07:37:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 07:37:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 07:37:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 07:37:23] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:37:23] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 07:37:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 07:37:23] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 07:37:23] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 07:37:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 07:37:23] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 07:37:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 07:37:24] [INFO] Found existing IncidentTypeMapping with ID: 696278986896282bf
[2026-03-21 07:37:29] [INFO] Created new Dispatches record with ID: 69be4ab498133ced2
[2026-03-21 07:37:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073722.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030466_20260321_073722.XML
[2026-03-21 07:37:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073722.XML
[2026-03-21 07:37:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073751.XML
[2026-03-21 07:37:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073751.XML for user: 68f1466aed072ad4a
[2026-03-21 07:37:51] [INFO] File size: 6229 bytes
[2026-03-21 07:37:52] [INFO] Created FTPFiles record with ID: 69be4ad027f2d44b2
[2026-03-21 07:37:52] [INFO] About to extract fields from XML. File size: 6229 bytes
[2026-03-21 07:37:52] [INFO] Number of mappings: 28
[2026-03-21 07:37:52] [INFO] Starting XML parsing. Content length: 6229
[2026-03-21 07:37:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:37:52] [INFO] Processing 28 field mappings
[2026-03-21 07:37:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:37:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:37:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:37:52] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 07:37:52] [INFO]   -> Found value: AFD
EMS
[2026-03-21 07:37:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 07:37:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:37:52] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:37:52] [INFO]   -> Found value: 2026000115
[2026-03-21 07:37:52] [INFO]   -> Set field 'incidentInternalId' = "2026000115"
[2026-03-21 07:37:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000115"
[2026-03-21 07:37:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:37:52] [INFO]   -> Found value: OB / PREGNANCY / CHILDBIRTH
[2026-03-21 07:37:52] [INFO]   -> Set field 'incidentTypeValue1' = "OB \/ PREGNANCY \/ CHILDBIRTH"
[2026-03-21 07:37:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:37:52] [INFO]   -> Found value: 150
[2026-03-21 07:37:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 150
[2026-03-21 07:37:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:37:52] [INFO]   -> Found value: TN
[2026-03-21 07:37:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:37:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:37:52] [INFO]   -> Found value: 38506
[2026-03-21 07:37:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:37:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:37:52] [INFO]   -> Found value: BOWMAN,JOSHUS
[2026-03-21 07:37:52] [INFO]   -> Set field 'businessName' = "BOWMAN,JOSHUS"
[2026-03-21 07:37:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:37:52] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:37:52] [INFO]   -> Found value: 36.19648
[2026-03-21 07:37:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19648000000000109821485239081084728240966796875
[2026-03-21 07:37:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:37:52] [INFO]   -> Found value: -85.45133
[2026-03-21 07:37:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4513299999999986766852089203894138336181640625
[2026-03-21 07:37:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:37:52] [INFO]   -> Found value: 2026-03-21 02:36:43
[2026-03-21 07:37:52] [INFO]   -> Set field 'alarm' = "2026-03-21 02:36:43"
[2026-03-21 07:37:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:37:52] [INFO]   -> Found value: 2026-03-21 02:37:19
[2026-03-21 07:37:52] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:37:19"
[2026-03-21 07:37:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:37:52] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:52] [INFO]   -> Set field 'enroute' = "2026-03-21 02:37:45"
[2026-03-21 07:37:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:37:52] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:37:52] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:37:52] [INFO]   -> Found value: W HIGH ST/DAVIS ST
[2026-03-21 07:37:52] [INFO]   -> Set field 'incidentLocationCross' = "W HIGH ST\/DAVIS ST"
[2026-03-21 07:37:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:37:52] [INFO]   -> Found value: A1200
[2026-03-21 07:37:52] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 07:37:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:37:52] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:52] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:37:45"
[2026-03-21 07:37:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:37:52] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:37:45"
[2026-03-21 07:37:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:37:52] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:37:52] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:37:52] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:37:52] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:37:52] [INFO]   -> Found value: 20260030466
[2026-03-21 07:37:52] [INFO]   -> Set field 'policeReportNumber' = "20260030466"
[2026-03-21 07:37:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:37:52] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03/21/26 02:36:58 TSCOTT] Event spawned from OB / PR...
[2026-03-21 07:37:52] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:52] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:37:52] [INFO]   -> Found value: ALGOOD
[2026-03-21 07:37:52] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 07:37:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:37:52] [INFO]   -> Found value: EPPERSON
[2026-03-21 07:37:52] [INFO]   -> Set field 'streetName' = "EPPERSON"
[2026-03-21 07:37:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:37:52] [INFO]   -> Found value: AVE
[2026-03-21 07:37:52] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-21 07:37:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:37:52] [INFO]   -> Found value: 150 EPPERSON AVE
[2026-03-21 07:37:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "150 EPPERSON AVE"
[2026-03-21 07:37:52] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 07:37:52] [INFO] Concatenating street name and type
[2026-03-21 07:37:52] [INFO]   -> Combined street name: EPPERSON AVE
[2026-03-21 07:37:52] [INFO] Built locationCoordinates from lat/lng: 36.19648,-85.45133
[2026-03-21 07:37:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000115","dispatchRunNumber":"2026000115","incidentTypeValue1":"OB \/ PREGNANCY \/ CHILDBIRTH","incidentLocationStreetNumber":150,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BOWMAN,JOSHUS","nERISIncidentLatitude":36.19648000000000109821485239081084728240966796875,"nERISIncidentLongitude":-85.4513299999999986766852089203894138336181640625,"alarm":"2026-03-21 02:36:43","dispatched":"2026-03-21 02:37:19","enroute":"2026-03-21 02:37:45","incidentLocationCross":"W HIGH ST\/DAVIS ST","cADVehicleID":"A1200","timedispatch":"2026-03-21 02:37:45","timeenroutetoscene":"2026-03-21 02:37:45","policeReportNumber":"20260030466","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"EPPERSON AVE","incidentAddressTextVersionStreet":"150 EPPERSON AVE","locationCoordinates":"36.19648,-85.45133"}
[2026-03-21 07:37:52] [INFO] Number of extracted fields: 24
[2026-03-21 07:37:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 07:37:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 07:37:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 07:37:52] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:37:52] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 07:37:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 07:37:52] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 07:37:52] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 07:37:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 07:37:52] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 07:37:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 07:37:52] [INFO] Found existing IncidentTypeMapping with ID: 696278986896282bf
[2026-03-21 07:37:52] [INFO] Found existing Dispatch with cADNumber '2026000115', ID: 69be4ab498133ced2 - will update instead of create
[2026-03-21 07:37:53] [INFO] Updated existing Dispatches record with ID: 69be4ab498133ced2
[2026-03-21 07:37:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073751.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030466_20260321_073751.XML
[2026-03-21 07:37:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073751.XML
[2026-03-21 07:37:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754.XML
[2026-03-21 07:37:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754.XML for user: 68f1466aed072ad4a
[2026-03-21 07:37:54] [INFO] File size: 6229 bytes
[2026-03-21 07:37:54] [INFO] Created FTPFiles record with ID: 69be4ad2d87b48539
[2026-03-21 07:37:54] [INFO] About to extract fields from XML. File size: 6229 bytes
[2026-03-21 07:37:54] [INFO] Number of mappings: 28
[2026-03-21 07:37:54] [INFO] Starting XML parsing. Content length: 6229
[2026-03-21 07:37:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:37:54] [INFO] Processing 28 field mappings
[2026-03-21 07:37:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:37:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:37:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:37:54] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 07:37:54] [INFO]   -> Found value: AFD
EMS
[2026-03-21 07:37:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 07:37:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:37:54] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:37:54] [INFO]   -> Found value: 2026000115
[2026-03-21 07:37:54] [INFO]   -> Set field 'incidentInternalId' = "2026000115"
[2026-03-21 07:37:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000115"
[2026-03-21 07:37:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:37:54] [INFO]   -> Found value: OB / PREGNANCY / CHILDBIRTH
[2026-03-21 07:37:54] [INFO]   -> Set field 'incidentTypeValue1' = "OB \/ PREGNANCY \/ CHILDBIRTH"
[2026-03-21 07:37:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:37:54] [INFO]   -> Found value: 150
[2026-03-21 07:37:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 150
[2026-03-21 07:37:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:37:54] [INFO]   -> Found value: TN
[2026-03-21 07:37:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:37:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:37:54] [INFO]   -> Found value: 38506
[2026-03-21 07:37:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:37:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:37:54] [INFO]   -> Found value: BOWMAN,JOSHUS
[2026-03-21 07:37:54] [INFO]   -> Set field 'businessName' = "BOWMAN,JOSHUS"
[2026-03-21 07:37:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:37:54] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:37:54] [INFO]   -> Found value: 36.19648
[2026-03-21 07:37:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19648000000000109821485239081084728240966796875
[2026-03-21 07:37:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:37:54] [INFO]   -> Found value: -85.45133
[2026-03-21 07:37:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4513299999999986766852089203894138336181640625
[2026-03-21 07:37:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:37:54] [INFO]   -> Found value: 2026-03-21 02:36:43
[2026-03-21 07:37:54] [INFO]   -> Set field 'alarm' = "2026-03-21 02:36:43"
[2026-03-21 07:37:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:37:54] [INFO]   -> Found value: 2026-03-21 02:37:19
[2026-03-21 07:37:54] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:37:19"
[2026-03-21 07:37:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:37:54] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:54] [INFO]   -> Set field 'enroute' = "2026-03-21 02:37:45"
[2026-03-21 07:37:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:37:54] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:37:54] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:37:54] [INFO]   -> Found value: W HIGH ST/DAVIS ST
[2026-03-21 07:37:54] [INFO]   -> Set field 'incidentLocationCross' = "W HIGH ST\/DAVIS ST"
[2026-03-21 07:37:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:37:54] [INFO]   -> Found value: A1200
[2026-03-21 07:37:54] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 07:37:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:37:54] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:54] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:37:45"
[2026-03-21 07:37:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:37:54] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:37:45"
[2026-03-21 07:37:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:37:54] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:37:54] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:37:54] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:37:54] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:37:54] [INFO]   -> Found value: 20260030466
[2026-03-21 07:37:54] [INFO]   -> Set field 'policeReportNumber' = "20260030466"
[2026-03-21 07:37:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:37:54] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03/21/26 02:36:58 TSCOTT] Event spawned from OB / PR...
[2026-03-21 07:37:54] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:54] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:37:54] [INFO]   -> Found value: ALGOOD
[2026-03-21 07:37:54] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 07:37:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:37:54] [INFO]   -> Found value: EPPERSON
[2026-03-21 07:37:54] [INFO]   -> Set field 'streetName' = "EPPERSON"
[2026-03-21 07:37:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:37:54] [INFO]   -> Found value: AVE
[2026-03-21 07:37:54] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-21 07:37:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:37:54] [INFO]   -> Found value: 150 EPPERSON AVE
[2026-03-21 07:37:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "150 EPPERSON AVE"
[2026-03-21 07:37:54] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 07:37:54] [INFO] Concatenating street name and type
[2026-03-21 07:37:54] [INFO]   -> Combined street name: EPPERSON AVE
[2026-03-21 07:37:54] [INFO] Built locationCoordinates from lat/lng: 36.19648,-85.45133
[2026-03-21 07:37:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000115","dispatchRunNumber":"2026000115","incidentTypeValue1":"OB \/ PREGNANCY \/ CHILDBIRTH","incidentLocationStreetNumber":150,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BOWMAN,JOSHUS","nERISIncidentLatitude":36.19648000000000109821485239081084728240966796875,"nERISIncidentLongitude":-85.4513299999999986766852089203894138336181640625,"alarm":"2026-03-21 02:36:43","dispatched":"2026-03-21 02:37:19","enroute":"2026-03-21 02:37:45","incidentLocationCross":"W HIGH ST\/DAVIS ST","cADVehicleID":"A1200","timedispatch":"2026-03-21 02:37:45","timeenroutetoscene":"2026-03-21 02:37:45","policeReportNumber":"20260030466","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"EPPERSON AVE","incidentAddressTextVersionStreet":"150 EPPERSON AVE","locationCoordinates":"36.19648,-85.45133"}
[2026-03-21 07:37:54] [INFO] Number of extracted fields: 24
[2026-03-21 07:37:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 07:37:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 07:37:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 07:37:54] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:37:55] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 07:37:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 07:37:55] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 07:37:55] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 07:37:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 07:37:55] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 07:37:55] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 07:37:55] [INFO] Found existing IncidentTypeMapping with ID: 696278986896282bf
[2026-03-21 07:37:55] [INFO] Found existing Dispatch with cADNumber '2026000115', ID: 69be4ab498133ced2 - will update instead of create
[2026-03-21 07:37:55] [INFO] Updated existing Dispatches record with ID: 69be4ab498133ced2
[2026-03-21 07:37:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030466_20260321_073754.XML
[2026-03-21 07:37:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754.XML
[2026-03-21 07:37:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754_1.XML
[2026-03-21 07:37:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754_1.XML for user: 68f1466aed072ad4a
[2026-03-21 07:37:55] [INFO] File size: 6229 bytes
[2026-03-21 07:37:56] [INFO] Created FTPFiles record with ID: 69be4ad4250cf2c42
[2026-03-21 07:37:56] [INFO] About to extract fields from XML. File size: 6229 bytes
[2026-03-21 07:37:56] [INFO] Number of mappings: 28
[2026-03-21 07:37:56] [INFO] Starting XML parsing. Content length: 6229
[2026-03-21 07:37:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:37:56] [INFO] Processing 28 field mappings
[2026-03-21 07:37:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:37:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:37:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:37:56] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 07:37:56] [INFO]   -> Found value: AFD
EMS
[2026-03-21 07:37:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 07:37:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:37:56] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:37:56] [INFO]   -> Found value: 2026000115
[2026-03-21 07:37:56] [INFO]   -> Set field 'incidentInternalId' = "2026000115"
[2026-03-21 07:37:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000115"
[2026-03-21 07:37:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:37:56] [INFO]   -> Found value: OB / PREGNANCY / CHILDBIRTH
[2026-03-21 07:37:56] [INFO]   -> Set field 'incidentTypeValue1' = "OB \/ PREGNANCY \/ CHILDBIRTH"
[2026-03-21 07:37:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:37:56] [INFO]   -> Found value: 150
[2026-03-21 07:37:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 150
[2026-03-21 07:37:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:37:56] [INFO]   -> Found value: TN
[2026-03-21 07:37:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:37:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:37:56] [INFO]   -> Found value: 38506
[2026-03-21 07:37:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:37:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:37:56] [INFO]   -> Found value: BOWMAN,JOSHUS
[2026-03-21 07:37:56] [INFO]   -> Set field 'businessName' = "BOWMAN,JOSHUS"
[2026-03-21 07:37:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:37:56] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:37:56] [INFO]   -> Found value: 36.19648
[2026-03-21 07:37:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19648000000000109821485239081084728240966796875
[2026-03-21 07:37:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:37:56] [INFO]   -> Found value: -85.45133
[2026-03-21 07:37:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4513299999999986766852089203894138336181640625
[2026-03-21 07:37:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:37:56] [INFO]   -> Found value: 2026-03-21 02:36:43
[2026-03-21 07:37:56] [INFO]   -> Set field 'alarm' = "2026-03-21 02:36:43"
[2026-03-21 07:37:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:37:56] [INFO]   -> Found value: 2026-03-21 02:37:19
[2026-03-21 07:37:56] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:37:19"
[2026-03-21 07:37:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:37:56] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:56] [INFO]   -> Set field 'enroute' = "2026-03-21 02:37:45"
[2026-03-21 07:37:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:37:56] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:37:56] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:37:56] [INFO]   -> Found value: W HIGH ST/DAVIS ST
[2026-03-21 07:37:56] [INFO]   -> Set field 'incidentLocationCross' = "W HIGH ST\/DAVIS ST"
[2026-03-21 07:37:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:37:56] [INFO]   -> Found value: A1200
[2026-03-21 07:37:56] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 07:37:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:37:56] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:56] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:37:45"
[2026-03-21 07:37:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:37:56] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:37:45"
[2026-03-21 07:37:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:37:56] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:37:56] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:37:56] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:37:56] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:37:56] [INFO]   -> Found value: 20260030466
[2026-03-21 07:37:56] [INFO]   -> Set field 'policeReportNumber' = "20260030466"
[2026-03-21 07:37:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:37:56] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03/21/26 02:36:58 TSCOTT] Event spawned from OB / PR...
[2026-03-21 07:37:56] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:56] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:37:56] [INFO]   -> Found value: ALGOOD
[2026-03-21 07:37:56] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 07:37:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:37:56] [INFO]   -> Found value: EPPERSON
[2026-03-21 07:37:56] [INFO]   -> Set field 'streetName' = "EPPERSON"
[2026-03-21 07:37:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:37:56] [INFO]   -> Found value: AVE
[2026-03-21 07:37:56] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-21 07:37:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:37:56] [INFO]   -> Found value: 150 EPPERSON AVE
[2026-03-21 07:37:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "150 EPPERSON AVE"
[2026-03-21 07:37:56] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 07:37:56] [INFO] Concatenating street name and type
[2026-03-21 07:37:56] [INFO]   -> Combined street name: EPPERSON AVE
[2026-03-21 07:37:56] [INFO] Built locationCoordinates from lat/lng: 36.19648,-85.45133
[2026-03-21 07:37:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000115","dispatchRunNumber":"2026000115","incidentTypeValue1":"OB \/ PREGNANCY \/ CHILDBIRTH","incidentLocationStreetNumber":150,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BOWMAN,JOSHUS","nERISIncidentLatitude":36.19648000000000109821485239081084728240966796875,"nERISIncidentLongitude":-85.4513299999999986766852089203894138336181640625,"alarm":"2026-03-21 02:36:43","dispatched":"2026-03-21 02:37:19","enroute":"2026-03-21 02:37:45","incidentLocationCross":"W HIGH ST\/DAVIS ST","cADVehicleID":"A1200","timedispatch":"2026-03-21 02:37:45","timeenroutetoscene":"2026-03-21 02:37:45","policeReportNumber":"20260030466","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"EPPERSON AVE","incidentAddressTextVersionStreet":"150 EPPERSON AVE","locationCoordinates":"36.19648,-85.45133"}
[2026-03-21 07:37:56] [INFO] Number of extracted fields: 24
[2026-03-21 07:37:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 07:37:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 07:37:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 07:37:56] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:37:56] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 07:37:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 07:37:56] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 07:37:56] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 07:37:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 07:37:56] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 07:37:56] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 07:37:56] [INFO] Found existing IncidentTypeMapping with ID: 696278986896282bf
[2026-03-21 07:37:56] [INFO] Found existing Dispatch with cADNumber '2026000115', ID: 69be4ab498133ced2 - will update instead of create
[2026-03-21 07:37:57] [INFO] Updated existing Dispatches record with ID: 69be4ab498133ced2
[2026-03-21 07:37:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030466_20260321_073754_1.XML
[2026-03-21 07:37:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073754_1.XML
[2026-03-21 07:37:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073757.XML
[2026-03-21 07:37:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073757.XML for user: 68f1466aed072ad4a
[2026-03-21 07:37:57] [INFO] File size: 6229 bytes
[2026-03-21 07:37:57] [INFO] Created FTPFiles record with ID: 69be4ad5db8d3f8f9
[2026-03-21 07:37:57] [INFO] About to extract fields from XML. File size: 6229 bytes
[2026-03-21 07:37:57] [INFO] Number of mappings: 28
[2026-03-21 07:37:57] [INFO] Starting XML parsing. Content length: 6229
[2026-03-21 07:37:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 07:37:57] [INFO] Processing 28 field mappings
[2026-03-21 07:37:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 07:37:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 07:37:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 07:37:57] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 07:37:57] [INFO]   -> Found value: AFD
EMS
[2026-03-21 07:37:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 07:37:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 07:37:57] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 07:37:57] [INFO]   -> Found value: 2026000115
[2026-03-21 07:37:57] [INFO]   -> Set field 'incidentInternalId' = "2026000115"
[2026-03-21 07:37:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000115"
[2026-03-21 07:37:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 07:37:57] [INFO]   -> Found value: OB / PREGNANCY / CHILDBIRTH
[2026-03-21 07:37:57] [INFO]   -> Set field 'incidentTypeValue1' = "OB \/ PREGNANCY \/ CHILDBIRTH"
[2026-03-21 07:37:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 07:37:57] [INFO]   -> Found value: 150
[2026-03-21 07:37:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 150
[2026-03-21 07:37:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 07:37:57] [INFO]   -> Found value: TN
[2026-03-21 07:37:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 07:37:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 07:37:57] [INFO]   -> Found value: 38506
[2026-03-21 07:37:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 07:37:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 07:37:57] [INFO]   -> Found value: BOWMAN,JOSHUS
[2026-03-21 07:37:57] [INFO]   -> Set field 'businessName' = "BOWMAN,JOSHUS"
[2026-03-21 07:37:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 07:37:57] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 07:37:57] [INFO]   -> Found value: 36.19648
[2026-03-21 07:37:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19648000000000109821485239081084728240966796875
[2026-03-21 07:37:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 07:37:57] [INFO]   -> Found value: -85.45133
[2026-03-21 07:37:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4513299999999986766852089203894138336181640625
[2026-03-21 07:37:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 07:37:57] [INFO]   -> Found value: 2026-03-21 02:36:43
[2026-03-21 07:37:57] [INFO]   -> Set field 'alarm' = "2026-03-21 02:36:43"
[2026-03-21 07:37:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 07:37:57] [INFO]   -> Found value: 2026-03-21 02:37:19
[2026-03-21 07:37:57] [INFO]   -> Set field 'dispatched' = "2026-03-21 02:37:19"
[2026-03-21 07:37:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 07:37:57] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:57] [INFO]   -> Set field 'enroute' = "2026-03-21 02:37:45"
[2026-03-21 07:37:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 07:37:57] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 07:37:57] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 07:37:57] [INFO]   -> Found value: W HIGH ST/DAVIS ST
[2026-03-21 07:37:57] [INFO]   -> Set field 'incidentLocationCross' = "W HIGH ST\/DAVIS ST"
[2026-03-21 07:37:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 07:37:57] [INFO]   -> Found value: A1200
[2026-03-21 07:37:57] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 07:37:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 07:37:57] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:57] [INFO]   -> Set field 'timedispatch' = "2026-03-21 02:37:45"
[2026-03-21 07:37:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 07:37:57] [INFO]   -> Found value: 2026-03-21 02:37:45
[2026-03-21 07:37:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 02:37:45"
[2026-03-21 07:37:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 07:37:57] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 07:37:57] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 07:37:57] [INFO]   -> No value found (null or empty)
[2026-03-21 07:37:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 07:37:57] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 07:37:57] [INFO]   -> Found value: 20260030466
[2026-03-21 07:37:57] [INFO]   -> Set field 'policeReportNumber' = "20260030466"
[2026-03-21 07:37:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 07:37:57] [INFO]   -> Found value: [EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03/21/26 02:36:58 TSCOTT] Event spawned from OB / PR...
[2026-03-21 07:37:57] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:57] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]"
[2026-03-21 07:37:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 07:37:57] [INFO]   -> Found value: ALGOOD
[2026-03-21 07:37:57] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 07:37:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 07:37:57] [INFO]   -> Found value: EPPERSON
[2026-03-21 07:37:57] [INFO]   -> Set field 'streetName' = "EPPERSON"
[2026-03-21 07:37:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 07:37:57] [INFO]   -> Found value: AVE
[2026-03-21 07:37:57] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-21 07:37:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 07:37:57] [INFO]   -> Found value: 150 EPPERSON AVE
[2026-03-21 07:37:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "150 EPPERSON AVE"
[2026-03-21 07:37:57] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 07:37:57] [INFO] Concatenating street name and type
[2026-03-21 07:37:57] [INFO]   -> Combined street name: EPPERSON AVE
[2026-03-21 07:37:57] [INFO] Built locationCoordinates from lat/lng: 36.19648,-85.45133
[2026-03-21 07:37:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000115","dispatchRunNumber":"2026000115","incidentTypeValue1":"OB \/ PREGNANCY \/ CHILDBIRTH","incidentLocationStreetNumber":150,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BOWMAN,JOSHUS","nERISIncidentLatitude":36.19648000000000109821485239081084728240966796875,"nERISIncidentLongitude":-85.4513299999999986766852089203894138336181640625,"alarm":"2026-03-21 02:36:43","dispatched":"2026-03-21 02:37:19","enroute":"2026-03-21 02:37:45","incidentLocationCross":"W HIGH ST\/DAVIS ST","cADVehicleID":"A1200","timedispatch":"2026-03-21 02:37:45","timeenroutetoscene":"2026-03-21 02:37:45","policeReportNumber":"20260030466","dispatchNotes":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","cADLog":"[EMS] FRONT DOOR UNLOCKED - PORCH LIGHT IS ON  [03\/21\/26 02:36:58 TSCOTT] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [03\/21\/2026 02:36:43 TSCOTT] 1ST PREGNANCY  [03\/21\/26 02:36:38 TSCOTT] NOT BLEEDING  [03\/21\/26 02:36:34 TSCOTT] 10 WEEKS PREGNANT  [03\/21\/26 02:36:26 TSCOTT] LOWER ABDOMINAL PAIN  BACK PAIN  AND DIZZINESS  19 YOF  [03\/21\/26 02:36:04 TSCOTT]","incidentLocationCity":"ALGOOD","streetName":"EPPERSON AVE","incidentAddressTextVersionStreet":"150 EPPERSON AVE","locationCoordinates":"36.19648,-85.45133"}
[2026-03-21 07:37:57] [INFO] Number of extracted fields: 24
[2026-03-21 07:37:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 07:37:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 07:37:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 07:37:57] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 07:37:58] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 07:37:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 07:37:58] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 07:37:58] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 07:37:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 07:37:58] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 07:37:58] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 07:37:58] [INFO] Found existing IncidentTypeMapping with ID: 696278986896282bf
[2026-03-21 07:37:58] [INFO] Found existing Dispatch with cADNumber '2026000115', ID: 69be4ab498133ced2 - will update instead of create
[2026-03-21 07:37:58] [INFO] Updated existing Dispatches record with ID: 69be4ab498133ced2
[2026-03-21 07:37:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073757.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030466_20260321_073757.XML
[2026-03-21 07:37:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030466_20260321_073757.XML
[2026-03-21 09:15:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_091528.XML
[2026-03-21 09:15:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_091528.XML for user: 68f1466aed072ad4a
[2026-03-21 09:15:28] [INFO] File size: 5339 bytes
[2026-03-21 09:15:28] [INFO] Created FTPFiles record with ID: 69be61b07722d7623
[2026-03-21 09:15:28] [INFO] About to extract fields from XML. File size: 5339 bytes
[2026-03-21 09:15:28] [INFO] Number of mappings: 28
[2026-03-21 09:15:28] [INFO] Starting XML parsing. Content length: 5339
[2026-03-21 09:15:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 09:15:28] [INFO] Processing 28 field mappings
[2026-03-21 09:15:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 09:15:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 09:15:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 09:15:28] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 09:15:28] [INFO]   -> Found value: AFD
EMS
[2026-03-21 09:15:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 09:15:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 09:15:28] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 09:15:28] [INFO]   -> Found value: 2026000116
[2026-03-21 09:15:28] [INFO]   -> Set field 'incidentInternalId' = "2026000116"
[2026-03-21 09:15:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000116"
[2026-03-21 09:15:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 09:15:28] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 09:15:28] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 09:15:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 09:15:28] [INFO]   -> Found value: 4927
[2026-03-21 09:15:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4927
[2026-03-21 09:15:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 09:15:28] [INFO]   -> Found value: TN
[2026-03-21 09:15:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 09:15:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 09:15:28] [INFO]   -> Found value: 38506
[2026-03-21 09:15:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 09:15:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 09:15:28] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-21 09:15:28] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-21 09:15:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 09:15:28] [INFO]   -> No value found (null or empty)
[2026-03-21 09:15:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 09:15:28] [INFO]   -> Found value: 36.21019
[2026-03-21 09:15:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2101899999999972123987390659749507904052734375
[2026-03-21 09:15:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 09:15:28] [INFO]   -> Found value: -85.42593
[2026-03-21 09:15:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4259299999999939245753921568393707275390625
[2026-03-21 09:15:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 09:15:28] [INFO]   -> Found value: 2026-03-21 04:14:17
[2026-03-21 09:15:28] [INFO]   -> Set field 'alarm' = "2026-03-21 04:14:17"
[2026-03-21 09:15:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 09:15:28] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:15:28] [INFO]   -> Set field 'dispatched' = "2026-03-21 04:15:23"
[2026-03-21 09:15:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 09:15:28] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:15:28] [INFO]   -> Set field 'enroute' = "2026-03-21 04:15:23"
[2026-03-21 09:15:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 09:15:28] [INFO]   -> No value found (null or empty)
[2026-03-21 09:15:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 09:15:28] [INFO]   -> No value found (null or empty)
[2026-03-21 09:15:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 09:15:28] [INFO]   -> Found value: HWY 111 N/CHIMNEY SPRINGS RD
[2026-03-21 09:15:28] [INFO]   -> Set field 'incidentLocationCross' = "HWY 111 N\/CHIMNEY SPRINGS RD"
[2026-03-21 09:15:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 09:15:28] [INFO]   -> Found value: A1200
[2026-03-21 09:15:28] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 09:15:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 09:15:28] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:15:28] [INFO]   -> Set field 'timedispatch' = "2026-03-21 04:15:23"
[2026-03-21 09:15:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 09:15:28] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:15:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 04:15:23"
[2026-03-21 09:15:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 09:15:28] [INFO]   -> No value found (null or empty)
[2026-03-21 09:15:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 09:15:28] [INFO]   -> No value found (null or empty)
[2026-03-21 09:15:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 09:15:28] [INFO]   -> No value found (null or empty)
[2026-03-21 09:15:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 09:15:28] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 09:15:28] [INFO]   -> Found value: 20260030481
[2026-03-21 09:15:28] [INFO]   -> Set field 'policeReportNumber' = "20260030481"
[2026-03-21 09:15:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 09:15:28] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/21/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE ME...
[2026-03-21 09:15:28] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:15:28] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:15:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 09:15:28] [INFO]   -> Found value: ALGOOD
[2026-03-21 09:15:28] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 09:15:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 09:15:28] [INFO]   -> Found value: OLD
[2026-03-21 09:15:28] [INFO]   -> Set field 'streetName' = "OLD"
[2026-03-21 09:15:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 09:15:28] [INFO]   -> Found value: HWY
[2026-03-21 09:15:28] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 09:15:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 09:15:28] [INFO]   -> Found value: 4927 OLD HWY 42
[2026-03-21 09:15:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4927 OLD HWY 42"
[2026-03-21 09:15:28] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 09:15:28] [INFO] Concatenating street name and type
[2026-03-21 09:15:28] [INFO]   -> Combined street name: OLD HWY
[2026-03-21 09:15:28] [INFO] Built locationCoordinates from lat/lng: 36.21019,-85.42593
[2026-03-21 09:15:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000116","dispatchRunNumber":"2026000116","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4927,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ABSOLUTE CARE","nERISIncidentLatitude":36.2101899999999972123987390659749507904052734375,"nERISIncidentLongitude":-85.4259299999999939245753921568393707275390625,"alarm":"2026-03-21 04:14:17","dispatched":"2026-03-21 04:15:23","enroute":"2026-03-21 04:15:23","incidentLocationCross":"HWY 111 N\/CHIMNEY SPRINGS RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 04:15:23","timeenroutetoscene":"2026-03-21 04:15:23","policeReportNumber":"20260030481","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","incidentLocationCity":"ALGOOD","streetName":"OLD HWY","incidentAddressTextVersionStreet":"4927 OLD HWY 42","locationCoordinates":"36.21019,-85.42593"}
[2026-03-21 09:15:28] [INFO] Number of extracted fields: 24
[2026-03-21 09:15:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 09:15:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 09:15:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 09:15:28] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 09:15:28] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 09:15:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 09:15:28] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 09:15:28] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 09:15:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 09:15:28] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 09:15:29] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 09:15:29] [INFO] Found existing IncidentTypeMapping with ID: 694d8ba84e4f3a45a
[2026-03-21 09:15:34] [INFO] Created new Dispatches record with ID: 69be61b1c12d16275
[2026-03-21 09:15:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_091528.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030481_20260321_091528.XML
[2026-03-21 09:15:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_091528.XML
[2026-03-21 09:22:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092202.XML
[2026-03-21 09:22:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092202.XML for user: 68f1466aed072ad4a
[2026-03-21 09:22:02] [INFO] File size: 5446 bytes
[2026-03-21 09:22:02] [INFO] Created FTPFiles record with ID: 69be633a7b50bc056
[2026-03-21 09:22:02] [INFO] About to extract fields from XML. File size: 5446 bytes
[2026-03-21 09:22:02] [INFO] Number of mappings: 28
[2026-03-21 09:22:02] [INFO] Starting XML parsing. Content length: 5446
[2026-03-21 09:22:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 09:22:02] [INFO] Processing 28 field mappings
[2026-03-21 09:22:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 09:22:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 09:22:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 09:22:02] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 09:22:02] [INFO]   -> Found value: AFD
EMS
[2026-03-21 09:22:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 09:22:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 09:22:02] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026000116
[2026-03-21 09:22:02] [INFO]   -> Set field 'incidentInternalId' = "2026000116"
[2026-03-21 09:22:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000116"
[2026-03-21 09:22:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 09:22:02] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 09:22:02] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 09:22:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 09:22:02] [INFO]   -> Found value: 4927
[2026-03-21 09:22:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4927
[2026-03-21 09:22:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 09:22:02] [INFO]   -> Found value: TN
[2026-03-21 09:22:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 09:22:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 09:22:02] [INFO]   -> Found value: 38506
[2026-03-21 09:22:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 09:22:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 09:22:02] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-21 09:22:02] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-21 09:22:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 09:22:02] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 09:22:02] [INFO]   -> Found value: 36.21019
[2026-03-21 09:22:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2101899999999972123987390659749507904052734375
[2026-03-21 09:22:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 09:22:02] [INFO]   -> Found value: -85.42593
[2026-03-21 09:22:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4259299999999939245753921568393707275390625
[2026-03-21 09:22:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026-03-21 04:14:17
[2026-03-21 09:22:02] [INFO]   -> Set field 'alarm' = "2026-03-21 04:14:17"
[2026-03-21 09:22:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:02] [INFO]   -> Set field 'dispatched' = "2026-03-21 04:15:23"
[2026-03-21 09:22:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:02] [INFO]   -> Set field 'enroute' = "2026-03-21 04:15:23"
[2026-03-21 09:22:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:02] [INFO]   -> Set field 'onScene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 09:22:02] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 09:22:02] [INFO]   -> Found value: HWY 111 N/CHIMNEY SPRINGS RD
[2026-03-21 09:22:02] [INFO]   -> Set field 'incidentLocationCross' = "HWY 111 N\/CHIMNEY SPRINGS RD"
[2026-03-21 09:22:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 09:22:02] [INFO]   -> Found value: A1200
[2026-03-21 09:22:02] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 09:22:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:02] [INFO]   -> Set field 'timedispatch' = "2026-03-21 04:15:23"
[2026-03-21 09:22:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 04:15:23"
[2026-03-21 09:22:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 09:22:02] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:02] [INFO]   -> Set field 'timeonscene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 09:22:02] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 09:22:02] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 09:22:02] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 09:22:02] [INFO]   -> Found value: 20260030481
[2026-03-21 09:22:02] [INFO]   -> Set field 'policeReportNumber' = "20260030481"
[2026-03-21 09:22:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 09:22:02] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/21/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE ME...
[2026-03-21 09:22:02] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:02] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 09:22:02] [INFO]   -> Found value: ALGOOD
[2026-03-21 09:22:02] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 09:22:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 09:22:02] [INFO]   -> Found value: OLD
[2026-03-21 09:22:02] [INFO]   -> Set field 'streetName' = "OLD"
[2026-03-21 09:22:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 09:22:02] [INFO]   -> Found value: HWY
[2026-03-21 09:22:02] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 09:22:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 09:22:02] [INFO]   -> Found value: 4927 OLD HWY 42
[2026-03-21 09:22:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4927 OLD HWY 42"
[2026-03-21 09:22:02] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-21 09:22:02] [INFO] Concatenating street name and type
[2026-03-21 09:22:02] [INFO]   -> Combined street name: OLD HWY
[2026-03-21 09:22:02] [INFO] Built locationCoordinates from lat/lng: 36.21019,-85.42593
[2026-03-21 09:22:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000116","dispatchRunNumber":"2026000116","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4927,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ABSOLUTE CARE","nERISIncidentLatitude":36.2101899999999972123987390659749507904052734375,"nERISIncidentLongitude":-85.4259299999999939245753921568393707275390625,"alarm":"2026-03-21 04:14:17","dispatched":"2026-03-21 04:15:23","enroute":"2026-03-21 04:15:23","onScene":"2026-03-21 04:21:59","incidentLocationCross":"HWY 111 N\/CHIMNEY SPRINGS RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 04:15:23","timeenroutetoscene":"2026-03-21 04:15:23","timeonscene":"2026-03-21 04:21:59","policeReportNumber":"20260030481","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","incidentLocationCity":"ALGOOD","streetName":"OLD HWY","incidentAddressTextVersionStreet":"4927 OLD HWY 42","locationCoordinates":"36.21019,-85.42593"}
[2026-03-21 09:22:02] [INFO] Number of extracted fields: 26
[2026-03-21 09:22:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 09:22:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 09:22:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 09:22:02] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 09:22:02] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 09:22:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 09:22:02] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 09:22:02] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 09:22:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 09:22:02] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 09:22:03] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 09:22:03] [INFO] Found existing IncidentTypeMapping with ID: 694d8ba84e4f3a45a
[2026-03-21 09:22:03] [INFO] Found existing Dispatch with cADNumber '2026000116', ID: 69be61b1c12d16275 - will update instead of create
[2026-03-21 09:22:03] [INFO] Updated existing Dispatches record with ID: 69be61b1c12d16275
[2026-03-21 09:22:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092202.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030481_20260321_092202.XML
[2026-03-21 09:22:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092202.XML
[2026-03-21 09:22:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092203.XML
[2026-03-21 09:22:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092203.XML for user: 68f1466aed072ad4a
[2026-03-21 09:22:03] [INFO] File size: 5446 bytes
[2026-03-21 09:22:04] [INFO] Created FTPFiles record with ID: 69be633c54f6a2a99
[2026-03-21 09:22:04] [INFO] About to extract fields from XML. File size: 5446 bytes
[2026-03-21 09:22:04] [INFO] Number of mappings: 28
[2026-03-21 09:22:04] [INFO] Starting XML parsing. Content length: 5446
[2026-03-21 09:22:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 09:22:04] [INFO] Processing 28 field mappings
[2026-03-21 09:22:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 09:22:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 09:22:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 09:22:04] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 09:22:04] [INFO]   -> Found value: AFD
EMS
[2026-03-21 09:22:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 09:22:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 09:22:04] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026000116
[2026-03-21 09:22:04] [INFO]   -> Set field 'incidentInternalId' = "2026000116"
[2026-03-21 09:22:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000116"
[2026-03-21 09:22:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 09:22:04] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 09:22:04] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 09:22:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 09:22:04] [INFO]   -> Found value: 4927
[2026-03-21 09:22:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4927
[2026-03-21 09:22:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 09:22:04] [INFO]   -> Found value: TN
[2026-03-21 09:22:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 09:22:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 09:22:04] [INFO]   -> Found value: 38506
[2026-03-21 09:22:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 09:22:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 09:22:04] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-21 09:22:04] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-21 09:22:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 09:22:04] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 09:22:04] [INFO]   -> Found value: 36.21019
[2026-03-21 09:22:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2101899999999972123987390659749507904052734375
[2026-03-21 09:22:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 09:22:04] [INFO]   -> Found value: -85.42593
[2026-03-21 09:22:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4259299999999939245753921568393707275390625
[2026-03-21 09:22:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026-03-21 04:14:17
[2026-03-21 09:22:04] [INFO]   -> Set field 'alarm' = "2026-03-21 04:14:17"
[2026-03-21 09:22:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:04] [INFO]   -> Set field 'dispatched' = "2026-03-21 04:15:23"
[2026-03-21 09:22:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:04] [INFO]   -> Set field 'enroute' = "2026-03-21 04:15:23"
[2026-03-21 09:22:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:04] [INFO]   -> Set field 'onScene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 09:22:04] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 09:22:04] [INFO]   -> Found value: HWY 111 N/CHIMNEY SPRINGS RD
[2026-03-21 09:22:04] [INFO]   -> Set field 'incidentLocationCross' = "HWY 111 N\/CHIMNEY SPRINGS RD"
[2026-03-21 09:22:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 09:22:04] [INFO]   -> Found value: A1200
[2026-03-21 09:22:04] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 09:22:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:04] [INFO]   -> Set field 'timedispatch' = "2026-03-21 04:15:23"
[2026-03-21 09:22:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:04] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 04:15:23"
[2026-03-21 09:22:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 09:22:04] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:04] [INFO]   -> Set field 'timeonscene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 09:22:04] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 09:22:04] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 09:22:04] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 09:22:04] [INFO]   -> Found value: 20260030481
[2026-03-21 09:22:04] [INFO]   -> Set field 'policeReportNumber' = "20260030481"
[2026-03-21 09:22:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 09:22:04] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/21/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE ME...
[2026-03-21 09:22:04] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:04] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 09:22:04] [INFO]   -> Found value: ALGOOD
[2026-03-21 09:22:04] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 09:22:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 09:22:04] [INFO]   -> Found value: OLD
[2026-03-21 09:22:04] [INFO]   -> Set field 'streetName' = "OLD"
[2026-03-21 09:22:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 09:22:04] [INFO]   -> Found value: HWY
[2026-03-21 09:22:04] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 09:22:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 09:22:04] [INFO]   -> Found value: 4927 OLD HWY 42
[2026-03-21 09:22:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4927 OLD HWY 42"
[2026-03-21 09:22:04] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-21 09:22:04] [INFO] Concatenating street name and type
[2026-03-21 09:22:04] [INFO]   -> Combined street name: OLD HWY
[2026-03-21 09:22:04] [INFO] Built locationCoordinates from lat/lng: 36.21019,-85.42593
[2026-03-21 09:22:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000116","dispatchRunNumber":"2026000116","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4927,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ABSOLUTE CARE","nERISIncidentLatitude":36.2101899999999972123987390659749507904052734375,"nERISIncidentLongitude":-85.4259299999999939245753921568393707275390625,"alarm":"2026-03-21 04:14:17","dispatched":"2026-03-21 04:15:23","enroute":"2026-03-21 04:15:23","onScene":"2026-03-21 04:21:59","incidentLocationCross":"HWY 111 N\/CHIMNEY SPRINGS RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 04:15:23","timeenroutetoscene":"2026-03-21 04:15:23","timeonscene":"2026-03-21 04:21:59","policeReportNumber":"20260030481","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","incidentLocationCity":"ALGOOD","streetName":"OLD HWY","incidentAddressTextVersionStreet":"4927 OLD HWY 42","locationCoordinates":"36.21019,-85.42593"}
[2026-03-21 09:22:04] [INFO] Number of extracted fields: 26
[2026-03-21 09:22:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 09:22:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 09:22:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 09:22:04] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 09:22:04] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 09:22:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 09:22:04] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 09:22:04] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 09:22:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 09:22:04] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 09:22:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 09:22:05] [INFO] Found existing IncidentTypeMapping with ID: 694d8ba84e4f3a45a
[2026-03-21 09:22:05] [INFO] Found existing Dispatch with cADNumber '2026000116', ID: 69be61b1c12d16275 - will update instead of create
[2026-03-21 09:22:05] [INFO] Updated existing Dispatches record with ID: 69be61b1c12d16275
[2026-03-21 09:22:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092203.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030481_20260321_092203.XML
[2026-03-21 09:22:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092203.XML
[2026-03-21 09:22:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092204.XML
[2026-03-21 09:22:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092204.XML for user: 68f1466aed072ad4a
[2026-03-21 09:22:05] [INFO] File size: 5446 bytes
[2026-03-21 09:22:06] [INFO] Created FTPFiles record with ID: 69be633e2049476a7
[2026-03-21 09:22:06] [INFO] About to extract fields from XML. File size: 5446 bytes
[2026-03-21 09:22:06] [INFO] Number of mappings: 28
[2026-03-21 09:22:06] [INFO] Starting XML parsing. Content length: 5446
[2026-03-21 09:22:06] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 09:22:06] [INFO] Processing 28 field mappings
[2026-03-21 09:22:06] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 09:22:06] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 09:22:06] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 09:22:06] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 09:22:06] [INFO]   -> Found value: AFD
EMS
[2026-03-21 09:22:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 09:22:06] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 09:22:06] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026000116
[2026-03-21 09:22:06] [INFO]   -> Set field 'incidentInternalId' = "2026000116"
[2026-03-21 09:22:06] [INFO]   -> Set field 'dispatchRunNumber' = "2026000116"
[2026-03-21 09:22:06] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 09:22:06] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 09:22:06] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 09:22:06] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 09:22:06] [INFO]   -> Found value: 4927
[2026-03-21 09:22:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4927
[2026-03-21 09:22:06] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 09:22:06] [INFO]   -> Found value: TN
[2026-03-21 09:22:06] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 09:22:06] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 09:22:06] [INFO]   -> Found value: 38506
[2026-03-21 09:22:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 09:22:06] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 09:22:06] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-21 09:22:06] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-21 09:22:06] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 09:22:06] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:06] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 09:22:06] [INFO]   -> Found value: 36.21019
[2026-03-21 09:22:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2101899999999972123987390659749507904052734375
[2026-03-21 09:22:06] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 09:22:06] [INFO]   -> Found value: -85.42593
[2026-03-21 09:22:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4259299999999939245753921568393707275390625
[2026-03-21 09:22:06] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026-03-21 04:14:17
[2026-03-21 09:22:06] [INFO]   -> Set field 'alarm' = "2026-03-21 04:14:17"
[2026-03-21 09:22:06] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:06] [INFO]   -> Set field 'dispatched' = "2026-03-21 04:15:23"
[2026-03-21 09:22:06] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:06] [INFO]   -> Set field 'enroute' = "2026-03-21 04:15:23"
[2026-03-21 09:22:06] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:06] [INFO]   -> Set field 'onScene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:06] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 09:22:06] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:06] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 09:22:06] [INFO]   -> Found value: HWY 111 N/CHIMNEY SPRINGS RD
[2026-03-21 09:22:06] [INFO]   -> Set field 'incidentLocationCross' = "HWY 111 N\/CHIMNEY SPRINGS RD"
[2026-03-21 09:22:06] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 09:22:06] [INFO]   -> Found value: A1200
[2026-03-21 09:22:06] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 09:22:06] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:06] [INFO]   -> Set field 'timedispatch' = "2026-03-21 04:15:23"
[2026-03-21 09:22:06] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:06] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 04:15:23"
[2026-03-21 09:22:06] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 09:22:06] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:06] [INFO]   -> Set field 'timeonscene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:06] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 09:22:06] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:06] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 09:22:06] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:06] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 09:22:06] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 09:22:06] [INFO]   -> Found value: 20260030481
[2026-03-21 09:22:06] [INFO]   -> Set field 'policeReportNumber' = "20260030481"
[2026-03-21 09:22:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 09:22:06] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/21/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE ME...
[2026-03-21 09:22:06] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:06] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 09:22:06] [INFO]   -> Found value: ALGOOD
[2026-03-21 09:22:06] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 09:22:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 09:22:06] [INFO]   -> Found value: OLD
[2026-03-21 09:22:06] [INFO]   -> Set field 'streetName' = "OLD"
[2026-03-21 09:22:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 09:22:06] [INFO]   -> Found value: HWY
[2026-03-21 09:22:06] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 09:22:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 09:22:06] [INFO]   -> Found value: 4927 OLD HWY 42
[2026-03-21 09:22:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4927 OLD HWY 42"
[2026-03-21 09:22:06] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-21 09:22:06] [INFO] Concatenating street name and type
[2026-03-21 09:22:06] [INFO]   -> Combined street name: OLD HWY
[2026-03-21 09:22:06] [INFO] Built locationCoordinates from lat/lng: 36.21019,-85.42593
[2026-03-21 09:22:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000116","dispatchRunNumber":"2026000116","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4927,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ABSOLUTE CARE","nERISIncidentLatitude":36.2101899999999972123987390659749507904052734375,"nERISIncidentLongitude":-85.4259299999999939245753921568393707275390625,"alarm":"2026-03-21 04:14:17","dispatched":"2026-03-21 04:15:23","enroute":"2026-03-21 04:15:23","onScene":"2026-03-21 04:21:59","incidentLocationCross":"HWY 111 N\/CHIMNEY SPRINGS RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 04:15:23","timeenroutetoscene":"2026-03-21 04:15:23","timeonscene":"2026-03-21 04:21:59","policeReportNumber":"20260030481","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","incidentLocationCity":"ALGOOD","streetName":"OLD HWY","incidentAddressTextVersionStreet":"4927 OLD HWY 42","locationCoordinates":"36.21019,-85.42593"}
[2026-03-21 09:22:06] [INFO] Number of extracted fields: 26
[2026-03-21 09:22:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 09:22:06] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 09:22:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 09:22:06] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 09:22:06] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 09:22:06] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 09:22:06] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 09:22:06] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 09:22:06] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 09:22:06] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 09:22:06] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 09:22:07] [INFO] Found existing IncidentTypeMapping with ID: 694d8ba84e4f3a45a
[2026-03-21 09:22:07] [INFO] Found existing Dispatch with cADNumber '2026000116', ID: 69be61b1c12d16275 - will update instead of create
[2026-03-21 09:22:07] [INFO] Updated existing Dispatches record with ID: 69be61b1c12d16275
[2026-03-21 09:22:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092204.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030481_20260321_092204.XML
[2026-03-21 09:22:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092204.XML
[2026-03-21 09:22:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092205.XML
[2026-03-21 09:22:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092205.XML for user: 68f1466aed072ad4a
[2026-03-21 09:22:07] [INFO] File size: 5446 bytes
[2026-03-21 09:22:07] [INFO] Created FTPFiles record with ID: 69be633fdeffa27ea
[2026-03-21 09:22:07] [INFO] About to extract fields from XML. File size: 5446 bytes
[2026-03-21 09:22:07] [INFO] Number of mappings: 28
[2026-03-21 09:22:07] [INFO] Starting XML parsing. Content length: 5446
[2026-03-21 09:22:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 09:22:07] [INFO] Processing 28 field mappings
[2026-03-21 09:22:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 09:22:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 09:22:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 09:22:07] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 09:22:07] [INFO]   -> Found value: AFD
EMS
[2026-03-21 09:22:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 09:22:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 09:22:07] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026000116
[2026-03-21 09:22:07] [INFO]   -> Set field 'incidentInternalId' = "2026000116"
[2026-03-21 09:22:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000116"
[2026-03-21 09:22:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 09:22:07] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 09:22:07] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 09:22:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 09:22:07] [INFO]   -> Found value: 4927
[2026-03-21 09:22:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4927
[2026-03-21 09:22:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 09:22:07] [INFO]   -> Found value: TN
[2026-03-21 09:22:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 09:22:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 09:22:07] [INFO]   -> Found value: 38506
[2026-03-21 09:22:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 09:22:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 09:22:07] [INFO]   -> Found value: ABSOLUTE CARE
[2026-03-21 09:22:07] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-03-21 09:22:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 09:22:07] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 09:22:07] [INFO]   -> Found value: 36.21019
[2026-03-21 09:22:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2101899999999972123987390659749507904052734375
[2026-03-21 09:22:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 09:22:07] [INFO]   -> Found value: -85.42593
[2026-03-21 09:22:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4259299999999939245753921568393707275390625
[2026-03-21 09:22:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026-03-21 04:14:17
[2026-03-21 09:22:07] [INFO]   -> Set field 'alarm' = "2026-03-21 04:14:17"
[2026-03-21 09:22:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:07] [INFO]   -> Set field 'dispatched' = "2026-03-21 04:15:23"
[2026-03-21 09:22:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:07] [INFO]   -> Set field 'enroute' = "2026-03-21 04:15:23"
[2026-03-21 09:22:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:07] [INFO]   -> Set field 'onScene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 09:22:07] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 09:22:07] [INFO]   -> Found value: HWY 111 N/CHIMNEY SPRINGS RD
[2026-03-21 09:22:07] [INFO]   -> Set field 'incidentLocationCross' = "HWY 111 N\/CHIMNEY SPRINGS RD"
[2026-03-21 09:22:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 09:22:07] [INFO]   -> Found value: A1200
[2026-03-21 09:22:07] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-03-21 09:22:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:07] [INFO]   -> Set field 'timedispatch' = "2026-03-21 04:15:23"
[2026-03-21 09:22:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026-03-21 04:15:23
[2026-03-21 09:22:07] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 04:15:23"
[2026-03-21 09:22:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 09:22:07] [INFO]   -> Found value: 2026-03-21 04:21:59
[2026-03-21 09:22:07] [INFO]   -> Set field 'timeonscene' = "2026-03-21 04:21:59"
[2026-03-21 09:22:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 09:22:07] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 09:22:07] [INFO]   -> No value found (null or empty)
[2026-03-21 09:22:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 09:22:07] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 09:22:07] [INFO]   -> Found value: 20260030481
[2026-03-21 09:22:07] [INFO]   -> Set field 'policeReportNumber' = "20260030481"
[2026-03-21 09:22:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 09:22:07] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/21/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE ME...
[2026-03-21 09:22:07] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:07] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]"
[2026-03-21 09:22:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 09:22:07] [INFO]   -> Found value: ALGOOD
[2026-03-21 09:22:07] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 09:22:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 09:22:07] [INFO]   -> Found value: OLD
[2026-03-21 09:22:07] [INFO]   -> Set field 'streetName' = "OLD"
[2026-03-21 09:22:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 09:22:07] [INFO]   -> Found value: HWY
[2026-03-21 09:22:07] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 09:22:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 09:22:07] [INFO]   -> Found value: 4927 OLD HWY 42
[2026-03-21 09:22:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4927 OLD HWY 42"
[2026-03-21 09:22:07] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-21 09:22:07] [INFO] Concatenating street name and type
[2026-03-21 09:22:07] [INFO]   -> Combined street name: OLD HWY
[2026-03-21 09:22:07] [INFO] Built locationCoordinates from lat/lng: 36.21019,-85.42593
[2026-03-21 09:22:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000116","dispatchRunNumber":"2026000116","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4927,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ABSOLUTE CARE","nERISIncidentLatitude":36.2101899999999972123987390659749507904052734375,"nERISIncidentLongitude":-85.4259299999999939245753921568393707275390625,"alarm":"2026-03-21 04:14:17","dispatched":"2026-03-21 04:15:23","enroute":"2026-03-21 04:15:23","onScene":"2026-03-21 04:21:59","incidentLocationCross":"HWY 111 N\/CHIMNEY SPRINGS RD","cADVehicleID":"A1200","timedispatch":"2026-03-21 04:15:23","timeenroutetoscene":"2026-03-21 04:15:23","timeonscene":"2026-03-21 04:21:59","policeReportNumber":"20260030481","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 04:14:17 BPICHE] BREATHING PROBLEMS  POSSIBLE MENTAL STATUS CHANGE  8\/11\/69  EDWARD HALL  [03\/21\/26 04:12:43 BPICHE]","incidentLocationCity":"ALGOOD","streetName":"OLD HWY","incidentAddressTextVersionStreet":"4927 OLD HWY 42","locationCoordinates":"36.21019,-85.42593"}
[2026-03-21 09:22:07] [INFO] Number of extracted fields: 26
[2026-03-21 09:22:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 09:22:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 09:22:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 09:22:07] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 09:22:08] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 09:22:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 09:22:08] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 09:22:08] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 09:22:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 09:22:08] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 09:22:08] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 09:22:08] [INFO] Found existing IncidentTypeMapping with ID: 694d8ba84e4f3a45a
[2026-03-21 09:22:08] [INFO] Found existing Dispatch with cADNumber '2026000116', ID: 69be61b1c12d16275 - will update instead of create
[2026-03-21 09:22:09] [INFO] Updated existing Dispatches record with ID: 69be61b1c12d16275
[2026-03-21 09:22:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092205.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030481_20260321_092205.XML
[2026-03-21 09:22:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030481_20260321_092205.XML
[2026-03-21 13:13:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131332.XML
[2026-03-21 13:13:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131332.XML for user: 68f1466aed072ad4a
[2026-03-21 13:13:32] [INFO] File size: 5314 bytes
[2026-03-21 13:13:32] [INFO] Created FTPFiles record with ID: 69be997cc7123d694
[2026-03-21 13:13:32] [INFO] About to extract fields from XML. File size: 5314 bytes
[2026-03-21 13:13:32] [INFO] Number of mappings: 28
[2026-03-21 13:13:32] [INFO] Starting XML parsing. Content length: 5314
[2026-03-21 13:13:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 13:13:32] [INFO] Processing 28 field mappings
[2026-03-21 13:13:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 13:13:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 13:13:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 13:13:32] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 13:13:32] [INFO]   -> Found value: PCFD
EMS
[2026-03-21 13:13:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-21 13:13:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 13:13:32] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 13:13:32] [INFO]   -> Found value: 2026000759
[2026-03-21 13:13:32] [INFO]   -> Set field 'incidentInternalId' = "2026000759"
[2026-03-21 13:13:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000759"
[2026-03-21 13:13:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 13:13:32] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-21 13:13:32] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-21 13:13:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 13:13:32] [INFO]   -> Found value: 2605
[2026-03-21 13:13:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2605
[2026-03-21 13:13:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 13:13:32] [INFO]   -> Found value: TN
[2026-03-21 13:13:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 13:13:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 13:13:32] [INFO]   -> Found value: 38506
[2026-03-21 13:13:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 13:13:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 13:13:32] [INFO]   -> Found value: BULLOCK THURMAN AND YVONNE
[2026-03-21 13:13:32] [INFO]   -> Set field 'businessName' = "BULLOCK THURMAN AND YVONNE"
[2026-03-21 13:13:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 13:13:32] [INFO]   -> Found value: 36.19759
[2026-03-21 13:13:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19758999999999815599949215538799762725830078125
[2026-03-21 13:13:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 13:13:32] [INFO]   -> Found value: -85.46201
[2026-03-21 13:13:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4620100000000064710548031143844127655029296875
[2026-03-21 13:13:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 13:13:32] [INFO]   -> Found value: 2026-03-21 08:12:43
[2026-03-21 13:13:32] [INFO]   -> Set field 'alarm' = "2026-03-21 08:12:43"
[2026-03-21 13:13:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 13:13:32] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:13:32] [INFO]   -> Set field 'dispatched' = "2026-03-21 08:13:28"
[2026-03-21 13:13:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 13:13:32] [INFO]   -> Found value: GIBBONS RD/DONNA PL
[2026-03-21 13:13:32] [INFO]   -> Set field 'incidentLocationCross' = "GIBBONS RD\/DONNA PL"
[2026-03-21 13:13:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 13:13:32] [INFO]   -> Found value: TK12
[2026-03-21 13:13:32] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 13:13:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 13:13:32] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:13:32] [INFO]   -> Set field 'timedispatch' = "2026-03-21 08:13:28"
[2026-03-21 13:13:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 13:13:32] [INFO]   -> No value found (null or empty)
[2026-03-21 13:13:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 13:13:32] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 13:13:32] [INFO]   -> Found value: 20260030508
[2026-03-21 13:13:32] [INFO]   -> Set field 'policeReportNumber' = "20260030508"
[2026-03-21 13:13:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 13:13:32] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/21/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03/21/26 08:1...
[2026-03-21 13:13:32] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:13:32] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:13:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 13:13:32] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 13:13:32] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 13:13:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 13:13:32] [INFO]   -> Found value: SUFFOLK
[2026-03-21 13:13:32] [INFO]   -> Set field 'streetName' = "SUFFOLK"
[2026-03-21 13:13:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 13:13:32] [INFO]   -> Found value: DR
[2026-03-21 13:13:32] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 13:13:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 13:13:32] [INFO]   -> Found value: 2605 SUFFOLK DR
[2026-03-21 13:13:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2605 SUFFOLK DR"
[2026-03-21 13:13:32] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 13:13:32] [INFO] Concatenating street name and type
[2026-03-21 13:13:32] [INFO]   -> Combined street name: SUFFOLK DR
[2026-03-21 13:13:32] [INFO] Built locationCoordinates from lat/lng: 36.19759,-85.46201
[2026-03-21 13:13:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000759","dispatchRunNumber":"2026000759","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":2605,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BULLOCK THURMAN AND YVONNE","nERISIncidentLatitude":36.19758999999999815599949215538799762725830078125,"nERISIncidentLongitude":-85.4620100000000064710548031143844127655029296875,"alarm":"2026-03-21 08:12:43","dispatched":"2026-03-21 08:13:28","incidentLocationCross":"GIBBONS RD\/DONNA PL","cADVehicleID":"TK12","timedispatch":"2026-03-21 08:13:28","policeReportNumber":"20260030508","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SUFFOLK DR","incidentAddressTextVersionStreet":"2605 SUFFOLK DR","locationCoordinates":"36.19759,-85.46201"}
[2026-03-21 13:13:32] [INFO] Number of extracted fields: 22
[2026-03-21 13:13:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-21 13:13:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 13:13:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-21 13:13:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 13:13:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 13:13:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 13:13: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-21 13:13: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-21 13:13:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 13:13:33] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 13:13:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 13:13:33] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-21 13:13:44] [INFO] Created new Dispatches record with ID: 69be997ddc9260e20
[2026-03-21 13:13:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131332.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030508_20260321_131332.XML
[2026-03-21 13:13:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131332.XML
[2026-03-21 13:14:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131454.XML
[2026-03-21 13:14:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131454.XML for user: 68f1466aed072ad4a
[2026-03-21 13:14:54] [INFO] File size: 5381 bytes
[2026-03-21 13:14:54] [INFO] Created FTPFiles record with ID: 69be99ced4b34a086
[2026-03-21 13:14:54] [INFO] About to extract fields from XML. File size: 5381 bytes
[2026-03-21 13:14:54] [INFO] Number of mappings: 28
[2026-03-21 13:14:54] [INFO] Starting XML parsing. Content length: 5381
[2026-03-21 13:14:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 13:14:54] [INFO] Processing 28 field mappings
[2026-03-21 13:14:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 13:14:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 13:14:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 13:14:54] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 13:14:54] [INFO]   -> Found value: PCFD
EMS
[2026-03-21 13:14:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-21 13:14:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 13:14:54] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 13:14:54] [INFO]   -> Found value: 2026000759
[2026-03-21 13:14:54] [INFO]   -> Set field 'incidentInternalId' = "2026000759"
[2026-03-21 13:14:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000759"
[2026-03-21 13:14:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 13:14:54] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-21 13:14:54] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-21 13:14:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 13:14:54] [INFO]   -> Found value: 2605
[2026-03-21 13:14:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2605
[2026-03-21 13:14:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 13:14:54] [INFO]   -> Found value: TN
[2026-03-21 13:14:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 13:14:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 13:14:54] [INFO]   -> Found value: 38506
[2026-03-21 13:14:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 13:14:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 13:14:54] [INFO]   -> Found value: BULLOCK THURMAN AND YVONNE
[2026-03-21 13:14:54] [INFO]   -> Set field 'businessName' = "BULLOCK THURMAN AND YVONNE"
[2026-03-21 13:14:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 13:14:54] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 13:14:54] [INFO]   -> Found value: 36.19759
[2026-03-21 13:14:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19758999999999815599949215538799762725830078125
[2026-03-21 13:14:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 13:14:54] [INFO]   -> Found value: -85.46201
[2026-03-21 13:14:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4620100000000064710548031143844127655029296875
[2026-03-21 13:14:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 13:14:54] [INFO]   -> Found value: 2026-03-21 08:12:43
[2026-03-21 13:14:54] [INFO]   -> Set field 'alarm' = "2026-03-21 08:12:43"
[2026-03-21 13:14:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 13:14:54] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:54] [INFO]   -> Set field 'dispatched' = "2026-03-21 08:13:28"
[2026-03-21 13:14:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 13:14:54] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:54] [INFO]   -> Set field 'enroute' = "2026-03-21 08:14:48"
[2026-03-21 13:14:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 13:14:54] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 13:14:54] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 13:14:54] [INFO]   -> Found value: GIBBONS RD/DONNA PL
[2026-03-21 13:14:54] [INFO]   -> Set field 'incidentLocationCross' = "GIBBONS RD\/DONNA PL"
[2026-03-21 13:14:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 13:14:54] [INFO]   -> Found value: TK12
[2026-03-21 13:14:54] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 13:14:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 13:14:54] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:54] [INFO]   -> Set field 'timedispatch' = "2026-03-21 08:13:28"
[2026-03-21 13:14:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 13:14:54] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 08:14:48"
[2026-03-21 13:14:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 13:14:54] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 13:14:54] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 13:14:54] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 13:14:54] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 13:14:54] [INFO]   -> Found value: 20260030508
[2026-03-21 13:14:54] [INFO]   -> Set field 'policeReportNumber' = "20260030508"
[2026-03-21 13:14:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 13:14:54] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/21/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03/21/26 08:1...
[2026-03-21 13:14:54] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:54] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 13:14:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 13:14:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 13:14:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 13:14:54] [INFO]   -> Found value: SUFFOLK
[2026-03-21 13:14:54] [INFO]   -> Set field 'streetName' = "SUFFOLK"
[2026-03-21 13:14:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 13:14:54] [INFO]   -> Found value: DR
[2026-03-21 13:14:54] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 13:14:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 13:14:54] [INFO]   -> Found value: 2605 SUFFOLK DR
[2026-03-21 13:14:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2605 SUFFOLK DR"
[2026-03-21 13:14:54] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 13:14:54] [INFO] Concatenating street name and type
[2026-03-21 13:14:54] [INFO]   -> Combined street name: SUFFOLK DR
[2026-03-21 13:14:54] [INFO] Built locationCoordinates from lat/lng: 36.19759,-85.46201
[2026-03-21 13:14:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000759","dispatchRunNumber":"2026000759","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":2605,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BULLOCK THURMAN AND YVONNE","nERISIncidentLatitude":36.19758999999999815599949215538799762725830078125,"nERISIncidentLongitude":-85.4620100000000064710548031143844127655029296875,"alarm":"2026-03-21 08:12:43","dispatched":"2026-03-21 08:13:28","enroute":"2026-03-21 08:14:48","incidentLocationCross":"GIBBONS RD\/DONNA PL","cADVehicleID":"TK12","timedispatch":"2026-03-21 08:13:28","timeenroutetoscene":"2026-03-21 08:14:48","policeReportNumber":"20260030508","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SUFFOLK DR","incidentAddressTextVersionStreet":"2605 SUFFOLK DR","locationCoordinates":"36.19759,-85.46201"}
[2026-03-21 13:14:54] [INFO] Number of extracted fields: 24
[2026-03-21 13:14:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-21 13:14:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 13:14:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-21 13:14:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 13:14:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 13:14:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 13:14: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-21 13:14: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-21 13:14:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 13:14:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 13:14:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 13:14:55] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-21 13:14:55] [INFO] Found existing Dispatch with cADNumber '2026000759', ID: 69be997ddc9260e20 - will update instead of create
[2026-03-21 13:14:55] [INFO] Updated existing Dispatches record with ID: 69be997ddc9260e20
[2026-03-21 13:14:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131454.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030508_20260321_131454.XML
[2026-03-21 13:14:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131454.XML
[2026-03-21 13:14:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131455.XML
[2026-03-21 13:14:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131455.XML for user: 68f1466aed072ad4a
[2026-03-21 13:14:55] [INFO] File size: 5381 bytes
[2026-03-21 13:14:56] [INFO] Created FTPFiles record with ID: 69be99d01d6f03554
[2026-03-21 13:14:56] [INFO] About to extract fields from XML. File size: 5381 bytes
[2026-03-21 13:14:56] [INFO] Number of mappings: 28
[2026-03-21 13:14:56] [INFO] Starting XML parsing. Content length: 5381
[2026-03-21 13:14:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 13:14:56] [INFO] Processing 28 field mappings
[2026-03-21 13:14:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 13:14:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 13:14:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 13:14:56] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 13:14:56] [INFO]   -> Found value: PCFD
EMS
[2026-03-21 13:14:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-21 13:14:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 13:14:56] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 13:14:56] [INFO]   -> Found value: 2026000759
[2026-03-21 13:14:56] [INFO]   -> Set field 'incidentInternalId' = "2026000759"
[2026-03-21 13:14:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000759"
[2026-03-21 13:14:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 13:14:56] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-21 13:14:56] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-21 13:14:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 13:14:56] [INFO]   -> Found value: 2605
[2026-03-21 13:14:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2605
[2026-03-21 13:14:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 13:14:56] [INFO]   -> Found value: TN
[2026-03-21 13:14:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 13:14:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 13:14:56] [INFO]   -> Found value: 38506
[2026-03-21 13:14:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 13:14:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 13:14:56] [INFO]   -> Found value: BULLOCK THURMAN AND YVONNE
[2026-03-21 13:14:56] [INFO]   -> Set field 'businessName' = "BULLOCK THURMAN AND YVONNE"
[2026-03-21 13:14:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 13:14:56] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 13:14:56] [INFO]   -> Found value: 36.19759
[2026-03-21 13:14:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19758999999999815599949215538799762725830078125
[2026-03-21 13:14:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 13:14:56] [INFO]   -> Found value: -85.46201
[2026-03-21 13:14:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4620100000000064710548031143844127655029296875
[2026-03-21 13:14:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 13:14:56] [INFO]   -> Found value: 2026-03-21 08:12:43
[2026-03-21 13:14:56] [INFO]   -> Set field 'alarm' = "2026-03-21 08:12:43"
[2026-03-21 13:14:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 13:14:56] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:56] [INFO]   -> Set field 'dispatched' = "2026-03-21 08:13:28"
[2026-03-21 13:14:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 13:14:56] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:56] [INFO]   -> Set field 'enroute' = "2026-03-21 08:14:48"
[2026-03-21 13:14:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 13:14:56] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 13:14:56] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 13:14:56] [INFO]   -> Found value: GIBBONS RD/DONNA PL
[2026-03-21 13:14:56] [INFO]   -> Set field 'incidentLocationCross' = "GIBBONS RD\/DONNA PL"
[2026-03-21 13:14:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 13:14:56] [INFO]   -> Found value: TK12
[2026-03-21 13:14:56] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 13:14:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 13:14:56] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:56] [INFO]   -> Set field 'timedispatch' = "2026-03-21 08:13:28"
[2026-03-21 13:14:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 13:14:56] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 08:14:48"
[2026-03-21 13:14:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 13:14:56] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 13:14:56] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 13:14:56] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 13:14:56] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 13:14:56] [INFO]   -> Found value: 20260030508
[2026-03-21 13:14:56] [INFO]   -> Set field 'policeReportNumber' = "20260030508"
[2026-03-21 13:14:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 13:14:56] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/21/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03/21/26 08:1...
[2026-03-21 13:14:56] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:56] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 13:14:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 13:14:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 13:14:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 13:14:56] [INFO]   -> Found value: SUFFOLK
[2026-03-21 13:14:56] [INFO]   -> Set field 'streetName' = "SUFFOLK"
[2026-03-21 13:14:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 13:14:56] [INFO]   -> Found value: DR
[2026-03-21 13:14:56] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 13:14:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 13:14:56] [INFO]   -> Found value: 2605 SUFFOLK DR
[2026-03-21 13:14:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2605 SUFFOLK DR"
[2026-03-21 13:14:56] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 13:14:56] [INFO] Concatenating street name and type
[2026-03-21 13:14:56] [INFO]   -> Combined street name: SUFFOLK DR
[2026-03-21 13:14:56] [INFO] Built locationCoordinates from lat/lng: 36.19759,-85.46201
[2026-03-21 13:14:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000759","dispatchRunNumber":"2026000759","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":2605,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BULLOCK THURMAN AND YVONNE","nERISIncidentLatitude":36.19758999999999815599949215538799762725830078125,"nERISIncidentLongitude":-85.4620100000000064710548031143844127655029296875,"alarm":"2026-03-21 08:12:43","dispatched":"2026-03-21 08:13:28","enroute":"2026-03-21 08:14:48","incidentLocationCross":"GIBBONS RD\/DONNA PL","cADVehicleID":"TK12","timedispatch":"2026-03-21 08:13:28","timeenroutetoscene":"2026-03-21 08:14:48","policeReportNumber":"20260030508","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SUFFOLK DR","incidentAddressTextVersionStreet":"2605 SUFFOLK DR","locationCoordinates":"36.19759,-85.46201"}
[2026-03-21 13:14:56] [INFO] Number of extracted fields: 24
[2026-03-21 13:14:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-21 13:14:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 13:14:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-21 13:14:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 13:14:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 13:14:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 13:14: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-21 13:14: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-21 13:14:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 13:14:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 13:14:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 13:14:56] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-21 13:14:56] [INFO] Found existing Dispatch with cADNumber '2026000759', ID: 69be997ddc9260e20 - will update instead of create
[2026-03-21 13:14:56] [INFO] Updated existing Dispatches record with ID: 69be997ddc9260e20
[2026-03-21 13:14:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131455.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030508_20260321_131455.XML
[2026-03-21 13:14:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131455.XML
[2026-03-21 13:14:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131456.XML
[2026-03-21 13:14:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131456.XML for user: 68f1466aed072ad4a
[2026-03-21 13:14:57] [INFO] File size: 5381 bytes
[2026-03-21 13:14:57] [INFO] Created FTPFiles record with ID: 69be99d146a3d3e40
[2026-03-21 13:14:57] [INFO] About to extract fields from XML. File size: 5381 bytes
[2026-03-21 13:14:57] [INFO] Number of mappings: 28
[2026-03-21 13:14:57] [INFO] Starting XML parsing. Content length: 5381
[2026-03-21 13:14:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 13:14:57] [INFO] Processing 28 field mappings
[2026-03-21 13:14:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 13:14:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 13:14:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 13:14:57] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 13:14:57] [INFO]   -> Found value: PCFD
EMS
[2026-03-21 13:14:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-21 13:14:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 13:14:57] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 13:14:57] [INFO]   -> Found value: 2026000759
[2026-03-21 13:14:57] [INFO]   -> Set field 'incidentInternalId' = "2026000759"
[2026-03-21 13:14:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000759"
[2026-03-21 13:14:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 13:14:57] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-21 13:14:57] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-21 13:14:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 13:14:57] [INFO]   -> Found value: 2605
[2026-03-21 13:14:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2605
[2026-03-21 13:14:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 13:14:57] [INFO]   -> Found value: TN
[2026-03-21 13:14:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 13:14:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 13:14:57] [INFO]   -> Found value: 38506
[2026-03-21 13:14:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 13:14:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 13:14:57] [INFO]   -> Found value: BULLOCK THURMAN AND YVONNE
[2026-03-21 13:14:57] [INFO]   -> Set field 'businessName' = "BULLOCK THURMAN AND YVONNE"
[2026-03-21 13:14:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 13:14:57] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 13:14:57] [INFO]   -> Found value: 36.19759
[2026-03-21 13:14:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19758999999999815599949215538799762725830078125
[2026-03-21 13:14:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 13:14:57] [INFO]   -> Found value: -85.46201
[2026-03-21 13:14:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4620100000000064710548031143844127655029296875
[2026-03-21 13:14:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 13:14:57] [INFO]   -> Found value: 2026-03-21 08:12:43
[2026-03-21 13:14:57] [INFO]   -> Set field 'alarm' = "2026-03-21 08:12:43"
[2026-03-21 13:14:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 13:14:57] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:57] [INFO]   -> Set field 'dispatched' = "2026-03-21 08:13:28"
[2026-03-21 13:14:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 13:14:57] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:57] [INFO]   -> Set field 'enroute' = "2026-03-21 08:14:48"
[2026-03-21 13:14:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 13:14:57] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 13:14:57] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 13:14:57] [INFO]   -> Found value: GIBBONS RD/DONNA PL
[2026-03-21 13:14:57] [INFO]   -> Set field 'incidentLocationCross' = "GIBBONS RD\/DONNA PL"
[2026-03-21 13:14:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 13:14:57] [INFO]   -> Found value: TK12
[2026-03-21 13:14:57] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 13:14:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 13:14:57] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:57] [INFO]   -> Set field 'timedispatch' = "2026-03-21 08:13:28"
[2026-03-21 13:14:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 13:14:57] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 08:14:48"
[2026-03-21 13:14:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 13:14:57] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 13:14:57] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 13:14:57] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 13:14:57] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 13:14:57] [INFO]   -> Found value: 20260030508
[2026-03-21 13:14:57] [INFO]   -> Set field 'policeReportNumber' = "20260030508"
[2026-03-21 13:14:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 13:14:57] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/21/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03/21/26 08:1...
[2026-03-21 13:14:57] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:57] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 13:14:57] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 13:14:57] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 13:14:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 13:14:57] [INFO]   -> Found value: SUFFOLK
[2026-03-21 13:14:57] [INFO]   -> Set field 'streetName' = "SUFFOLK"
[2026-03-21 13:14:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 13:14:57] [INFO]   -> Found value: DR
[2026-03-21 13:14:57] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 13:14:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 13:14:57] [INFO]   -> Found value: 2605 SUFFOLK DR
[2026-03-21 13:14:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2605 SUFFOLK DR"
[2026-03-21 13:14:57] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 13:14:57] [INFO] Concatenating street name and type
[2026-03-21 13:14:57] [INFO]   -> Combined street name: SUFFOLK DR
[2026-03-21 13:14:57] [INFO] Built locationCoordinates from lat/lng: 36.19759,-85.46201
[2026-03-21 13:14:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000759","dispatchRunNumber":"2026000759","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":2605,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BULLOCK THURMAN AND YVONNE","nERISIncidentLatitude":36.19758999999999815599949215538799762725830078125,"nERISIncidentLongitude":-85.4620100000000064710548031143844127655029296875,"alarm":"2026-03-21 08:12:43","dispatched":"2026-03-21 08:13:28","enroute":"2026-03-21 08:14:48","incidentLocationCross":"GIBBONS RD\/DONNA PL","cADVehicleID":"TK12","timedispatch":"2026-03-21 08:13:28","timeenroutetoscene":"2026-03-21 08:14:48","policeReportNumber":"20260030508","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SUFFOLK DR","incidentAddressTextVersionStreet":"2605 SUFFOLK DR","locationCoordinates":"36.19759,-85.46201"}
[2026-03-21 13:14:57] [INFO] Number of extracted fields: 24
[2026-03-21 13:14:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-21 13:14:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 13:14:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-21 13:14:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 13:14:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 13:14:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 13:14:57] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 13:14:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 13:14:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 13:14:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 13:14:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 13:14:57] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-21 13:14:57] [INFO] Found existing Dispatch with cADNumber '2026000759', ID: 69be997ddc9260e20 - will update instead of create
[2026-03-21 13:14:58] [INFO] Updated existing Dispatches record with ID: 69be997ddc9260e20
[2026-03-21 13:14:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131456.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030508_20260321_131456.XML
[2026-03-21 13:14:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131456.XML
[2026-03-21 13:14:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131459.XML
[2026-03-21 13:14:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131459.XML for user: 68f1466aed072ad4a
[2026-03-21 13:14:59] [INFO] File size: 5381 bytes
[2026-03-21 13:14:59] [INFO] Created FTPFiles record with ID: 69be99d3496f21a00
[2026-03-21 13:14:59] [INFO] About to extract fields from XML. File size: 5381 bytes
[2026-03-21 13:14:59] [INFO] Number of mappings: 28
[2026-03-21 13:14:59] [INFO] Starting XML parsing. Content length: 5381
[2026-03-21 13:14:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 13:14:59] [INFO] Processing 28 field mappings
[2026-03-21 13:14:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 13:14:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 13:14:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 13:14:59] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 13:14:59] [INFO]   -> Found value: PCFD
EMS
[2026-03-21 13:14:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-03-21 13:14:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 13:14:59] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 13:14:59] [INFO]   -> Found value: 2026000759
[2026-03-21 13:14:59] [INFO]   -> Set field 'incidentInternalId' = "2026000759"
[2026-03-21 13:14:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000759"
[2026-03-21 13:14:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 13:14:59] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-03-21 13:14:59] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-03-21 13:14:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 13:14:59] [INFO]   -> Found value: 2605
[2026-03-21 13:14:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2605
[2026-03-21 13:14:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 13:14:59] [INFO]   -> Found value: TN
[2026-03-21 13:14:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 13:14:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 13:14:59] [INFO]   -> Found value: 38506
[2026-03-21 13:14:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 13:14:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 13:14:59] [INFO]   -> Found value: BULLOCK THURMAN AND YVONNE
[2026-03-21 13:14:59] [INFO]   -> Set field 'businessName' = "BULLOCK THURMAN AND YVONNE"
[2026-03-21 13:14:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 13:14:59] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 13:14:59] [INFO]   -> Found value: 36.19759
[2026-03-21 13:14:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19758999999999815599949215538799762725830078125
[2026-03-21 13:14:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 13:14:59] [INFO]   -> Found value: -85.46201
[2026-03-21 13:14:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4620100000000064710548031143844127655029296875
[2026-03-21 13:14:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 13:14:59] [INFO]   -> Found value: 2026-03-21 08:12:43
[2026-03-21 13:14:59] [INFO]   -> Set field 'alarm' = "2026-03-21 08:12:43"
[2026-03-21 13:14:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 13:14:59] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:59] [INFO]   -> Set field 'dispatched' = "2026-03-21 08:13:28"
[2026-03-21 13:14:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 13:14:59] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:59] [INFO]   -> Set field 'enroute' = "2026-03-21 08:14:48"
[2026-03-21 13:14:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 13:14:59] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 13:14:59] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 13:14:59] [INFO]   -> Found value: GIBBONS RD/DONNA PL
[2026-03-21 13:14:59] [INFO]   -> Set field 'incidentLocationCross' = "GIBBONS RD\/DONNA PL"
[2026-03-21 13:14:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 13:14:59] [INFO]   -> Found value: TK12
[2026-03-21 13:14:59] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-21 13:14:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 13:14:59] [INFO]   -> Found value: 2026-03-21 08:13:28
[2026-03-21 13:14:59] [INFO]   -> Set field 'timedispatch' = "2026-03-21 08:13:28"
[2026-03-21 13:14:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 13:14:59] [INFO]   -> Found value: 2026-03-21 08:14:48
[2026-03-21 13:14:59] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 08:14:48"
[2026-03-21 13:14:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 13:14:59] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 13:14:59] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 13:14:59] [INFO]   -> No value found (null or empty)
[2026-03-21 13:14:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 13:14:59] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 13:14:59] [INFO]   -> Found value: 20260030508
[2026-03-21 13:14:59] [INFO]   -> Set field 'policeReportNumber' = "20260030508"
[2026-03-21 13:14:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 13:14:59] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [03/21/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03/21/26 08:1...
[2026-03-21 13:14:59] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:59] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]"
[2026-03-21 13:14:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 13:14:59] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 13:14:59] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 13:14:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 13:14:59] [INFO]   -> Found value: SUFFOLK
[2026-03-21 13:14:59] [INFO]   -> Set field 'streetName' = "SUFFOLK"
[2026-03-21 13:14:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 13:14:59] [INFO]   -> Found value: DR
[2026-03-21 13:14:59] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 13:14:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 13:14:59] [INFO]   -> Found value: 2605 SUFFOLK DR
[2026-03-21 13:14:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2605 SUFFOLK DR"
[2026-03-21 13:14:59] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 13:14:59] [INFO] Concatenating street name and type
[2026-03-21 13:14:59] [INFO]   -> Combined street name: SUFFOLK DR
[2026-03-21 13:14:59] [INFO] Built locationCoordinates from lat/lng: 36.19759,-85.46201
[2026-03-21 13:14:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000759","dispatchRunNumber":"2026000759","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":2605,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BULLOCK THURMAN AND YVONNE","nERISIncidentLatitude":36.19758999999999815599949215538799762725830078125,"nERISIncidentLongitude":-85.4620100000000064710548031143844127655029296875,"alarm":"2026-03-21 08:12:43","dispatched":"2026-03-21 08:13:28","enroute":"2026-03-21 08:14:48","incidentLocationCross":"GIBBONS RD\/DONNA PL","cADVehicleID":"TK12","timedispatch":"2026-03-21 08:13:28","timeenroutetoscene":"2026-03-21 08:14:48","policeReportNumber":"20260030508","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [03\/21\/2026 08:12:43 KMORGAN2] HE IS UPSTAIRS  [03\/21\/26 08:12:27 KMORGAN2] WHEN HUSBAND AWOKE THERE WAS BLOOD IN BED AROUND HIM  [03\/21\/26 08:09:14 DSTEPHENS] BULLOCK THURMAN 5\/12\/1948  [03\/21\/26 08:08:27 DSTEPHENS] evaluation  [03\/21\/26 08:07:53 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SUFFOLK DR","incidentAddressTextVersionStreet":"2605 SUFFOLK DR","locationCoordinates":"36.19759,-85.46201"}
[2026-03-21 13:14:59] [INFO] Number of extracted fields: 24
[2026-03-21 13:14:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-03-21 13:14:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 13:14:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-03-21 13:14:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 13:14:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 13:14:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 13:14:59] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 13:14:59] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 13:14:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 13:14:59] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 13:14:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 13:14:59] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-03-21 13:14:59] [INFO] Found existing Dispatch with cADNumber '2026000759', ID: 69be997ddc9260e20 - will update instead of create
[2026-03-21 13:15:00] [INFO] Updated existing Dispatches record with ID: 69be997ddc9260e20
[2026-03-21 13:15:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131459.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030508_20260321_131459.XML
[2026-03-21 13:15:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030508_20260321_131459.XML
[2026-03-21 14:17:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101754771.xml
[2026-03-21 14:17:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101754771.xml for user: 68920395733981a47
[2026-03-21 14:17:55] [INFO] File size: 5814 bytes
[2026-03-21 14:17:55] [INFO] Created FTPFiles record with ID: 69bea893633fdafba
[2026-03-21 14:17:55] [INFO] About to extract fields from XML. File size: 5814 bytes
[2026-03-21 14:17:55] [INFO] Number of mappings: 24
[2026-03-21 14:17:55] [INFO] Starting XML parsing. Content length: 5814
[2026-03-21 14:17:55] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 14:17:55] [INFO] Processing 24 field mappings
[2026-03-21 14:17:55] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 14:17:55] [INFO]   -> Found value: AFARES-AFA Residential
[2026-03-21 14:17:55] [INFO]   -> Set field 'incidentTypeValue1' = "AFARES-AFA Residential"
[2026-03-21 14:17:55] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 14:17:55] [INFO]   -> Found value: 10796 THATCHER CREST DR
[2026-03-21 14:17:55] [INFO]   -> Set field 'businessName' = "10796 THATCHER CREST DR"
[2026-03-21 14:17:55] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:17:55] [INFO]   -> Found value: 37379
[2026-03-21 14:17:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 14:17:55] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:17:55] [INFO]   -> Found value: 10796
[2026-03-21 14:17:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10796
[2026-03-21 14:17:55] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 14:17:55] [INFO]   -> Found value: THATCHER CREST
[2026-03-21 14:17:55] [INFO]   -> Set field 'streetName' = "THATCHER CREST"
[2026-03-21 14:17:55] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 14:17:55] [INFO]   -> Found value: No Cross Street/SUGAR MAPLE LN
[2026-03-21 14:17:55] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/SUGAR MAPLE LN"
[2026-03-21 14:17:55] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 14:17:55] [INFO]   -> Found value: 2026-03-21T10:17:53.543-04:00
[2026-03-21 14:17:55] [INFO]   -> Set field 'alarm' = "2026-03-21 14:17:53"
[2026-03-21 14:17:55] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 14:17:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:17:55] [INFO]   -> Set field 'enroute' = null
[2026-03-21 14:17:55] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 14:17:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:17:55] [INFO]   -> Set field 'onScene' = null
[2026-03-21 14:17:55] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 14:17:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:17:55] [INFO]   -> Set field 'cleared' = null
[2026-03-21 14:17:55] [INFO]   -> Set field 'inService' = null
[2026-03-21 14:17:55] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 14:17:55] [INFO]   -> Found value: 35.245920999999996
[2026-03-21 14:17:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2459209999999956153260427527129650115966796875
[2026-03-21 14:17:55] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 14:17:55] [INFO]   -> Found value: -85.129862
[2026-03-21 14:17:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.129862000000002808519639074802398681640625
[2026-03-21 14:17:55] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 14:17:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:17:55] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 14:17:55] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 14:17:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:17:55] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 14:17:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:17:55] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 14:17:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:17:55] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 14:17:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:17:55] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 14:17:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:17:55] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 14:17:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:17:55] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 14:17:55] [INFO]   -> Found value: DR
[2026-03-21 14:17:55] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 14:17:55] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:17:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:17:55] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 14:17:55] [INFO]   -> Found value: 2026-03-30760
[2026-03-21 14:17:55] [INFO]   -> Set field 'policeReportNumber' = "2026-03-30760"
[2026-03-21 14:17:55] [INFO]   -> Set field 'cADNumber' = "2026-03-30760"
[2026-03-21 14:17:55] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 14:17:55] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 14:17:55] [INFO] Found 3 elements for 'Comment', concatenating 3 non-empty values
[2026-03-21 14:17:55] [INFO]   -> Found value: 03/21/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brow...
[2026-03-21 14:17:55] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908."
[2026-03-21 14:17:55] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908."
[2026-03-21 14:17:55] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 14:17:55] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 14:17:55] [INFO]   -> Found value: SFD
[2026-03-21 14:17:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-21 14:17:55] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 14:17:55] [INFO] Concatenating street name and type
[2026-03-21 14:17:55] [INFO]   -> Combined street name: THATCHER CREST DR
[2026-03-21 14:17:55] [INFO] Built locationCoordinates from lat/lng: 35.245921,-85.129862
[2026-03-21 14:17:55] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"AFARES-AFA Residential","businessName":"10796 THATCHER CREST DR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":10796,"streetName":"THATCHER CREST DR","incidentLocationCross":"No Cross Street\/SUGAR MAPLE LN","alarm":"2026-03-21 14:17:53","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.2459209999999956153260427527129650115966796875,"nERISIncidentLongitude":-85.129862000000002808519639074802398681640625,"dispatched":null,"policeReportNumber":"2026-03-30760","cADNumber":"2026-03-30760","dispatchNotes":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.","cADLog":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.","cADAgencyIdentifier":"SFD","locationCoordinates":"35.245921,-85.129862"}
[2026-03-21 14:17:55] [INFO] Number of extracted fields: 20
[2026-03-21 14:17:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-21 14:17:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD', Parsed IDs = ["SFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-21 14:17:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-21 14:17:55] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:17:55] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-21 14:17:55] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-21 14:17:55] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-21 14:17:55] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-21 14:17:56] [INFO] Found existing IncidentTypeMapping with ID: 6978a9025ce2a1c63
[2026-03-21 14:17:58] [INFO] Created new Dispatches record with ID: 69bea8944d8928e2b
[2026-03-21 14:17:58] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 14:17:59] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 14:18:02] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-30760_20260321101754771.xml
[2026-03-21 14:18:02] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21
[2026-03-21 14:18:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101754771.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-30760_20260321101754771.xml
[2026-03-21 14:18:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101754771.xml
[2026-03-21 14:19:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101900526.xml
[2026-03-21 14:19:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101900526.xml for user: 68920395733981a47
[2026-03-21 14:19:00] [INFO] File size: 8856 bytes
[2026-03-21 14:19:00] [INFO] Created FTPFiles record with ID: 69bea8d4e65db5c32
[2026-03-21 14:19:00] [INFO] About to extract fields from XML. File size: 8856 bytes
[2026-03-21 14:19:00] [INFO] Number of mappings: 24
[2026-03-21 14:19:00] [INFO] Starting XML parsing. Content length: 8856
[2026-03-21 14:19:00] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 14:19:00] [INFO] Processing 24 field mappings
[2026-03-21 14:19:00] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 14:19:00] [INFO]   -> Found value: AFARES-AFA Residential
[2026-03-21 14:19:00] [INFO]   -> Set field 'incidentTypeValue1' = "AFARES-AFA Residential"
[2026-03-21 14:19:00] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 14:19:00] [INFO]   -> Found value: 10796 THATCHER CREST DR
[2026-03-21 14:19:00] [INFO]   -> Set field 'businessName' = "10796 THATCHER CREST DR"
[2026-03-21 14:19:00] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:19:00] [INFO]   -> Found value: 37379
[2026-03-21 14:19:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 14:19:00] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:19:00] [INFO]   -> Found value: 10796
[2026-03-21 14:19:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10796
[2026-03-21 14:19:00] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 14:19:00] [INFO]   -> Found value: THATCHER CREST
[2026-03-21 14:19:00] [INFO]   -> Set field 'streetName' = "THATCHER CREST"
[2026-03-21 14:19:00] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 14:19:00] [INFO]   -> Found value: No Cross Street/SUGAR MAPLE LN
[2026-03-21 14:19:00] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/SUGAR MAPLE LN"
[2026-03-21 14:19:00] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 14:19:00] [INFO]   -> Found value: 2026-03-21T10:17:53.543-04:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'alarm' = "2026-03-21 14:17:53"
[2026-03-21 14:19:00] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 14:19:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'enroute' = null
[2026-03-21 14:19:00] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 14:19:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'onScene' = null
[2026-03-21 14:19:00] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 14:19:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'cleared' = null
[2026-03-21 14:19:00] [INFO]   -> Set field 'inService' = null
[2026-03-21 14:19:00] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 14:19:00] [INFO]   -> Found value: 35.245920999999996
[2026-03-21 14:19:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2459209999999956153260427527129650115966796875
[2026-03-21 14:19:00] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 14:19:00] [INFO]   -> Found value: -85.129862
[2026-03-21 14:19:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.129862000000002808519639074802398681640625
[2026-03-21 14:19:00] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 14:19:00] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:18:58"
[2026-03-21 14:19:00] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 14:19:00] [INFO]   -> Found value: H1700
[2026-03-21 14:19:00] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-21 14:19:00] [INFO]   -> Set field 'name' = "H1700"
[2026-03-21 14:19:00] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 14:19:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 14:19:00] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 14:19:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 14:19:00] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 14:19:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 14:19:00] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 14:19:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 14:19:00] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 14:19:00] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:19:00] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:18:58"
[2026-03-21 14:19:00] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 14:19:00] [INFO]   -> Found value: DR
[2026-03-21 14:19:00] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 14:19:00] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:19:00] [INFO]   -> Found value: 26-000028
[2026-03-21 14:19:00] [INFO]   -> Set field 'incidentInternalId' = "26-000028"
[2026-03-21 14:19:00] [INFO]   -> Set field 'dispatchRunNumber' = "26-000028"
[2026-03-21 14:19:00] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 14:19:00] [INFO]   -> Found value: 2026-03-30760
[2026-03-21 14:19:00] [INFO]   -> Set field 'policeReportNumber' = "2026-03-30760"
[2026-03-21 14:19:00] [INFO]   -> Set field 'cADNumber' = "2026-03-30760"
[2026-03-21 14:19:00] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 14:19:00] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 14:19:00] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-03-21 14:19:00] [INFO]   -> Found value: 03/21/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brow...
[2026-03-21 14:19:00] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700."
[2026-03-21 14:19:00] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700."
[2026-03-21 14:19:00] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 14:19:00] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 14:19:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 14:19:00] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 14:19:00] [INFO]   -> Found value: SFD
SFD
[2026-03-21 14:19:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-21 14:19:00] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 14:19:00] [INFO] Concatenating street name and type
[2026-03-21 14:19:00] [INFO]   -> Combined street name: THATCHER CREST DR
[2026-03-21 14:19:00] [INFO] Built locationCoordinates from lat/lng: 35.245921,-85.129862
[2026-03-21 14:19:00] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"AFARES-AFA Residential","businessName":"10796 THATCHER CREST DR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":10796,"streetName":"THATCHER CREST DR","incidentLocationCross":"No Cross Street\/SUGAR MAPLE LN","alarm":"2026-03-21 14:17:53","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.2459209999999956153260427527129650115966796875,"nERISIncidentLongitude":-85.129862000000002808519639074802398681640625,"dispatched":"2026-03-21 14:18:58","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 14:18:58","incidentInternalId":"26-000028","dispatchRunNumber":"26-000028","policeReportNumber":"2026-03-30760","cADNumber":"2026-03-30760","dispatchNotes":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.","cADLog":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.245921,-85.129862"}
[2026-03-21 14:19:00] [INFO] Number of extracted fields: 29
[2026-03-21 14:19:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-21 14:19:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 14:19:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-21 14:19:00] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:19:01] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-21 14:19:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-21 14:19:01] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-21 14:19:01] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-21 14:19:01] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 14:19:01] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-21 14:19:01] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-21 14:19:01] [INFO] Found existing IncidentTypeMapping with ID: 6978a9025ce2a1c63
[2026-03-21 14:19:01] [INFO] Found existing Dispatch with cADNumber '2026-03-30760', ID: 69bea8944d8928e2b - will update instead of create
[2026-03-21 14:19:01] [INFO] Updated existing Dispatches record with ID: 69bea8944d8928e2b
[2026-03-21 14:19:01] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 14:19:02] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 14:19:05] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-30760_20260321101900526.xml
[2026-03-21 14:19:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101900526.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-30760_20260321101900526.xml
[2026-03-21 14:19:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321101900526.xml
[2026-03-21 14:20:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102001219.xml
[2026-03-21 14:20:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102001219.xml for user: 68920395733981a47
[2026-03-21 14:20:01] [INFO] File size: 9186 bytes
[2026-03-21 14:20:01] [INFO] Created FTPFiles record with ID: 69bea911abb386b22
[2026-03-21 14:20:01] [INFO] About to extract fields from XML. File size: 9186 bytes
[2026-03-21 14:20:01] [INFO] Number of mappings: 24
[2026-03-21 14:20:01] [INFO] Starting XML parsing. Content length: 9186
[2026-03-21 14:20:01] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 14:20:01] [INFO] Processing 24 field mappings
[2026-03-21 14:20:01] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 14:20:01] [INFO]   -> Found value: AFARES-AFA Residential
[2026-03-21 14:20:01] [INFO]   -> Set field 'incidentTypeValue1' = "AFARES-AFA Residential"
[2026-03-21 14:20:01] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 14:20:01] [INFO]   -> Found value: 10796 THATCHER CREST DR
[2026-03-21 14:20:01] [INFO]   -> Set field 'businessName' = "10796 THATCHER CREST DR"
[2026-03-21 14:20:01] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:20:01] [INFO]   -> Found value: 37379
[2026-03-21 14:20:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 14:20:01] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:20:01] [INFO]   -> Found value: 10796
[2026-03-21 14:20:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10796
[2026-03-21 14:20:01] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 14:20:01] [INFO]   -> Found value: THATCHER CREST
[2026-03-21 14:20:01] [INFO]   -> Set field 'streetName' = "THATCHER CREST"
[2026-03-21 14:20:01] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 14:20:01] [INFO]   -> Found value: No Cross Street/SUGAR MAPLE LN
[2026-03-21 14:20:01] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/SUGAR MAPLE LN"
[2026-03-21 14:20:01] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 14:20:01] [INFO]   -> Found value: 2026-03-21T10:17:53.543-04:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'alarm' = "2026-03-21 14:17:53"
[2026-03-21 14:20:01] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 14:20:01] [INFO]   -> Found value: 2026-03-21T10:20:00.863-04:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'enroute' = "2026-03-21 14:20:00"
[2026-03-21 14:20:01] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 14:20:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'onScene' = null
[2026-03-21 14:20:01] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 14:20:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'cleared' = null
[2026-03-21 14:20:01] [INFO]   -> Set field 'inService' = null
[2026-03-21 14:20:01] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 14:20:01] [INFO]   -> Found value: 35.245920999999996
[2026-03-21 14:20:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2459209999999956153260427527129650115966796875
[2026-03-21 14:20:01] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 14:20:01] [INFO]   -> Found value: -85.129862
[2026-03-21 14:20:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.129862000000002808519639074802398681640625
[2026-03-21 14:20:01] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 14:20:01] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:18:58"
[2026-03-21 14:20:01] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 14:20:01] [INFO]   -> Found value: H1700
[2026-03-21 14:20:01] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-21 14:20:01] [INFO]   -> Set field 'name' = "H1700"
[2026-03-21 14:20:01] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 14:20:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 14:20:01] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 14:20:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 14:20:01] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 14:20:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 14:20:01] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 14:20:01] [INFO]   -> Found value: 2026-03-21T10:20:00.863-04:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 14:20:00"
[2026-03-21 14:20:01] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 14:20:01] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:20:01] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:18:58"
[2026-03-21 14:20:01] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 14:20:01] [INFO]   -> Found value: DR
[2026-03-21 14:20:01] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 14:20:01] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:20:01] [INFO]   -> Found value: 26-000028
[2026-03-21 14:20:01] [INFO]   -> Set field 'incidentInternalId' = "26-000028"
[2026-03-21 14:20:01] [INFO]   -> Set field 'dispatchRunNumber' = "26-000028"
[2026-03-21 14:20:01] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 14:20:01] [INFO]   -> Found value: 2026-03-30760
[2026-03-21 14:20:01] [INFO]   -> Set field 'policeReportNumber' = "2026-03-30760"
[2026-03-21 14:20:01] [INFO]   -> Set field 'cADNumber' = "2026-03-30760"
[2026-03-21 14:20:01] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 14:20:01] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 14:20:01] [INFO] Found 5 elements for 'Comment', concatenating 5 non-empty values
[2026-03-21 14:20:01] [INFO]   -> Found value: 03/21/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brow...
[2026-03-21 14:20:01] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING"
[2026-03-21 14:20:01] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING"
[2026-03-21 14:20:01] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 14:20:01] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 14:20:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 14:20:01] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 14:20:01] [INFO]   -> Found value: SFD
SFD
[2026-03-21 14:20:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-21 14:20:01] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 14:20:01] [INFO] Concatenating street name and type
[2026-03-21 14:20:01] [INFO]   -> Combined street name: THATCHER CREST DR
[2026-03-21 14:20:01] [INFO] Built locationCoordinates from lat/lng: 35.245921,-85.129862
[2026-03-21 14:20:01] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"AFARES-AFA Residential","businessName":"10796 THATCHER CREST DR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":10796,"streetName":"THATCHER CREST DR","incidentLocationCross":"No Cross Street\/SUGAR MAPLE LN","alarm":"2026-03-21 14:17:53","enroute":"2026-03-21 14:20:00","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.2459209999999956153260427527129650115966796875,"nERISIncidentLongitude":-85.129862000000002808519639074802398681640625,"dispatched":"2026-03-21 14:18:58","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 14:20:00","timedispatch":"2026-03-21 14:18:58","incidentInternalId":"26-000028","dispatchRunNumber":"26-000028","policeReportNumber":"2026-03-30760","cADNumber":"2026-03-30760","dispatchNotes":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING","cADLog":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.245921,-85.129862"}
[2026-03-21 14:20:01] [INFO] Number of extracted fields: 29
[2026-03-21 14:20:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-21 14:20:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 14:20:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-21 14:20:01] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:20:01] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-21 14:20:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-21 14:20:02] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-21 14:20:02] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-21 14:20:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 14:20:02] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-21 14:20:02] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-21 14:20:02] [INFO] Found existing IncidentTypeMapping with ID: 6978a9025ce2a1c63
[2026-03-21 14:20:02] [INFO] Found existing Dispatch with cADNumber '2026-03-30760', ID: 69bea8944d8928e2b - will update instead of create
[2026-03-21 14:20:02] [INFO] Updated existing Dispatches record with ID: 69bea8944d8928e2b
[2026-03-21 14:20:02] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 14:20:02] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 14:20:06] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-30760_20260321102001219.xml
[2026-03-21 14:20:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102001219.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-30760_20260321102001219.xml
[2026-03-21 14:20:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102001219.xml
[2026-03-21 14:22:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102202343.xml
[2026-03-21 14:22:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102202343.xml for user: 68920395733981a47
[2026-03-21 14:22:02] [INFO] File size: 9277 bytes
[2026-03-21 14:22:02] [INFO] Created FTPFiles record with ID: 69bea98ae1c7fca4c
[2026-03-21 14:22:02] [INFO] About to extract fields from XML. File size: 9277 bytes
[2026-03-21 14:22:02] [INFO] Number of mappings: 24
[2026-03-21 14:22:02] [INFO] Starting XML parsing. Content length: 9277
[2026-03-21 14:22:02] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 14:22:02] [INFO] Processing 24 field mappings
[2026-03-21 14:22:02] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 14:22:02] [INFO]   -> Found value: AFARES-AFA Residential
[2026-03-21 14:22:02] [INFO]   -> Set field 'incidentTypeValue1' = "AFARES-AFA Residential"
[2026-03-21 14:22:02] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 14:22:02] [INFO]   -> Found value: 10796 THATCHER CREST DR
[2026-03-21 14:22:02] [INFO]   -> Set field 'businessName' = "10796 THATCHER CREST DR"
[2026-03-21 14:22:02] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:22:02] [INFO]   -> Found value: 37379
[2026-03-21 14:22:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 14:22:02] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:22:02] [INFO]   -> Found value: 10796
[2026-03-21 14:22:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10796
[2026-03-21 14:22:02] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 14:22:02] [INFO]   -> Found value: THATCHER CREST
[2026-03-21 14:22:02] [INFO]   -> Set field 'streetName' = "THATCHER CREST"
[2026-03-21 14:22:02] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 14:22:02] [INFO]   -> Found value: No Cross Street/SUGAR MAPLE LN
[2026-03-21 14:22:02] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/SUGAR MAPLE LN"
[2026-03-21 14:22:02] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 14:22:02] [INFO]   -> Found value: 2026-03-21T10:17:53.543-04:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'alarm' = "2026-03-21 14:17:53"
[2026-03-21 14:22:02] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 14:22:02] [INFO]   -> Found value: 2026-03-21T10:20:00.863-04:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'enroute' = "2026-03-21 14:20:00"
[2026-03-21 14:22:02] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 14:22:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'onScene' = null
[2026-03-21 14:22:02] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 14:22:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'cleared' = null
[2026-03-21 14:22:02] [INFO]   -> Set field 'inService' = null
[2026-03-21 14:22:02] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 14:22:02] [INFO]   -> Found value: 35.245920999999996
[2026-03-21 14:22:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2459209999999956153260427527129650115966796875
[2026-03-21 14:22:02] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 14:22:02] [INFO]   -> Found value: -85.129862
[2026-03-21 14:22:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.129862000000002808519639074802398681640625
[2026-03-21 14:22:02] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 14:22:02] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:18:58"
[2026-03-21 14:22:02] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 14:22:02] [INFO]   -> Found value: H1700
[2026-03-21 14:22:02] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-21 14:22:02] [INFO]   -> Set field 'name' = "H1700"
[2026-03-21 14:22:02] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 14:22:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 14:22:02] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 14:22:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 14:22:02] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 14:22:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 14:22:02] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 14:22:02] [INFO]   -> Found value: 2026-03-21T10:20:00.863-04:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 14:20:00"
[2026-03-21 14:22:02] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 14:22:02] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:22:02] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:18:58"
[2026-03-21 14:22:02] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 14:22:02] [INFO]   -> Found value: DR
[2026-03-21 14:22:02] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 14:22:02] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:22:02] [INFO]   -> Found value: 26-000028
[2026-03-21 14:22:02] [INFO]   -> Set field 'incidentInternalId' = "26-000028"
[2026-03-21 14:22:02] [INFO]   -> Set field 'dispatchRunNumber' = "26-000028"
[2026-03-21 14:22:02] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 14:22:02] [INFO]   -> Found value: 2026-03-30760
[2026-03-21 14:22:02] [INFO]   -> Set field 'policeReportNumber' = "2026-03-30760"
[2026-03-21 14:22:02] [INFO]   -> Set field 'cADNumber' = "2026-03-30760"
[2026-03-21 14:22:02] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 14:22:02] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 14:22:02] [INFO] Found 6 elements for 'Comment', concatenating 6 non-empty values
[2026-03-21 14:22:02] [INFO]   -> Found value: 03/21/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brow...
[2026-03-21 14:22:02] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY"
[2026-03-21 14:22:02] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY"
[2026-03-21 14:22:02] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 14:22:02] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 14:22:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 14:22:02] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 14:22:02] [INFO]   -> Found value: SFD
SFD
[2026-03-21 14:22:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-21 14:22:02] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 14:22:02] [INFO] Concatenating street name and type
[2026-03-21 14:22:02] [INFO]   -> Combined street name: THATCHER CREST DR
[2026-03-21 14:22:02] [INFO] Built locationCoordinates from lat/lng: 35.245921,-85.129862
[2026-03-21 14:22:02] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"AFARES-AFA Residential","businessName":"10796 THATCHER CREST DR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":10796,"streetName":"THATCHER CREST DR","incidentLocationCross":"No Cross Street\/SUGAR MAPLE LN","alarm":"2026-03-21 14:17:53","enroute":"2026-03-21 14:20:00","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.2459209999999956153260427527129650115966796875,"nERISIncidentLongitude":-85.129862000000002808519639074802398681640625,"dispatched":"2026-03-21 14:18:58","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 14:20:00","timedispatch":"2026-03-21 14:18:58","incidentInternalId":"26-000028","dispatchRunNumber":"26-000028","policeReportNumber":"2026-03-30760","cADNumber":"2026-03-30760","dispatchNotes":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY","cADLog":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.245921,-85.129862"}
[2026-03-21 14:22:02] [INFO] Number of extracted fields: 29
[2026-03-21 14:22:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-21 14:22:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 14:22:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-21 14:22:02] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:22:03] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-21 14:22:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-21 14:22:03] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-21 14:22:03] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-21 14:22:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 14:22:03] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-21 14:22:03] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-21 14:22:03] [INFO] Found existing IncidentTypeMapping with ID: 6978a9025ce2a1c63
[2026-03-21 14:22:03] [INFO] Found existing Dispatch with cADNumber '2026-03-30760', ID: 69bea8944d8928e2b - will update instead of create
[2026-03-21 14:22:03] [INFO] Updated existing Dispatches record with ID: 69bea8944d8928e2b
[2026-03-21 14:22:03] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 14:22:04] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 14:22:07] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-30760_20260321102202343.xml
[2026-03-21 14:22:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102202343.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-30760_20260321102202343.xml
[2026-03-21 14:22:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102202343.xml
[2026-03-21 14:22:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102227596.xml
[2026-03-21 14:22:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102227596.xml for user: 68920395733981a47
[2026-03-21 14:22:27] [INFO] File size: 9777 bytes
[2026-03-21 14:22:28] [INFO] Created FTPFiles record with ID: 69bea9a421965d66d
[2026-03-21 14:22:28] [INFO] About to extract fields from XML. File size: 9777 bytes
[2026-03-21 14:22:28] [INFO] Number of mappings: 24
[2026-03-21 14:22:28] [INFO] Starting XML parsing. Content length: 9777
[2026-03-21 14:22:28] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 14:22:28] [INFO] Processing 24 field mappings
[2026-03-21 14:22:28] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 14:22:28] [INFO]   -> Found value: AFARES-AFA Residential
[2026-03-21 14:22:28] [INFO]   -> Set field 'incidentTypeValue1' = "AFARES-AFA Residential"
[2026-03-21 14:22:28] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 14:22:28] [INFO]   -> Found value: 10796 THATCHER CREST DR
[2026-03-21 14:22:28] [INFO]   -> Set field 'businessName' = "10796 THATCHER CREST DR"
[2026-03-21 14:22:28] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:22:28] [INFO]   -> Found value: 37379
[2026-03-21 14:22:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 14:22:28] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:22:28] [INFO]   -> Found value: 10796
[2026-03-21 14:22:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10796
[2026-03-21 14:22:28] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 14:22:28] [INFO]   -> Found value: THATCHER CREST
[2026-03-21 14:22:28] [INFO]   -> Set field 'streetName' = "THATCHER CREST"
[2026-03-21 14:22:28] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 14:22:28] [INFO]   -> Found value: No Cross Street/SUGAR MAPLE LN
[2026-03-21 14:22:28] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/SUGAR MAPLE LN"
[2026-03-21 14:22:28] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-21T10:17:53.543-04:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'alarm' = "2026-03-21 14:17:53"
[2026-03-21 14:22:28] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-21T10:20:00.863-04:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'enroute' = "2026-03-21 14:20:00"
[2026-03-21 14:22:28] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 14:22:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'onScene' = null
[2026-03-21 14:22:28] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-21T10:22:22.597-04:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'cleared' = "2026-03-21 14:22:22"
[2026-03-21 14:22:28] [INFO]   -> Set field 'inService' = "2026-03-21 14:22:22"
[2026-03-21 14:22:28] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 14:22:28] [INFO]   -> Found value: 35.245920999999996
[2026-03-21 14:22:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2459209999999956153260427527129650115966796875
[2026-03-21 14:22:28] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 14:22:28] [INFO]   -> Found value: -85.129862
[2026-03-21 14:22:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.129862000000002808519639074802398681640625
[2026-03-21 14:22:28] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:18:58"
[2026-03-21 14:22:28] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 14:22:28] [INFO]   -> Found value: H1700
[2026-03-21 14:22:28] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-03-21 14:22:28] [INFO]   -> Set field 'name' = "H1700"
[2026-03-21 14:22:28] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-21T10:22:22.597-04:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 14:22:22"
[2026-03-21 14:22:28] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 14:22:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 14:22:28] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 14:22:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 14:22:28] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-21T10:20:00.863-04:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 14:20:00"
[2026-03-21 14:22:28] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-21T10:18:58.58-04:00
[2026-03-21 14:22:28] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:18:58"
[2026-03-21 14:22:28] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 14:22:28] [INFO]   -> Found value: DR
[2026-03-21 14:22:28] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-21 14:22:28] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:22:28] [INFO]   -> Found value: 26-000028
[2026-03-21 14:22:28] [INFO]   -> Set field 'incidentInternalId' = "26-000028"
[2026-03-21 14:22:28] [INFO]   -> Set field 'dispatchRunNumber' = "26-000028"
[2026-03-21 14:22:28] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 14:22:28] [INFO]   -> Found value: 2026-03-30760
[2026-03-21 14:22:28] [INFO]   -> Set field 'policeReportNumber' = "2026-03-30760"
[2026-03-21 14:22:28] [INFO]   -> Set field 'cADNumber' = "2026-03-30760"
[2026-03-21 14:22:28] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 14:22:28] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 14:22:28] [INFO] Found 6 elements for 'Comment', concatenating 6 non-empty values
[2026-03-21 14:22:28] [INFO]   -> Found value: 03/21/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brow...
[2026-03-21 14:22:28] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY"
[2026-03-21 14:22:28] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY"
[2026-03-21 14:22:28] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 14:22:28] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 14:22:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 14:22:28] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 14:22:28] [INFO]   -> Found value: SFD
SFD
[2026-03-21 14:22:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD\nSFD"
[2026-03-21 14:22:28] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 14:22:28] [INFO] Concatenating street name and type
[2026-03-21 14:22:28] [INFO]   -> Combined street name: THATCHER CREST DR
[2026-03-21 14:22:28] [INFO] Built locationCoordinates from lat/lng: 35.245921,-85.129862
[2026-03-21 14:22:28] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"AFARES-AFA Residential","businessName":"10796 THATCHER CREST DR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":10796,"streetName":"THATCHER CREST DR","incidentLocationCross":"No Cross Street\/SUGAR MAPLE LN","alarm":"2026-03-21 14:17:53","enroute":"2026-03-21 14:20:00","onScene":null,"cleared":"2026-03-21 14:22:22","inService":"2026-03-21 14:22:22","nERISIncidentLatitude":35.2459209999999956153260427527129650115966796875,"nERISIncidentLongitude":-85.129862000000002808519639074802398681640625,"dispatched":"2026-03-21 14:18:58","cADVehicleID":"H1700","name":"H1700","timeunitclear":"2026-03-21 14:22:22","timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 14:20:00","timedispatch":"2026-03-21 14:18:58","incidentInternalId":"26-000028","dispatchRunNumber":"26-000028","policeReportNumber":"2026-03-30760","cADNumber":"2026-03-30760","dispatchNotes":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY","cADLog":"03\/21\/2026 10:17:53 AURELIAN                [1] GENERATED BY AURELIANSYNC INITIATED BY Michelle Brown [michelle.brown@hamiltontn911.gov]LINK: https:\/\/dashboard.aurelian.io\/agent\/b95e23fb-c3f9-4771-af16-573b0140cea3\/conversation\/cfxfTuygCECdBaUB7utnQw\n03\/21\/2026 10:17:53 AURELIAN                [2] INFOAlarm - Zone: Zone 9Alarm - Area Alarm Occurring: FireAlarm - Occupied: UnknownAlarm - Name - Account Holder: Jerry JacksonAlarm - Name - Keyholder: VickyAlarm - Phone Number - Keyholder: (423) 716-2183Alarm - On Scene or En Route - Keyholder v2: UnknownAlarm - Reference Number: 5471908\n03\/21\/2026 10:17:53 AURELIAN                [3] Caller reported a residential fire alarm at 10796 Thatcher Crest Drive, with Zone 9 indicating fire and occupancy unknown. Caller stated the alarm is monitored by Morgan Alarm System with account holder Jerry Jackson and keyholder Vicky, and provided callback numbers for the monitoring company and keyholder along with reference number 5471908.\n03\/21\/2026 10:18:58 DAVIS_R                 [4] Automatic Case Number(s) issued for Incident #[2026-03-30760], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000028 requested by H1700.\n03\/21\/2026 10:20:00 DAVIS_R                 [5] H1700 17213 RESPONDING\n03\/21\/2026 10:21:58 BROWN_M                 [6] CANCEL PER ALARM COMPANY","cADAgencyIdentifier":"SFD\nSFD","locationCoordinates":"35.245921,-85.129862"}
[2026-03-21 14:22:28] [INFO] Number of extracted fields: 29
[2026-03-21 14:22:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD
SFD'
[2026-03-21 14:22:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD
SFD', Parsed IDs = ["SFD","SFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 14:22:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD","SFD"]
[2026-03-21 14:22:28] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:22:28] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-21 14:22:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["SFD"]
[2026-03-21 14:22:28] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-21 14:22:28] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-21 14:22:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 14:22:28] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-21 14:22:28] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-21 14:22:29] [INFO] Found existing IncidentTypeMapping with ID: 6978a9025ce2a1c63
[2026-03-21 14:22:29] [INFO] Found existing Dispatch with cADNumber '2026-03-30760', ID: 69bea8944d8928e2b - will update instead of create
[2026-03-21 14:22:29] [INFO] Updated existing Dispatches record with ID: 69bea8944d8928e2b
[2026-03-21 14:22:29] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 14:22:29] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 14:22:32] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-30760_20260321102227596.xml
[2026-03-21 14:22:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102227596.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-30760_20260321102227596.xml
[2026-03-21 14:22:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-30760_20260321102227596.xml
[2026-03-21 14:22:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142254.XML
[2026-03-21 14:22:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142254.XML for user: 68f1466aed072ad4a
[2026-03-21 14:22:54] [INFO] File size: 4579 bytes
[2026-03-21 14:22:55] [INFO] Created FTPFiles record with ID: 69bea9bf018112989
[2026-03-21 14:22:55] [INFO] About to extract fields from XML. File size: 4579 bytes
[2026-03-21 14:22:55] [INFO] Number of mappings: 28
[2026-03-21 14:22:55] [INFO] Starting XML parsing. Content length: 4579
[2026-03-21 14:22:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 14:22:55] [INFO] Processing 28 field mappings
[2026-03-21 14:22:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 14:22:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 14:22:55] [INFO]   -> Found value: BFD
[2026-03-21 14:22:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-21 14:22:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:22:55] [INFO]   -> Found value: 2026000098
[2026-03-21 14:22:55] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-21 14:22:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-21 14:22:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 14:22:55] [INFO]   -> Found value: FIRE ALARM
[2026-03-21 14:22:55] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-21 14:22:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:22:55] [INFO]   -> Found value: 239
[2026-03-21 14:22:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 239
[2026-03-21 14:22:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 14:22:55] [INFO]   -> Found value: TN
[2026-03-21 14:22:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 14:22:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:22:55] [INFO]   -> Found value: 38544
[2026-03-21 14:22:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 14:22:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 14:22:55] [INFO]   -> Found value: 36.17448
[2026-03-21 14:22:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1744800000000026329871616326272487640380859375
[2026-03-21 14:22:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 14:22:55] [INFO]   -> Found value: -85.62394
[2026-03-21 14:22:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62394000000000460204319097101688385009765625
[2026-03-21 14:22:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 14:22:55] [INFO]   -> Found value: 2026-03-21 09:21:48
[2026-03-21 14:22:55] [INFO]   -> Set field 'alarm' = "2026-03-21 09:21:48"
[2026-03-21 14:22:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 14:22:55] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:22:55] [INFO]   -> Set field 'dispatched' = "2026-03-21 09:22:52"
[2026-03-21 14:22:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 14:22:55] [INFO]   -> Found value: /OLIVER WAY
[2026-03-21 14:22:55] [INFO]   -> Set field 'incidentLocationCross' = "\/OLIVER WAY"
[2026-03-21 14:22:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 14:22:55] [INFO]   -> Found value: BEN2
[2026-03-21 14:22:55] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 14:22:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 14:22:55] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:22:55] [INFO]   -> Set field 'timedispatch' = "2026-03-21 09:22:52"
[2026-03-21 14:22:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 14:22:55] [INFO]   -> No value found (null or empty)
[2026-03-21 14:22:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 14:22:55] [INFO]   -> Found value: 20260030522
[2026-03-21 14:22:55] [INFO]   -> Set field 'policeReportNumber' = "20260030522"
[2026-03-21 14:22:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 14:22:55] [INFO]   -> Found value: ZONE 995  SPENCER HAYE//931-907-5955  [03/21/26 09:22:38 KMORGAN2]
[2026-03-21 14:22:55] [INFO]   -> Set field 'dispatchNotes' = "ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:22:55] [INFO]   -> Set field 'cADLog' = "ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:22:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 14:22:55] [INFO]   -> Found value: BAXTER
[2026-03-21 14:22:55] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 14:22:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 14:22:55] [INFO]   -> Found value: HARRIS
[2026-03-21 14:22:55] [INFO]   -> Set field 'streetName' = "HARRIS"
[2026-03-21 14:22:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 14:22:55] [INFO]   -> Found value: LN
[2026-03-21 14:22:55] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-21 14:22:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 14:22:55] [INFO]   -> Found value: 239 HARRIS LN
[2026-03-21 14:22:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "239 HARRIS LN"
[2026-03-21 14:22:55] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 14:22:55] [INFO] Concatenating street name and type
[2026-03-21 14:22:55] [INFO]   -> Combined street name: HARRIS LN
[2026-03-21 14:22:55] [INFO] Built locationCoordinates from lat/lng: 36.17448,-85.62394
[2026-03-21 14:22:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":239,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1744800000000026329871616326272487640380859375,"nERISIncidentLongitude":-85.62394000000000460204319097101688385009765625,"alarm":"2026-03-21 09:21:48","dispatched":"2026-03-21 09:22:52","incidentLocationCross":"\/OLIVER WAY","cADVehicleID":"BEN2","timedispatch":"2026-03-21 09:22:52","policeReportNumber":"20260030522","dispatchNotes":"ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","cADLog":"ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","incidentLocationCity":"BAXTER","streetName":"HARRIS LN","incidentAddressTextVersionStreet":"239 HARRIS LN","locationCoordinates":"36.17448,-85.62394"}
[2026-03-21 14:22:55] [INFO] Number of extracted fields: 21
[2026-03-21 14:22:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-21 14:22:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 14:22:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-21 14:22:55] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:22:55] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 14:22:55] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 14:22:55] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 14:22:55] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 14:22:55] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-03-21 14:23:01] [INFO] Created new Dispatches record with ID: 69bea9bfea73682a0
[2026-03-21 14:23:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142254.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030522_20260321_142254.XML
[2026-03-21 14:23:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142254.XML
[2026-03-21 14:24:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416.XML
[2026-03-21 14:24:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416.XML for user: 68f1466aed072ad4a
[2026-03-21 14:24:16] [INFO] File size: 5435 bytes
[2026-03-21 14:24:16] [INFO] Created FTPFiles record with ID: 69beaa104fd813337
[2026-03-21 14:24:16] [INFO] About to extract fields from XML. File size: 5435 bytes
[2026-03-21 14:24:16] [INFO] Number of mappings: 28
[2026-03-21 14:24:16] [INFO] Starting XML parsing. Content length: 5435
[2026-03-21 14:24:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 14:24:16] [INFO] Processing 28 field mappings
[2026-03-21 14:24:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 14:24:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 14:24:16] [INFO]   -> Found value: BFD
[2026-03-21 14:24:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-21 14:24:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:24:16] [INFO]   -> Found value: 2026000098
[2026-03-21 14:24:16] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-21 14:24:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-21 14:24:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 14:24:16] [INFO]   -> Found value: FIRE ALARM
[2026-03-21 14:24:16] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-21 14:24:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:24:16] [INFO]   -> Found value: 239
[2026-03-21 14:24:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 239
[2026-03-21 14:24:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 14:24:16] [INFO]   -> Found value: TN
[2026-03-21 14:24:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 14:24:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:24:16] [INFO]   -> Found value: 38544
[2026-03-21 14:24:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 14:24:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 14:24:16] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 14:24:16] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 14:24:16] [INFO]   -> Found value: 36.17448
[2026-03-21 14:24:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1744800000000026329871616326272487640380859375
[2026-03-21 14:24:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 14:24:16] [INFO]   -> Found value: -85.62394
[2026-03-21 14:24:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62394000000000460204319097101688385009765625
[2026-03-21 14:24:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 14:24:16] [INFO]   -> Found value: 2026-03-21 09:21:48
[2026-03-21 14:24:16] [INFO]   -> Set field 'alarm' = "2026-03-21 09:21:48"
[2026-03-21 14:24:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 14:24:16] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:24:16] [INFO]   -> Set field 'dispatched' = "2026-03-21 09:22:52"
[2026-03-21 14:24:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 14:24:16] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 14:24:16] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 14:24:16] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 14:24:16] [INFO]   -> Found value: /OLIVER WAY
[2026-03-21 14:24:16] [INFO]   -> Set field 'incidentLocationCross' = "\/OLIVER WAY"
[2026-03-21 14:24:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 14:24:16] [INFO]   -> Found value: BEN2
[2026-03-21 14:24:16] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 14:24:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 14:24:16] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:24:16] [INFO]   -> Set field 'timedispatch' = "2026-03-21 09:22:52"
[2026-03-21 14:24:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 14:24:16] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 14:24:16] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 14:24:16] [INFO]   -> Found value: 2026-03-21 09:24:13
[2026-03-21 14:24:16] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 09:24:13"
[2026-03-21 14:24:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 14:24:16] [INFO]   -> Found value: 2026-03-21 09:24:13
[2026-03-21 14:24:16] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 09:24:13"
[2026-03-21 14:24:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 14:24:16] [INFO]   -> Found value: 20260030522
[2026-03-21 14:24:16] [INFO]   -> Set field 'policeReportNumber' = "20260030522"
[2026-03-21 14:24:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 14:24:16] [INFO]   -> Found value: SPOKE WITH OWNER//FALSE ALARM  [03/21/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE//931-907-5955  [0...
[2026-03-21 14:24:16] [INFO]   -> Set field 'dispatchNotes' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:16] [INFO]   -> Set field 'cADLog' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 14:24:16] [INFO]   -> Found value: BAXTER
[2026-03-21 14:24:16] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 14:24:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 14:24:16] [INFO]   -> Found value: HARRIS
[2026-03-21 14:24:16] [INFO]   -> Set field 'streetName' = "HARRIS"
[2026-03-21 14:24:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 14:24:16] [INFO]   -> Found value: LN
[2026-03-21 14:24:16] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-21 14:24:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 14:24:16] [INFO]   -> Found value: 239 HARRIS LN
[2026-03-21 14:24:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "239 HARRIS LN"
[2026-03-21 14:24:16] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 14:24:16] [INFO] Concatenating street name and type
[2026-03-21 14:24:16] [INFO]   -> Combined street name: HARRIS LN
[2026-03-21 14:24:16] [INFO] Built locationCoordinates from lat/lng: 36.17448,-85.62394
[2026-03-21 14:24:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":239,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1744800000000026329871616326272487640380859375,"nERISIncidentLongitude":-85.62394000000000460204319097101688385009765625,"alarm":"2026-03-21 09:21:48","dispatched":"2026-03-21 09:22:52","incidentLocationCross":"\/OLIVER WAY","cADVehicleID":"BEN2","timedispatch":"2026-03-21 09:22:52","timeunitclear":"2026-03-21 09:24:13","timecanceledenroute":"2026-03-21 09:24:13","policeReportNumber":"20260030522","dispatchNotes":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","cADLog":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","incidentLocationCity":"BAXTER","streetName":"HARRIS LN","incidentAddressTextVersionStreet":"239 HARRIS LN","locationCoordinates":"36.17448,-85.62394"}
[2026-03-21 14:24:16] [INFO] Number of extracted fields: 23
[2026-03-21 14:24:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-21 14:24:16] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 14:24:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-21 14:24:16] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:24:16] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 14:24:16] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 14:24:16] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 14:24:16] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 14:24:16] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-03-21 14:24:17] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69bea9bfea73682a0 - will update instead of create
[2026-03-21 14:24:17] [INFO] Updated existing Dispatches record with ID: 69bea9bfea73682a0
[2026-03-21 14:24:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030522_20260321_142416.XML
[2026-03-21 14:24:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416.XML
[2026-03-21 14:24:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416_1.XML
[2026-03-21 14:24:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416_1.XML for user: 68f1466aed072ad4a
[2026-03-21 14:24:17] [INFO] File size: 5435 bytes
[2026-03-21 14:24:17] [INFO] Created FTPFiles record with ID: 69beaa11a4caa8233
[2026-03-21 14:24:17] [INFO] About to extract fields from XML. File size: 5435 bytes
[2026-03-21 14:24:17] [INFO] Number of mappings: 28
[2026-03-21 14:24:17] [INFO] Starting XML parsing. Content length: 5435
[2026-03-21 14:24:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 14:24:17] [INFO] Processing 28 field mappings
[2026-03-21 14:24:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 14:24:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 14:24:17] [INFO]   -> Found value: BFD
[2026-03-21 14:24:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-21 14:24:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:24:17] [INFO]   -> Found value: 2026000098
[2026-03-21 14:24:17] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-21 14:24:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-21 14:24:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 14:24:17] [INFO]   -> Found value: FIRE ALARM
[2026-03-21 14:24:17] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-21 14:24:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:24:17] [INFO]   -> Found value: 239
[2026-03-21 14:24:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 239
[2026-03-21 14:24:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 14:24:17] [INFO]   -> Found value: TN
[2026-03-21 14:24:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 14:24:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:24:17] [INFO]   -> Found value: 38544
[2026-03-21 14:24:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 14:24:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 14:24:17] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 14:24:17] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 14:24:17] [INFO]   -> Found value: 36.17448
[2026-03-21 14:24:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1744800000000026329871616326272487640380859375
[2026-03-21 14:24:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 14:24:17] [INFO]   -> Found value: -85.62394
[2026-03-21 14:24:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62394000000000460204319097101688385009765625
[2026-03-21 14:24:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 14:24:17] [INFO]   -> Found value: 2026-03-21 09:21:48
[2026-03-21 14:24:17] [INFO]   -> Set field 'alarm' = "2026-03-21 09:21:48"
[2026-03-21 14:24:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 14:24:17] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:24:17] [INFO]   -> Set field 'dispatched' = "2026-03-21 09:22:52"
[2026-03-21 14:24:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 14:24:17] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 14:24:17] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 14:24:17] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 14:24:17] [INFO]   -> Found value: /OLIVER WAY
[2026-03-21 14:24:17] [INFO]   -> Set field 'incidentLocationCross' = "\/OLIVER WAY"
[2026-03-21 14:24:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 14:24:17] [INFO]   -> Found value: BEN2
[2026-03-21 14:24:17] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 14:24:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 14:24:17] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:24:17] [INFO]   -> Set field 'timedispatch' = "2026-03-21 09:22:52"
[2026-03-21 14:24:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 14:24:17] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 14:24:17] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 14:24:17] [INFO]   -> Found value: 2026-03-21 09:24:13
[2026-03-21 14:24:17] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 09:24:13"
[2026-03-21 14:24:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 14:24:17] [INFO]   -> Found value: 2026-03-21 09:24:13
[2026-03-21 14:24:17] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 09:24:13"
[2026-03-21 14:24:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 14:24:17] [INFO]   -> Found value: 20260030522
[2026-03-21 14:24:17] [INFO]   -> Set field 'policeReportNumber' = "20260030522"
[2026-03-21 14:24:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 14:24:17] [INFO]   -> Found value: SPOKE WITH OWNER//FALSE ALARM  [03/21/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE//931-907-5955  [0...
[2026-03-21 14:24:17] [INFO]   -> Set field 'dispatchNotes' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:17] [INFO]   -> Set field 'cADLog' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 14:24:17] [INFO]   -> Found value: BAXTER
[2026-03-21 14:24:17] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 14:24:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 14:24:17] [INFO]   -> Found value: HARRIS
[2026-03-21 14:24:17] [INFO]   -> Set field 'streetName' = "HARRIS"
[2026-03-21 14:24:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 14:24:17] [INFO]   -> Found value: LN
[2026-03-21 14:24:17] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-21 14:24:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 14:24:17] [INFO]   -> Found value: 239 HARRIS LN
[2026-03-21 14:24:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "239 HARRIS LN"
[2026-03-21 14:24:17] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 14:24:17] [INFO] Concatenating street name and type
[2026-03-21 14:24:17] [INFO]   -> Combined street name: HARRIS LN
[2026-03-21 14:24:17] [INFO] Built locationCoordinates from lat/lng: 36.17448,-85.62394
[2026-03-21 14:24:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":239,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1744800000000026329871616326272487640380859375,"nERISIncidentLongitude":-85.62394000000000460204319097101688385009765625,"alarm":"2026-03-21 09:21:48","dispatched":"2026-03-21 09:22:52","incidentLocationCross":"\/OLIVER WAY","cADVehicleID":"BEN2","timedispatch":"2026-03-21 09:22:52","timeunitclear":"2026-03-21 09:24:13","timecanceledenroute":"2026-03-21 09:24:13","policeReportNumber":"20260030522","dispatchNotes":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","cADLog":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","incidentLocationCity":"BAXTER","streetName":"HARRIS LN","incidentAddressTextVersionStreet":"239 HARRIS LN","locationCoordinates":"36.17448,-85.62394"}
[2026-03-21 14:24:17] [INFO] Number of extracted fields: 23
[2026-03-21 14:24:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-21 14:24:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 14:24:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-21 14:24:17] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:24:17] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 14:24:18] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 14:24:18] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 14:24:18] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 14:24:18] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-03-21 14:24:18] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69bea9bfea73682a0 - will update instead of create
[2026-03-21 14:24:18] [INFO] Updated existing Dispatches record with ID: 69bea9bfea73682a0
[2026-03-21 14:24:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030522_20260321_142416_1.XML
[2026-03-21 14:24:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142416_1.XML
[2026-03-21 14:24:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142421.XML
[2026-03-21 14:24:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142421.XML for user: 68f1466aed072ad4a
[2026-03-21 14:24:21] [INFO] File size: 5502 bytes
[2026-03-21 14:24:22] [INFO] Created FTPFiles record with ID: 69beaa167d2527af8
[2026-03-21 14:24:22] [INFO] About to extract fields from XML. File size: 5502 bytes
[2026-03-21 14:24:22] [INFO] Number of mappings: 28
[2026-03-21 14:24:22] [INFO] Starting XML parsing. Content length: 5502
[2026-03-21 14:24:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 14:24:22] [INFO] Processing 28 field mappings
[2026-03-21 14:24:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 14:24:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 14:24:22] [INFO]   -> Found value: BFD
[2026-03-21 14:24:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-21 14:24:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:24:22] [INFO]   -> Found value: 2026000098
[2026-03-21 14:24:22] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-21 14:24:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-21 14:24:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 14:24:22] [INFO]   -> Found value: FIRE ALARM
[2026-03-21 14:24:22] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-21 14:24:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:24:22] [INFO]   -> Found value: 239
[2026-03-21 14:24:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 239
[2026-03-21 14:24:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 14:24:22] [INFO]   -> Found value: TN
[2026-03-21 14:24:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 14:24:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:24:22] [INFO]   -> Found value: 38544
[2026-03-21 14:24:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 14:24:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 14:24:22] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 14:24:22] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 14:24:22] [INFO]   -> Found value: 36.17448
[2026-03-21 14:24:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1744800000000026329871616326272487640380859375
[2026-03-21 14:24:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 14:24:22] [INFO]   -> Found value: -85.62394
[2026-03-21 14:24:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62394000000000460204319097101688385009765625
[2026-03-21 14:24:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 14:24:22] [INFO]   -> Found value: 2026-03-21 09:21:48
[2026-03-21 14:24:22] [INFO]   -> Set field 'alarm' = "2026-03-21 09:21:48"
[2026-03-21 14:24:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 14:24:22] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:24:22] [INFO]   -> Set field 'dispatched' = "2026-03-21 09:22:52"
[2026-03-21 14:24:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 14:24:22] [INFO]   -> Found value: 2026-03-21 09:24:17
[2026-03-21 14:24:22] [INFO]   -> Set field 'enroute' = "2026-03-21 09:24:17"
[2026-03-21 14:24:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 14:24:22] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 14:24:22] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 14:24:22] [INFO]   -> Found value: /OLIVER WAY
[2026-03-21 14:24:22] [INFO]   -> Set field 'incidentLocationCross' = "\/OLIVER WAY"
[2026-03-21 14:24:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 14:24:22] [INFO]   -> Found value: BEN1
[2026-03-21 14:24:22] [INFO]   -> Set field 'cADVehicleID' = "BEN1"
[2026-03-21 14:24:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 14:24:22] [INFO]   -> Found value: 2026-03-21 09:24:13
[2026-03-21 14:24:22] [INFO]   -> Set field 'timedispatch' = "2026-03-21 09:24:13"
[2026-03-21 14:24:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 14:24:22] [INFO]   -> Found value: 2026-03-21 09:24:17
[2026-03-21 14:24:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 09:24:17"
[2026-03-21 14:24:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 14:24:22] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 14:24:22] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 14:24:22] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 14:24:22] [INFO]   -> Found value: 20260030522
[2026-03-21 14:24:22] [INFO]   -> Set field 'policeReportNumber' = "20260030522"
[2026-03-21 14:24:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 14:24:22] [INFO]   -> Found value: SPOKE WITH OWNER//FALSE ALARM  [03/21/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE//931-907-5955  [0...
[2026-03-21 14:24:22] [INFO]   -> Set field 'dispatchNotes' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:22] [INFO]   -> Set field 'cADLog' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 14:24:22] [INFO]   -> Found value: BAXTER
[2026-03-21 14:24:22] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 14:24:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 14:24:22] [INFO]   -> Found value: HARRIS
[2026-03-21 14:24:22] [INFO]   -> Set field 'streetName' = "HARRIS"
[2026-03-21 14:24:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 14:24:22] [INFO]   -> Found value: LN
[2026-03-21 14:24:22] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-21 14:24:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 14:24:22] [INFO]   -> Found value: 239 HARRIS LN
[2026-03-21 14:24:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "239 HARRIS LN"
[2026-03-21 14:24:22] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 14:24:22] [INFO] Concatenating street name and type
[2026-03-21 14:24:22] [INFO]   -> Combined street name: HARRIS LN
[2026-03-21 14:24:22] [INFO] Built locationCoordinates from lat/lng: 36.17448,-85.62394
[2026-03-21 14:24:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":239,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1744800000000026329871616326272487640380859375,"nERISIncidentLongitude":-85.62394000000000460204319097101688385009765625,"alarm":"2026-03-21 09:21:48","dispatched":"2026-03-21 09:22:52","enroute":"2026-03-21 09:24:17","incidentLocationCross":"\/OLIVER WAY","cADVehicleID":"BEN1","timedispatch":"2026-03-21 09:24:13","timeenroutetoscene":"2026-03-21 09:24:17","policeReportNumber":"20260030522","dispatchNotes":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","cADLog":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","incidentLocationCity":"BAXTER","streetName":"HARRIS LN","incidentAddressTextVersionStreet":"239 HARRIS LN","locationCoordinates":"36.17448,-85.62394"}
[2026-03-21 14:24:22] [INFO] Number of extracted fields: 23
[2026-03-21 14:24:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-21 14:24:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 14:24:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-21 14:24:22] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:24:22] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 14:24:22] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 14:24:22] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 14:24:22] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 14:24:23] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-03-21 14:24:23] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69bea9bfea73682a0 - will update instead of create
[2026-03-21 14:24:23] [INFO] Updated existing Dispatches record with ID: 69bea9bfea73682a0
[2026-03-21 14:24:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142421.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030522_20260321_142421.XML
[2026-03-21 14:24:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142421.XML
[2026-03-21 14:24:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142423.XML
[2026-03-21 14:24:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142423.XML for user: 68f1466aed072ad4a
[2026-03-21 14:24:23] [INFO] File size: 5502 bytes
[2026-03-21 14:24:23] [INFO] Created FTPFiles record with ID: 69beaa17c9b381871
[2026-03-21 14:24:23] [INFO] About to extract fields from XML. File size: 5502 bytes
[2026-03-21 14:24:23] [INFO] Number of mappings: 28
[2026-03-21 14:24:23] [INFO] Starting XML parsing. Content length: 5502
[2026-03-21 14:24:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 14:24:23] [INFO] Processing 28 field mappings
[2026-03-21 14:24:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 14:24:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 14:24:23] [INFO]   -> Found value: BFD
[2026-03-21 14:24:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-21 14:24:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 14:24:23] [INFO]   -> Found value: 2026000098
[2026-03-21 14:24:23] [INFO]   -> Set field 'incidentInternalId' = "2026000098"
[2026-03-21 14:24:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000098"
[2026-03-21 14:24:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 14:24:23] [INFO]   -> Found value: FIRE ALARM
[2026-03-21 14:24:23] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-03-21 14:24:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 14:24:23] [INFO]   -> Found value: 239
[2026-03-21 14:24:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 239
[2026-03-21 14:24:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 14:24:23] [INFO]   -> Found value: TN
[2026-03-21 14:24:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 14:24:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 14:24:23] [INFO]   -> Found value: 38544
[2026-03-21 14:24:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 14:24:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 14:24:23] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 14:24:23] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 14:24:23] [INFO]   -> Found value: 36.17448
[2026-03-21 14:24:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1744800000000026329871616326272487640380859375
[2026-03-21 14:24:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 14:24:23] [INFO]   -> Found value: -85.62394
[2026-03-21 14:24:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62394000000000460204319097101688385009765625
[2026-03-21 14:24:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 14:24:23] [INFO]   -> Found value: 2026-03-21 09:21:48
[2026-03-21 14:24:23] [INFO]   -> Set field 'alarm' = "2026-03-21 09:21:48"
[2026-03-21 14:24:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 14:24:23] [INFO]   -> Found value: 2026-03-21 09:22:52
[2026-03-21 14:24:23] [INFO]   -> Set field 'dispatched' = "2026-03-21 09:22:52"
[2026-03-21 14:24:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 14:24:23] [INFO]   -> Found value: 2026-03-21 09:24:17
[2026-03-21 14:24:23] [INFO]   -> Set field 'enroute' = "2026-03-21 09:24:17"
[2026-03-21 14:24:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 14:24:23] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 14:24:23] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 14:24:23] [INFO]   -> Found value: /OLIVER WAY
[2026-03-21 14:24:23] [INFO]   -> Set field 'incidentLocationCross' = "\/OLIVER WAY"
[2026-03-21 14:24:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 14:24:23] [INFO]   -> Found value: BEN1
[2026-03-21 14:24:23] [INFO]   -> Set field 'cADVehicleID' = "BEN1"
[2026-03-21 14:24:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 14:24:23] [INFO]   -> Found value: 2026-03-21 09:24:13
[2026-03-21 14:24:23] [INFO]   -> Set field 'timedispatch' = "2026-03-21 09:24:13"
[2026-03-21 14:24:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 14:24:23] [INFO]   -> Found value: 2026-03-21 09:24:17
[2026-03-21 14:24:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 09:24:17"
[2026-03-21 14:24:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 14:24:23] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 14:24:23] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 14:24:23] [INFO]   -> No value found (null or empty)
[2026-03-21 14:24:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 14:24:23] [INFO]   -> Found value: 20260030522
[2026-03-21 14:24:23] [INFO]   -> Set field 'policeReportNumber' = "20260030522"
[2026-03-21 14:24:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 14:24:23] [INFO]   -> Found value: SPOKE WITH OWNER//FALSE ALARM  [03/21/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE//931-907-5955  [0...
[2026-03-21 14:24:23] [INFO]   -> Set field 'dispatchNotes' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:23] [INFO]   -> Set field 'cADLog' = "SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]"
[2026-03-21 14:24:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 14:24:23] [INFO]   -> Found value: BAXTER
[2026-03-21 14:24:23] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 14:24:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 14:24:23] [INFO]   -> Found value: HARRIS
[2026-03-21 14:24:23] [INFO]   -> Set field 'streetName' = "HARRIS"
[2026-03-21 14:24:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 14:24:23] [INFO]   -> Found value: LN
[2026-03-21 14:24:23] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-21 14:24:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 14:24:23] [INFO]   -> Found value: 239 HARRIS LN
[2026-03-21 14:24:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "239 HARRIS LN"
[2026-03-21 14:24:23] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 14:24:23] [INFO] Concatenating street name and type
[2026-03-21 14:24:23] [INFO]   -> Combined street name: HARRIS LN
[2026-03-21 14:24:23] [INFO] Built locationCoordinates from lat/lng: 36.17448,-85.62394
[2026-03-21 14:24:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000098","dispatchRunNumber":"2026000098","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":239,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1744800000000026329871616326272487640380859375,"nERISIncidentLongitude":-85.62394000000000460204319097101688385009765625,"alarm":"2026-03-21 09:21:48","dispatched":"2026-03-21 09:22:52","enroute":"2026-03-21 09:24:17","incidentLocationCross":"\/OLIVER WAY","cADVehicleID":"BEN1","timedispatch":"2026-03-21 09:24:13","timeenroutetoscene":"2026-03-21 09:24:17","policeReportNumber":"20260030522","dispatchNotes":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","cADLog":"SPOKE WITH OWNER\/\/FALSE ALARM  [03\/21\/26 09:23:43 KMORGAN2] ZONE 995  SPENCER HAYE\/\/931-907-5955  [03\/21\/26 09:22:38 KMORGAN2]","incidentLocationCity":"BAXTER","streetName":"HARRIS LN","incidentAddressTextVersionStreet":"239 HARRIS LN","locationCoordinates":"36.17448,-85.62394"}
[2026-03-21 14:24:23] [INFO] Number of extracted fields: 23
[2026-03-21 14:24:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-21 14:24:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 14:24:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-21 14:24:23] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 14:24:24] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 14:24:24] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 14:24:24] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 14:24:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 14:24:24] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-03-21 14:24:24] [INFO] Found existing Dispatch with cADNumber '2026000098', ID: 69bea9bfea73682a0 - will update instead of create
[2026-03-21 14:24:24] [INFO] Updated existing Dispatches record with ID: 69bea9bfea73682a0
[2026-03-21 14:24:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142423.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030522_20260321_142423.XML
[2026-03-21 14:24:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030522_20260321_142423.XML
[2026-03-21 15:40:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006.XML
[2026-03-21 15:40:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006.XML for user: 68f1466aed072ad4a
[2026-03-21 15:40:06] [INFO] File size: 5130 bytes
[2026-03-21 15:40:07] [INFO] Created FTPFiles record with ID: 69bebbd70a7a16181
[2026-03-21 15:40:07] [INFO] About to extract fields from XML. File size: 5130 bytes
[2026-03-21 15:40:07] [INFO] Number of mappings: 28
[2026-03-21 15:40:07] [INFO] Starting XML parsing. Content length: 5130
[2026-03-21 15:40:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 15:40:07] [INFO] Processing 28 field mappings
[2026-03-21 15:40:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 15:40:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 15:40:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 15:40:07] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 15:40:07] [INFO]   -> Found value: BFD
EMS
[2026-03-21 15:40:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 15:40:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 15:40:07] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 15:40:07] [INFO]   -> Found value: 2026000099
[2026-03-21 15:40:07] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-21 15:40:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-21 15:40:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 15:40:07] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 15:40:07] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 15:40:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 15:40:07] [INFO]   -> Found value: 8701
[2026-03-21 15:40:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8701
[2026-03-21 15:40:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 15:40:07] [INFO]   -> Found value: TN
[2026-03-21 15:40:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 15:40:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 15:40:07] [INFO]   -> Found value: 38544
[2026-03-21 15:40:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 15:40:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 15:40:07] [INFO]   -> Found value: PORTOBELLO AMERICA
[2026-03-21 15:40:07] [INFO]   -> Set field 'businessName' = "PORTOBELLO AMERICA"
[2026-03-21 15:40:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 15:40:07] [INFO]   -> Found value: 36.13707
[2026-03-21 15:40:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13707000000000135742084239609539508819580078125
[2026-03-21 15:40:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 15:40:07] [INFO]   -> Found value: -85.61683
[2026-03-21 15:40:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61682999999999310603016056120395660400390625
[2026-03-21 15:40:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 15:40:07] [INFO]   -> Found value: 2026-03-21 10:38:48
[2026-03-21 15:40:07] [INFO]   -> Set field 'alarm' = "2026-03-21 10:38:48"
[2026-03-21 15:40:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 15:40:07] [INFO]   -> Found value: 2026-03-21 10:40:03
[2026-03-21 15:40:07] [INFO]   -> Set field 'dispatched' = "2026-03-21 10:40:03"
[2026-03-21 15:40:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 15:40:07] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-21 15:40:07] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-21 15:40:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 15:40:07] [INFO]   -> Found value: BEN1
[2026-03-21 15:40:07] [INFO]   -> Set field 'cADVehicleID' = "BEN1"
[2026-03-21 15:40:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 15:40:07] [INFO]   -> Found value: 2026-03-21 10:40:03
[2026-03-21 15:40:07] [INFO]   -> Set field 'timedispatch' = "2026-03-21 10:40:03"
[2026-03-21 15:40:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 15:40:07] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 15:40:07] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 15:40:07] [INFO]   -> Found value: 20260030540
[2026-03-21 15:40:07] [INFO]   -> Set field 'policeReportNumber' = "20260030540"
[2026-03-21 15:40:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 15:40:07] [INFO]   -> Found value: [EMS] FOOT INJURY  [03/21/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03/21/2026 10:38:...
[2026-03-21 15:40:07] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:40:07] [INFO]   -> Set field 'cADLog' = "[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:40:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 15:40:07] [INFO]   -> Found value: BAXTER
[2026-03-21 15:40:07] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 15:40:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 15:40:07] [INFO]   -> Found value: DITTY
[2026-03-21 15:40:07] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-21 15:40:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 15:40:07] [INFO]   -> Found value: RD
[2026-03-21 15:40:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 15:40:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 15:40:07] [INFO]   -> Found value: 8701 DITTY RD
[2026-03-21 15:40:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8701 DITTY RD"
[2026-03-21 15:40:07] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 15:40:07] [INFO] Concatenating street name and type
[2026-03-21 15:40:07] [INFO]   -> Combined street name: DITTY RD
[2026-03-21 15:40:07] [INFO] Built locationCoordinates from lat/lng: 36.13707,-85.61683
[2026-03-21 15:40:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":8701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"PORTOBELLO AMERICA","nERISIncidentLatitude":36.13707000000000135742084239609539508819580078125,"nERISIncidentLongitude":-85.61682999999999310603016056120395660400390625,"alarm":"2026-03-21 10:38:48","dispatched":"2026-03-21 10:40:03","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"BEN1","timedispatch":"2026-03-21 10:40:03","policeReportNumber":"20260030540","dispatchNotes":"[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","cADLog":"[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"8701 DITTY RD","locationCoordinates":"36.13707,-85.61683"}
[2026-03-21 15:40:07] [INFO] Number of extracted fields: 22
[2026-03-21 15:40:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 15:40:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 15:40:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 15:40:07] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 15:40:07] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 15:40:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 15:40:07] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 15:40:07] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 15:40:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 15:40:07] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 15:40:07] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 15:40:08] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-21 15:40:14] [INFO] Created new Dispatches record with ID: 69bebbd8a7c455375
[2026-03-21 15:40:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030540_20260321_154006.XML
[2026-03-21 15:40:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006.XML
[2026-03-21 15:40:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006_1.XML
[2026-03-21 15:40:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006_1.XML for user: 68f1466aed072ad4a
[2026-03-21 15:40:14] [INFO] File size: 5130 bytes
[2026-03-21 15:40:14] [INFO] Created FTPFiles record with ID: 69bebbdea4f5f3096
[2026-03-21 15:40:14] [INFO] About to extract fields from XML. File size: 5130 bytes
[2026-03-21 15:40:14] [INFO] Number of mappings: 28
[2026-03-21 15:40:14] [INFO] Starting XML parsing. Content length: 5130
[2026-03-21 15:40:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 15:40:14] [INFO] Processing 28 field mappings
[2026-03-21 15:40:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 15:40:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 15:40:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 15:40:14] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 15:40:14] [INFO]   -> Found value: BFD
EMS
[2026-03-21 15:40:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 15:40:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 15:40:14] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 15:40:14] [INFO]   -> Found value: 2026000099
[2026-03-21 15:40:14] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-21 15:40:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-21 15:40:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 15:40:14] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 15:40:14] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 15:40:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 15:40:14] [INFO]   -> Found value: 8701
[2026-03-21 15:40:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8701
[2026-03-21 15:40:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 15:40:14] [INFO]   -> Found value: TN
[2026-03-21 15:40:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 15:40:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 15:40:14] [INFO]   -> Found value: 38544
[2026-03-21 15:40:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 15:40:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 15:40:14] [INFO]   -> Found value: PORTOBELLO AMERICA
[2026-03-21 15:40:14] [INFO]   -> Set field 'businessName' = "PORTOBELLO AMERICA"
[2026-03-21 15:40:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 15:40:14] [INFO]   -> Found value: 36.13707
[2026-03-21 15:40:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13707000000000135742084239609539508819580078125
[2026-03-21 15:40:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 15:40:14] [INFO]   -> Found value: -85.61683
[2026-03-21 15:40:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61682999999999310603016056120395660400390625
[2026-03-21 15:40:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 15:40:14] [INFO]   -> Found value: 2026-03-21 10:38:48
[2026-03-21 15:40:14] [INFO]   -> Set field 'alarm' = "2026-03-21 10:38:48"
[2026-03-21 15:40:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 15:40:14] [INFO]   -> Found value: 2026-03-21 10:40:03
[2026-03-21 15:40:14] [INFO]   -> Set field 'dispatched' = "2026-03-21 10:40:03"
[2026-03-21 15:40:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 15:40:14] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-21 15:40:14] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-21 15:40:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 15:40:14] [INFO]   -> Found value: BEN1
[2026-03-21 15:40:14] [INFO]   -> Set field 'cADVehicleID' = "BEN1"
[2026-03-21 15:40:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 15:40:14] [INFO]   -> Found value: 2026-03-21 10:40:03
[2026-03-21 15:40:14] [INFO]   -> Set field 'timedispatch' = "2026-03-21 10:40:03"
[2026-03-21 15:40:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 15:40:14] [INFO]   -> No value found (null or empty)
[2026-03-21 15:40:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 15:40:14] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 15:40:14] [INFO]   -> Found value: 20260030540
[2026-03-21 15:40:14] [INFO]   -> Set field 'policeReportNumber' = "20260030540"
[2026-03-21 15:40:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 15:40:14] [INFO]   -> Found value: [EMS] FOOT INJURY  [03/21/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03/21/2026 10:38:...
[2026-03-21 15:40:14] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:40:14] [INFO]   -> Set field 'cADLog' = "[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:40:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 15:40:14] [INFO]   -> Found value: BAXTER
[2026-03-21 15:40:14] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 15:40:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 15:40:14] [INFO]   -> Found value: DITTY
[2026-03-21 15:40:14] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-21 15:40:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 15:40:14] [INFO]   -> Found value: RD
[2026-03-21 15:40:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 15:40:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 15:40:14] [INFO]   -> Found value: 8701 DITTY RD
[2026-03-21 15:40:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8701 DITTY RD"
[2026-03-21 15:40:14] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 15:40:14] [INFO] Concatenating street name and type
[2026-03-21 15:40:14] [INFO]   -> Combined street name: DITTY RD
[2026-03-21 15:40:14] [INFO] Built locationCoordinates from lat/lng: 36.13707,-85.61683
[2026-03-21 15:40:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":8701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"PORTOBELLO AMERICA","nERISIncidentLatitude":36.13707000000000135742084239609539508819580078125,"nERISIncidentLongitude":-85.61682999999999310603016056120395660400390625,"alarm":"2026-03-21 10:38:48","dispatched":"2026-03-21 10:40:03","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"BEN1","timedispatch":"2026-03-21 10:40:03","policeReportNumber":"20260030540","dispatchNotes":"[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","cADLog":"[EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"8701 DITTY RD","locationCoordinates":"36.13707,-85.61683"}
[2026-03-21 15:40:14] [INFO] Number of extracted fields: 22
[2026-03-21 15:40:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 15:40:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 15:40:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 15:40:14] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 15:40:14] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 15:40:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 15:40:15] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 15:40:15] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 15:40:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 15:40:15] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 15:40:15] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 15:40:15] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-21 15:40:15] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bebbd8a7c455375 - will update instead of create
[2026-03-21 15:40:16] [INFO] Updated existing Dispatches record with ID: 69bebbd8a7c455375
[2026-03-21 15:40:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030540_20260321_154006_1.XML
[2026-03-21 15:40:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154006_1.XML
[2026-03-21 15:42:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154242.XML
[2026-03-21 15:42:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154242.XML for user: 68f1466aed072ad4a
[2026-03-21 15:42:42] [INFO] File size: 6053 bytes
[2026-03-21 15:42:43] [INFO] Created FTPFiles record with ID: 69bebc73314e7cb6c
[2026-03-21 15:42:43] [INFO] About to extract fields from XML. File size: 6053 bytes
[2026-03-21 15:42:43] [INFO] Number of mappings: 28
[2026-03-21 15:42:43] [INFO] Starting XML parsing. Content length: 6053
[2026-03-21 15:42:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 15:42:43] [INFO] Processing 28 field mappings
[2026-03-21 15:42:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 15:42:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 15:42:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 15:42:43] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 15:42:43] [INFO]   -> Found value: BFD
EMS
[2026-03-21 15:42:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 15:42:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 15:42:43] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 15:42:43] [INFO]   -> Found value: 2026000099
[2026-03-21 15:42:43] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-21 15:42:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-21 15:42:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 15:42:43] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 15:42:43] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 15:42:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 15:42:43] [INFO]   -> Found value: 8701
[2026-03-21 15:42:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8701
[2026-03-21 15:42:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 15:42:43] [INFO]   -> Found value: TN
[2026-03-21 15:42:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 15:42:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 15:42:43] [INFO]   -> Found value: 38544
[2026-03-21 15:42:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 15:42:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 15:42:43] [INFO]   -> Found value: PORTOBELLO AMERICA
[2026-03-21 15:42:43] [INFO]   -> Set field 'businessName' = "PORTOBELLO AMERICA"
[2026-03-21 15:42:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 15:42:43] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 15:42:43] [INFO]   -> Found value: 36.13707
[2026-03-21 15:42:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13707000000000135742084239609539508819580078125
[2026-03-21 15:42:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 15:42:43] [INFO]   -> Found value: -85.61683
[2026-03-21 15:42:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61682999999999310603016056120395660400390625
[2026-03-21 15:42:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 15:42:43] [INFO]   -> Found value: 2026-03-21 10:38:48
[2026-03-21 15:42:43] [INFO]   -> Set field 'alarm' = "2026-03-21 10:38:48"
[2026-03-21 15:42:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 15:42:43] [INFO]   -> Found value: 2026-03-21 10:40:03
[2026-03-21 15:42:43] [INFO]   -> Set field 'dispatched' = "2026-03-21 10:40:03"
[2026-03-21 15:42:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 15:42:43] [INFO]   -> Found value: 2026-03-21 10:42:40
[2026-03-21 15:42:43] [INFO]   -> Set field 'enroute' = "2026-03-21 10:42:40"
[2026-03-21 15:42:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 15:42:43] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 15:42:43] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 15:42:43] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-21 15:42:43] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-21 15:42:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 15:42:43] [INFO]   -> Found value: BEN2
[2026-03-21 15:42:43] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 15:42:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 15:42:43] [INFO]   -> Found value: 2026-03-21 10:42:37
[2026-03-21 15:42:43] [INFO]   -> Set field 'timedispatch' = "2026-03-21 10:42:37"
[2026-03-21 15:42:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 15:42:43] [INFO]   -> Found value: 2026-03-21 10:42:40
[2026-03-21 15:42:43] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 10:42:40"
[2026-03-21 15:42:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 15:42:43] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 15:42:43] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 15:42:43] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 15:42:43] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 15:42:43] [INFO]   -> Found value: 20260030540
[2026-03-21 15:42:43] [INFO]   -> Set field 'policeReportNumber' = "20260030540"
[2026-03-21 15:42:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 15:42:43] [INFO]   -> Found value: [EMS] ACADEMY RD TO DITTY RD  [03/21/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03/21/26 10:39:06 DS...
[2026-03-21 15:42:43] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:42:43] [INFO]   -> Set field 'cADLog' = "[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:42:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 15:42:43] [INFO]   -> Found value: BAXTER
[2026-03-21 15:42:43] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 15:42:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 15:42:43] [INFO]   -> Found value: DITTY
[2026-03-21 15:42:43] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-21 15:42:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 15:42:43] [INFO]   -> Found value: RD
[2026-03-21 15:42:43] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 15:42:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 15:42:43] [INFO]   -> Found value: 8701 DITTY RD
[2026-03-21 15:42:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8701 DITTY RD"
[2026-03-21 15:42:43] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 15:42:43] [INFO] Concatenating street name and type
[2026-03-21 15:42:43] [INFO]   -> Combined street name: DITTY RD
[2026-03-21 15:42:43] [INFO] Built locationCoordinates from lat/lng: 36.13707,-85.61683
[2026-03-21 15:42:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":8701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"PORTOBELLO AMERICA","nERISIncidentLatitude":36.13707000000000135742084239609539508819580078125,"nERISIncidentLongitude":-85.61682999999999310603016056120395660400390625,"alarm":"2026-03-21 10:38:48","dispatched":"2026-03-21 10:40:03","enroute":"2026-03-21 10:42:40","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"BEN2","timedispatch":"2026-03-21 10:42:37","timeenroutetoscene":"2026-03-21 10:42:40","policeReportNumber":"20260030540","dispatchNotes":"[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","cADLog":"[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"8701 DITTY RD","locationCoordinates":"36.13707,-85.61683"}
[2026-03-21 15:42:43] [INFO] Number of extracted fields: 24
[2026-03-21 15:42:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 15:42:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 15:42:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 15:42:43] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 15:42:43] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 15:42:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 15:42:43] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 15:42:43] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 15:42:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 15:42:43] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 15:42:43] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 15:42:43] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-21 15:42:43] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bebbd8a7c455375 - will update instead of create
[2026-03-21 15:42:44] [INFO] Updated existing Dispatches record with ID: 69bebbd8a7c455375
[2026-03-21 15:42:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154242.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030540_20260321_154242.XML
[2026-03-21 15:42:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154242.XML
[2026-03-21 15:42:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154244.XML
[2026-03-21 15:42:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154244.XML for user: 68f1466aed072ad4a
[2026-03-21 15:42:44] [INFO] File size: 6053 bytes
[2026-03-21 15:42:45] [INFO] Created FTPFiles record with ID: 69bebc754c1de3861
[2026-03-21 15:42:45] [INFO] About to extract fields from XML. File size: 6053 bytes
[2026-03-21 15:42:45] [INFO] Number of mappings: 28
[2026-03-21 15:42:45] [INFO] Starting XML parsing. Content length: 6053
[2026-03-21 15:42:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 15:42:45] [INFO] Processing 28 field mappings
[2026-03-21 15:42:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 15:42:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 15:42:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 15:42:45] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 15:42:45] [INFO]   -> Found value: BFD
EMS
[2026-03-21 15:42:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 15:42:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 15:42:45] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 15:42:45] [INFO]   -> Found value: 2026000099
[2026-03-21 15:42:45] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-21 15:42:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-21 15:42:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 15:42:45] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 15:42:45] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 15:42:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 15:42:45] [INFO]   -> Found value: 8701
[2026-03-21 15:42:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8701
[2026-03-21 15:42:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 15:42:45] [INFO]   -> Found value: TN
[2026-03-21 15:42:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 15:42:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 15:42:45] [INFO]   -> Found value: 38544
[2026-03-21 15:42:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 15:42:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 15:42:45] [INFO]   -> Found value: PORTOBELLO AMERICA
[2026-03-21 15:42:45] [INFO]   -> Set field 'businessName' = "PORTOBELLO AMERICA"
[2026-03-21 15:42:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 15:42:45] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 15:42:45] [INFO]   -> Found value: 36.13707
[2026-03-21 15:42:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13707000000000135742084239609539508819580078125
[2026-03-21 15:42:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 15:42:45] [INFO]   -> Found value: -85.61683
[2026-03-21 15:42:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61682999999999310603016056120395660400390625
[2026-03-21 15:42:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 15:42:45] [INFO]   -> Found value: 2026-03-21 10:38:48
[2026-03-21 15:42:45] [INFO]   -> Set field 'alarm' = "2026-03-21 10:38:48"
[2026-03-21 15:42:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 15:42:45] [INFO]   -> Found value: 2026-03-21 10:40:03
[2026-03-21 15:42:45] [INFO]   -> Set field 'dispatched' = "2026-03-21 10:40:03"
[2026-03-21 15:42:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 15:42:45] [INFO]   -> Found value: 2026-03-21 10:42:40
[2026-03-21 15:42:45] [INFO]   -> Set field 'enroute' = "2026-03-21 10:42:40"
[2026-03-21 15:42:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 15:42:45] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 15:42:45] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 15:42:45] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-21 15:42:45] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-21 15:42:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 15:42:45] [INFO]   -> Found value: BEN2
[2026-03-21 15:42:45] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 15:42:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 15:42:45] [INFO]   -> Found value: 2026-03-21 10:42:37
[2026-03-21 15:42:45] [INFO]   -> Set field 'timedispatch' = "2026-03-21 10:42:37"
[2026-03-21 15:42:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 15:42:45] [INFO]   -> Found value: 2026-03-21 10:42:40
[2026-03-21 15:42:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 10:42:40"
[2026-03-21 15:42:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 15:42:45] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 15:42:45] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 15:42:45] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 15:42:45] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 15:42:45] [INFO]   -> Found value: 20260030540
[2026-03-21 15:42:45] [INFO]   -> Set field 'policeReportNumber' = "20260030540"
[2026-03-21 15:42:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 15:42:45] [INFO]   -> Found value: [EMS] ACADEMY RD TO DITTY RD  [03/21/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03/21/26 10:39:06 DS...
[2026-03-21 15:42:45] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:42:45] [INFO]   -> Set field 'cADLog' = "[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:42:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 15:42:45] [INFO]   -> Found value: BAXTER
[2026-03-21 15:42:45] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 15:42:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 15:42:45] [INFO]   -> Found value: DITTY
[2026-03-21 15:42:45] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-21 15:42:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 15:42:45] [INFO]   -> Found value: RD
[2026-03-21 15:42:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 15:42:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 15:42:45] [INFO]   -> Found value: 8701 DITTY RD
[2026-03-21 15:42:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8701 DITTY RD"
[2026-03-21 15:42:45] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 15:42:45] [INFO] Concatenating street name and type
[2026-03-21 15:42:45] [INFO]   -> Combined street name: DITTY RD
[2026-03-21 15:42:45] [INFO] Built locationCoordinates from lat/lng: 36.13707,-85.61683
[2026-03-21 15:42:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":8701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"PORTOBELLO AMERICA","nERISIncidentLatitude":36.13707000000000135742084239609539508819580078125,"nERISIncidentLongitude":-85.61682999999999310603016056120395660400390625,"alarm":"2026-03-21 10:38:48","dispatched":"2026-03-21 10:40:03","enroute":"2026-03-21 10:42:40","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"BEN2","timedispatch":"2026-03-21 10:42:37","timeenroutetoscene":"2026-03-21 10:42:40","policeReportNumber":"20260030540","dispatchNotes":"[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","cADLog":"[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"8701 DITTY RD","locationCoordinates":"36.13707,-85.61683"}
[2026-03-21 15:42:45] [INFO] Number of extracted fields: 24
[2026-03-21 15:42:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 15:42:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 15:42:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 15:42:45] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 15:42:45] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 15:42:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 15:42:45] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 15:42:45] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 15:42:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 15:42:45] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 15:42:45] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 15:42:45] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-21 15:42:46] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bebbd8a7c455375 - will update instead of create
[2026-03-21 15:42:46] [INFO] Updated existing Dispatches record with ID: 69bebbd8a7c455375
[2026-03-21 15:42:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154244.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030540_20260321_154244.XML
[2026-03-21 15:42:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154244.XML
[2026-03-21 15:42:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154249.XML
[2026-03-21 15:42:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154249.XML for user: 68f1466aed072ad4a
[2026-03-21 15:42:49] [INFO] File size: 6053 bytes
[2026-03-21 15:42:49] [INFO] Created FTPFiles record with ID: 69bebc79af93190f0
[2026-03-21 15:42:49] [INFO] About to extract fields from XML. File size: 6053 bytes
[2026-03-21 15:42:49] [INFO] Number of mappings: 28
[2026-03-21 15:42:49] [INFO] Starting XML parsing. Content length: 6053
[2026-03-21 15:42:49] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 15:42:49] [INFO] Processing 28 field mappings
[2026-03-21 15:42:49] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 15:42:49] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 15:42:49] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 15:42:49] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 15:42:49] [INFO]   -> Found value: BFD
EMS
[2026-03-21 15:42:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 15:42:49] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 15:42:49] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 15:42:49] [INFO]   -> Found value: 2026000099
[2026-03-21 15:42:49] [INFO]   -> Set field 'incidentInternalId' = "2026000099"
[2026-03-21 15:42:49] [INFO]   -> Set field 'dispatchRunNumber' = "2026000099"
[2026-03-21 15:42:49] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 15:42:49] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 15:42:49] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 15:42:49] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 15:42:49] [INFO]   -> Found value: 8701
[2026-03-21 15:42:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8701
[2026-03-21 15:42:49] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 15:42:49] [INFO]   -> Found value: TN
[2026-03-21 15:42:49] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 15:42:49] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 15:42:49] [INFO]   -> Found value: 38544
[2026-03-21 15:42:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 15:42:49] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 15:42:49] [INFO]   -> Found value: PORTOBELLO AMERICA
[2026-03-21 15:42:49] [INFO]   -> Set field 'businessName' = "PORTOBELLO AMERICA"
[2026-03-21 15:42:49] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 15:42:49] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:49] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 15:42:49] [INFO]   -> Found value: 36.13707
[2026-03-21 15:42:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13707000000000135742084239609539508819580078125
[2026-03-21 15:42:49] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 15:42:49] [INFO]   -> Found value: -85.61683
[2026-03-21 15:42:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61682999999999310603016056120395660400390625
[2026-03-21 15:42:49] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 15:42:49] [INFO]   -> Found value: 2026-03-21 10:38:48
[2026-03-21 15:42:49] [INFO]   -> Set field 'alarm' = "2026-03-21 10:38:48"
[2026-03-21 15:42:49] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 15:42:49] [INFO]   -> Found value: 2026-03-21 10:40:03
[2026-03-21 15:42:49] [INFO]   -> Set field 'dispatched' = "2026-03-21 10:40:03"
[2026-03-21 15:42:49] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 15:42:49] [INFO]   -> Found value: 2026-03-21 10:42:40
[2026-03-21 15:42:49] [INFO]   -> Set field 'enroute' = "2026-03-21 10:42:40"
[2026-03-21 15:42:49] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 15:42:49] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:49] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 15:42:49] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:49] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 15:42:49] [INFO]   -> Found value: ACADEMY RD/BAXTER RD
[2026-03-21 15:42:49] [INFO]   -> Set field 'incidentLocationCross' = "ACADEMY RD\/BAXTER RD"
[2026-03-21 15:42:49] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 15:42:49] [INFO]   -> Found value: BEN2
[2026-03-21 15:42:49] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 15:42:49] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 15:42:49] [INFO]   -> Found value: 2026-03-21 10:42:37
[2026-03-21 15:42:49] [INFO]   -> Set field 'timedispatch' = "2026-03-21 10:42:37"
[2026-03-21 15:42:49] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 15:42:49] [INFO]   -> Found value: 2026-03-21 10:42:40
[2026-03-21 15:42:49] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 10:42:40"
[2026-03-21 15:42:49] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 15:42:49] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:49] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 15:42:49] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:49] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 15:42:49] [INFO]   -> No value found (null or empty)
[2026-03-21 15:42:49] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 15:42:49] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 15:42:49] [INFO]   -> Found value: 20260030540
[2026-03-21 15:42:49] [INFO]   -> Set field 'policeReportNumber' = "20260030540"
[2026-03-21 15:42:49] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 15:42:49] [INFO]   -> Found value: [EMS] ACADEMY RD TO DITTY RD  [03/21/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03/21/26 10:39:06 DS...
[2026-03-21 15:42:49] [INFO]   -> Set field 'dispatchNotes' = "[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:42:49] [INFO]   -> Set field 'cADLog' = "[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]"
[2026-03-21 15:42:49] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 15:42:49] [INFO]   -> Found value: BAXTER
[2026-03-21 15:42:49] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 15:42:49] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 15:42:49] [INFO]   -> Found value: DITTY
[2026-03-21 15:42:49] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-21 15:42:49] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 15:42:49] [INFO]   -> Found value: RD
[2026-03-21 15:42:49] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 15:42:49] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 15:42:49] [INFO]   -> Found value: 8701 DITTY RD
[2026-03-21 15:42:49] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8701 DITTY RD"
[2026-03-21 15:42:49] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 15:42:49] [INFO] Concatenating street name and type
[2026-03-21 15:42:49] [INFO]   -> Combined street name: DITTY RD
[2026-03-21 15:42:49] [INFO] Built locationCoordinates from lat/lng: 36.13707,-85.61683
[2026-03-21 15:42:49] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000099","dispatchRunNumber":"2026000099","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":8701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"PORTOBELLO AMERICA","nERISIncidentLatitude":36.13707000000000135742084239609539508819580078125,"nERISIncidentLongitude":-85.61682999999999310603016056120395660400390625,"alarm":"2026-03-21 10:38:48","dispatched":"2026-03-21 10:40:03","enroute":"2026-03-21 10:42:40","incidentLocationCross":"ACADEMY RD\/BAXTER RD","cADVehicleID":"BEN2","timedispatch":"2026-03-21 10:42:37","timeenroutetoscene":"2026-03-21 10:42:40","policeReportNumber":"20260030540","dispatchNotes":"[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","cADLog":"[EMS] ACADEMY RD TO DITTY RD  [03\/21\/26 10:41:09 DSTEPHENS] [EMS] FOOT INJURY  [03\/21\/26 10:39:06 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 10:38:48 DSTEPHENS] MAIN ENTRANCE  TILE FELL ON HER FOOT AND BROKE HER FOOT  [03\/21\/26 10:38:29 DSTEPHENS]]","incidentLocationCity":"BAXTER","streetName":"DITTY RD","incidentAddressTextVersionStreet":"8701 DITTY RD","locationCoordinates":"36.13707,-85.61683"}
[2026-03-21 15:42:49] [INFO] Number of extracted fields: 24
[2026-03-21 15:42:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 15:42:49] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 15:42:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 15:42:49] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 15:42:49] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 15:42:49] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 15:42:50] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 15:42:50] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 15:42:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 15:42:50] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 15:42:50] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 15:42:50] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-21 15:42:50] [INFO] Found existing Dispatch with cADNumber '2026000099', ID: 69bebbd8a7c455375 - will update instead of create
[2026-03-21 15:42:50] [INFO] Updated existing Dispatches record with ID: 69bebbd8a7c455375
[2026-03-21 15:42:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154249.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030540_20260321_154249.XML
[2026-03-21 15:42:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030540_20260321_154249.XML
[2026-03-21 15:46:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08531.xml
[2026-03-21 15:46:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08531.xml for user: 68d56363ec1209189
[2026-03-21 15:46:53] [INFO] File size: 1514 bytes
[2026-03-21 15:46:53] [INFO] Created FTPFiles record with ID: 69bebd6d8c5bcc189
[2026-03-21 15:46:53] [INFO] About to extract fields from XML. File size: 1514 bytes
[2026-03-21 15:46:53] [INFO] Number of mappings: 21
[2026-03-21 15:46:53] [INFO] Starting XML parsing. Content length: 1514
[2026-03-21 15:46:53] [INFO] XML parsed successfully. Root element: Incident
[2026-03-21 15:46:53] [INFO] Processing 21 field mappings
[2026-03-21 15:46:53] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-21 15:46:53] [INFO]   -> Found value: 26-08531
[2026-03-21 15:46:53] [INFO]   -> Set field 'dispatchRunNumber' = "26-08531"
[2026-03-21 15:46:53] [INFO]   -> Set field 'cADNumber' = "26-08531"
[2026-03-21 15:46:53] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-21 15:46:53] [INFO]   -> Found value: STATE HIGHWAY 77
[2026-03-21 15:46:53] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY 77"
[2026-03-21 15:46:53] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-21 15:46:53] [INFO]   -> Found value: BENTON
[2026-03-21 15:46:53] [INFO]   -> Set field 'incidentLocationCity' = "BENTON"
[2026-03-21 15:46:53] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-21 15:46:53] [INFO]   -> Found value: 0
[2026-03-21 15:46:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-21 15:46:53] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-21 15:46:53] [INFO]   -> Found value: 0
[2026-03-21 15:46:53] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-21 15:46:53] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-21 15:46:53] [INFO]   -> Found value: FIRE-GRASS/BRUSH/TREES
[2026-03-21 15:46:53] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GRASS\/BRUSH\/TREES"
[2026-03-21 15:46:53] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-21 15:46:53] [INFO]   -> Found value: 03-21-2026 10:37:24|POSSIBLE CONTROLLED BURN OUT OF CONTROL 
CALLER IS 3RD PARTY SHE DOESNT SEE ANYO...
[2026-03-21 15:46:53] [INFO]   -> Set field 'dispatchNotes' = "03-21-2026 10:37:24|POSSIBLE CONTROLLED BURN OUT OF CONTROL \nCALLER IS 3RD PARTY SHE DOESNT SEE ANYONE AROUND THE FIRE AND MAY HAVE POSSIBLY CAUGHT A TREE ON FIRE\nSMALL FIRE  03-21-2026 10:45:24|1101 ADVISED NBC WILL HAVE UNITS ENROUTE TO 77"
[2026-03-21 15:46:53] [INFO]   -> Set field 'cADLog' = "03-21-2026 10:37:24|POSSIBLE CONTROLLED BURN OUT OF CONTROL \nCALLER IS 3RD PARTY SHE DOESNT SEE ANYONE AROUND THE FIRE AND MAY HAVE POSSIBLY CAUGHT A TREE ON FIRE\nSMALL FIRE  03-21-2026 10:45:24|1101 ADVISED NBC WILL HAVE UNITS ENROUTE TO 77"
[2026-03-21 15:46:53] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-21 15:46:53] [INFO]   -> Found value: 03-21-2026T10:41:47
[2026-03-21 15:46:53] [INFO] Reformatted DD-MM-YYYY date '03-21-2026' (day=03, month=21) to ISO: 2026-21-03T10:41:47
[2026-03-21 15:46:53] [ERROR] Error formatting datetime '2026-21-03T10:41:47': Failed to parse time string (2026-21-03T10:41:47) at position 6 (1): Unexpected character
[2026-03-21 15:46:53] [INFO]   -> Set field 'alarm' = null
[2026-03-21 15:46:53] [INFO] Reformatted DD-MM-YYYY date '03-21-2026' (day=03, month=21) to ISO: 2026-21-03T10:41:47
[2026-03-21 15:46:53] [ERROR] Error formatting datetime '2026-21-03T10:41:47': Failed to parse time string (2026-21-03T10:41:47) at position 6 (1): Unexpected character
[2026-03-21 15:46:53] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 15:46:53] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-21 15:46:53] [INFO]   -> Found value: RURAL PAGE
[2026-03-21 15:46:53] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-03-21 15:46:53] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-03-21 15:46:53] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-21 15:46:53] [INFO]   -> No value found (null or empty)
[2026-03-21 15:46:53] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-21 15:46:53] [INFO]   -> Found value: 03-21-2026T10:46:01
[2026-03-21 15:46:53] [INFO] Reformatted DD-MM-YYYY date '03-21-2026' (day=03, month=21) to ISO: 2026-21-03T10:46:01
[2026-03-21 15:46:53] [ERROR] Error formatting datetime '2026-21-03T10:46:01': Failed to parse time string (2026-21-03T10:46:01) at position 6 (1): Unexpected character
[2026-03-21 15:46:53] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 15:46:53] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-21 15:46:53] [INFO]   -> Found value: 03-21-2026T10:41:47
[2026-03-21 15:46:53] [INFO] Reformatted DD-MM-YYYY date '03-21-2026' (day=03, month=21) to ISO: 2026-21-03T10:41:47
[2026-03-21 15:46:53] [ERROR] Error formatting datetime '2026-21-03T10:41:47': Failed to parse time string (2026-21-03T10:41:47) at position 6 (1): Unexpected character
[2026-03-21 15:46:53] [INFO]   -> Set field 'timedispatch' = null
[2026-03-21 15:46:53] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-21 15:46:53] [INFO]   -> Found value: SCRFD
[2026-03-21 15:46:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-21 15:46:53] [INFO] Finished extracting fields. Total fields extracted: 16
[2026-03-21 15:46:53] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-21 15:46:53] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08531","cADNumber":"26-08531","streetName":"STATE HIGHWAY 77","incidentLocationCity":"BENTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GRASS\/BRUSH\/TREES","dispatchNotes":"03-21-2026 10:37:24|POSSIBLE CONTROLLED BURN OUT OF CONTROL \nCALLER IS 3RD PARTY SHE DOESNT SEE ANYONE AROUND THE FIRE AND MAY HAVE POSSIBLY CAUGHT A TREE ON FIRE\nSMALL FIRE  03-21-2026 10:45:24|1101 ADVISED NBC WILL HAVE UNITS ENROUTE TO 77","cADLog":"03-21-2026 10:37:24|POSSIBLE CONTROLLED BURN OUT OF CONTROL \nCALLER IS 3RD PARTY SHE DOESNT SEE ANYONE AROUND THE FIRE AND MAY HAVE POSSIBLY CAUGHT A TREE ON FIRE\nSMALL FIRE  03-21-2026 10:45:24|1101 ADVISED NBC WILL HAVE UNITS ENROUTE TO 77","alarm":null,"dispatched":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-21 15:46:53] [INFO] Number of extracted fields: 17
[2026-03-21 15:46:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-21 15:46:53] [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-21 15:46:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-21 15:46:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-21 15:46:53] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-21 15:46:54] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-21 15:46:54] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-21 15:46:54] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-21 15:46:54] [INFO] Found existing IncidentTypeMapping with ID: 6938ba16ac72f649f
[2026-03-21 15:47:05] [INFO] Created new Dispatches record with ID: 69bebd6ee24ad964d
[2026-03-21 15:47:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08531.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-21/SCRFD_26-08531.xml
[2026-03-21 15:47:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08531.xml
[2026-03-21 16:07:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160739.XML
[2026-03-21 16:07:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160739.XML for user: 68f1466aed072ad4a
[2026-03-21 16:07:39] [INFO] File size: 5023 bytes
[2026-03-21 16:07:40] [INFO] Created FTPFiles record with ID: 69bec24c22d683ddb
[2026-03-21 16:07:40] [INFO] About to extract fields from XML. File size: 5023 bytes
[2026-03-21 16:07:40] [INFO] Number of mappings: 28
[2026-03-21 16:07:40] [INFO] Starting XML parsing. Content length: 5023
[2026-03-21 16:07:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:07:40] [INFO] Processing 28 field mappings
[2026-03-21 16:07:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:07:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:07:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 16:07:40] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 16:07:40] [INFO]   -> Found value: BFD
EMS
[2026-03-21 16:07:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 16:07:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:07:40] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 16:07:40] [INFO]   -> Found value: 2026000100
[2026-03-21 16:07:40] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-21 16:07:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-21 16:07:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:07:40] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 16:07:40] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 16:07:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:07:40] [INFO]   -> Found value: 112
[2026-03-21 16:07:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 112
[2026-03-21 16:07:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:07:40] [INFO]   -> Found value: TN
[2026-03-21 16:07:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:07:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:07:40] [INFO]   -> Found value: 38544
[2026-03-21 16:07:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 16:07:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:07:40] [INFO]   -> Found value: 36.15869
[2026-03-21 16:07:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15868999999999999772626324556767940521240234375
[2026-03-21 16:07:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:07:40] [INFO]   -> Found value: -85.64834
[2026-03-21 16:07:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6483400000000045793058234266936779022216796875
[2026-03-21 16:07:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:07:40] [INFO]   -> Found value: 2026-03-21 11:06:32
[2026-03-21 16:07:40] [INFO]   -> Set field 'alarm' = "2026-03-21 11:06:32"
[2026-03-21 16:07:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:07:40] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:07:40] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:07:36"
[2026-03-21 16:07:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:07:40] [INFO]   -> Found value: FIRST AVE N/CELESTE DR
[2026-03-21 16:07:40] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE N\/CELESTE DR"
[2026-03-21 16:07:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:07:40] [INFO]   -> Found value: BEN2
[2026-03-21 16:07:40] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 16:07:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:07:40] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:07:40] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:07:36"
[2026-03-21 16:07:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:07:40] [INFO]   -> No value found (null or empty)
[2026-03-21 16:07:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:07:40] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 16:07:40] [INFO]   -> Found value: 20260030556
[2026-03-21 16:07:40] [INFO]   -> Set field 'policeReportNumber' = "20260030556"
[2026-03-21 16:07:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:07:40] [INFO]   -> Found value: [EMS] TERESA SRADY   1/01/1963  [03/21/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS....
[2026-03-21 16:07:40] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:07:40] [INFO]   -> Set field 'cADLog' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:07:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:07:40] [INFO]   -> Found value: BAXTER
[2026-03-21 16:07:40] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 16:07:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:07:40] [INFO]   -> Found value: CHESTNUT
[2026-03-21 16:07:40] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-03-21 16:07:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:07:40] [INFO]   -> Found value: ST
[2026-03-21 16:07:40] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 16:07:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:07:40] [INFO]   -> Found value: 112 CHESTNUT ST
[2026-03-21 16:07:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "112 CHESTNUT ST"
[2026-03-21 16:07:40] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 16:07:40] [INFO] Concatenating street name and type
[2026-03-21 16:07:40] [INFO]   -> Combined street name: CHESTNUT ST
[2026-03-21 16:07:40] [INFO] Built locationCoordinates from lat/lng: 36.15869,-85.64834
[2026-03-21 16:07:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":112,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15868999999999999772626324556767940521240234375,"nERISIncidentLongitude":-85.6483400000000045793058234266936779022216796875,"alarm":"2026-03-21 11:06:32","dispatched":"2026-03-21 11:07:36","incidentLocationCross":"FIRST AVE N\/CELESTE DR","cADVehicleID":"BEN2","timedispatch":"2026-03-21 11:07:36","policeReportNumber":"20260030556","dispatchNotes":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","cADLog":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"112 CHESTNUT ST","locationCoordinates":"36.15869,-85.64834"}
[2026-03-21 16:07:40] [INFO] Number of extracted fields: 21
[2026-03-21 16:07:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 16:07:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 16:07:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 16:07:40] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:07:40] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 16:07:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 16:07:40] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 16:07:40] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 16:07:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 16:07:40] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 16:07:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 16:07:41] [INFO] Found existing IncidentTypeMapping with ID: 6945b068937da743b
[2026-03-21 16:07:47] [INFO] Created new Dispatches record with ID: 69bec24d75f495107
[2026-03-21 16:07:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160739.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030556_20260321_160739.XML
[2026-03-21 16:07:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160739.XML
[2026-03-21 16:08:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160812.XML
[2026-03-21 16:08:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160812.XML for user: 68f1466aed072ad4a
[2026-03-21 16:08:12] [INFO] File size: 5090 bytes
[2026-03-21 16:08:13] [INFO] Created FTPFiles record with ID: 69bec26d1d65d26e1
[2026-03-21 16:08:13] [INFO] About to extract fields from XML. File size: 5090 bytes
[2026-03-21 16:08:13] [INFO] Number of mappings: 28
[2026-03-21 16:08:13] [INFO] Starting XML parsing. Content length: 5090
[2026-03-21 16:08:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:08:13] [INFO] Processing 28 field mappings
[2026-03-21 16:08:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:08:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:08:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 16:08:13] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 16:08:13] [INFO]   -> Found value: BFD
EMS
[2026-03-21 16:08:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 16:08:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:08:13] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 16:08:13] [INFO]   -> Found value: 2026000100
[2026-03-21 16:08:13] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-21 16:08:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-21 16:08:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:08:13] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 16:08:13] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 16:08:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:08:13] [INFO]   -> Found value: 112
[2026-03-21 16:08:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 112
[2026-03-21 16:08:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:08:13] [INFO]   -> Found value: TN
[2026-03-21 16:08:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:08:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:08:13] [INFO]   -> Found value: 38544
[2026-03-21 16:08:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 16:08:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:08:13] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:08:13] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:08:13] [INFO]   -> Found value: 36.15869
[2026-03-21 16:08:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15868999999999999772626324556767940521240234375
[2026-03-21 16:08:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:08:13] [INFO]   -> Found value: -85.64834
[2026-03-21 16:08:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6483400000000045793058234266936779022216796875
[2026-03-21 16:08:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:08:13] [INFO]   -> Found value: 2026-03-21 11:06:32
[2026-03-21 16:08:13] [INFO]   -> Set field 'alarm' = "2026-03-21 11:06:32"
[2026-03-21 16:08:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:08:13] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:13] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:07:36"
[2026-03-21 16:08:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:08:13] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:13] [INFO]   -> Set field 'enroute' = "2026-03-21 11:08:05"
[2026-03-21 16:08:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:08:13] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:08:13] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:08:13] [INFO]   -> Found value: FIRST AVE N/CELESTE DR
[2026-03-21 16:08:13] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE N\/CELESTE DR"
[2026-03-21 16:08:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:08:13] [INFO]   -> Found value: BEN2
[2026-03-21 16:08:13] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 16:08:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:08:13] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:13] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:07:36"
[2026-03-21 16:08:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:08:13] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:08:05"
[2026-03-21 16:08:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:08:13] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:08:13] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:08:13] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:08:13] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 16:08:13] [INFO]   -> Found value: 20260030556
[2026-03-21 16:08:13] [INFO]   -> Set field 'policeReportNumber' = "20260030556"
[2026-03-21 16:08:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:08:13] [INFO]   -> Found value: [EMS] TERESA SRADY   1/01/1963  [03/21/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS....
[2026-03-21 16:08:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:13] [INFO]   -> Set field 'cADLog' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:08:13] [INFO]   -> Found value: BAXTER
[2026-03-21 16:08:13] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 16:08:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:08:13] [INFO]   -> Found value: CHESTNUT
[2026-03-21 16:08:13] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-03-21 16:08:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:08:13] [INFO]   -> Found value: ST
[2026-03-21 16:08:13] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 16:08:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:08:13] [INFO]   -> Found value: 112 CHESTNUT ST
[2026-03-21 16:08:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "112 CHESTNUT ST"
[2026-03-21 16:08:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 16:08:13] [INFO] Concatenating street name and type
[2026-03-21 16:08:13] [INFO]   -> Combined street name: CHESTNUT ST
[2026-03-21 16:08:13] [INFO] Built locationCoordinates from lat/lng: 36.15869,-85.64834
[2026-03-21 16:08:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":112,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15868999999999999772626324556767940521240234375,"nERISIncidentLongitude":-85.6483400000000045793058234266936779022216796875,"alarm":"2026-03-21 11:06:32","dispatched":"2026-03-21 11:07:36","enroute":"2026-03-21 11:08:05","incidentLocationCross":"FIRST AVE N\/CELESTE DR","cADVehicleID":"BEN2","timedispatch":"2026-03-21 11:07:36","timeenroutetoscene":"2026-03-21 11:08:05","policeReportNumber":"20260030556","dispatchNotes":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","cADLog":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"112 CHESTNUT ST","locationCoordinates":"36.15869,-85.64834"}
[2026-03-21 16:08:13] [INFO] Number of extracted fields: 23
[2026-03-21 16:08:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 16:08:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 16:08:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 16:08:13] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:08:13] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 16:08:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 16:08:13] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 16:08:13] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 16:08:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 16:08:13] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 16:08:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 16:08:13] [INFO] Found existing IncidentTypeMapping with ID: 6945b068937da743b
[2026-03-21 16:08:13] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69bec24d75f495107 - will update instead of create
[2026-03-21 16:08:14] [INFO] Updated existing Dispatches record with ID: 69bec24d75f495107
[2026-03-21 16:08:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160812.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030556_20260321_160812.XML
[2026-03-21 16:08:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160812.XML
[2026-03-21 16:08:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160815.XML
[2026-03-21 16:08:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160815.XML for user: 68f1466aed072ad4a
[2026-03-21 16:08:15] [INFO] File size: 5090 bytes
[2026-03-21 16:08:15] [INFO] Created FTPFiles record with ID: 69bec26f6eae106b7
[2026-03-21 16:08:15] [INFO] About to extract fields from XML. File size: 5090 bytes
[2026-03-21 16:08:15] [INFO] Number of mappings: 28
[2026-03-21 16:08:15] [INFO] Starting XML parsing. Content length: 5090
[2026-03-21 16:08:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:08:15] [INFO] Processing 28 field mappings
[2026-03-21 16:08:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:08:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:08:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 16:08:15] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 16:08:15] [INFO]   -> Found value: BFD
EMS
[2026-03-21 16:08:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 16:08:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:08:15] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 16:08:15] [INFO]   -> Found value: 2026000100
[2026-03-21 16:08:15] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-21 16:08:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-21 16:08:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:08:15] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 16:08:15] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 16:08:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:08:15] [INFO]   -> Found value: 112
[2026-03-21 16:08:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 112
[2026-03-21 16:08:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:08:15] [INFO]   -> Found value: TN
[2026-03-21 16:08:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:08:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:08:15] [INFO]   -> Found value: 38544
[2026-03-21 16:08:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 16:08:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:08:15] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:08:15] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:08:15] [INFO]   -> Found value: 36.15869
[2026-03-21 16:08:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15868999999999999772626324556767940521240234375
[2026-03-21 16:08:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:08:15] [INFO]   -> Found value: -85.64834
[2026-03-21 16:08:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6483400000000045793058234266936779022216796875
[2026-03-21 16:08:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:08:15] [INFO]   -> Found value: 2026-03-21 11:06:32
[2026-03-21 16:08:15] [INFO]   -> Set field 'alarm' = "2026-03-21 11:06:32"
[2026-03-21 16:08:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:08:15] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:15] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:07:36"
[2026-03-21 16:08:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:08:15] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:15] [INFO]   -> Set field 'enroute' = "2026-03-21 11:08:05"
[2026-03-21 16:08:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:08:15] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:08:15] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:08:15] [INFO]   -> Found value: FIRST AVE N/CELESTE DR
[2026-03-21 16:08:15] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE N\/CELESTE DR"
[2026-03-21 16:08:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:08:15] [INFO]   -> Found value: BEN2
[2026-03-21 16:08:15] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 16:08:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:08:15] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:15] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:07:36"
[2026-03-21 16:08:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:08:15] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:08:05"
[2026-03-21 16:08:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:08:15] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:08:15] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:08:15] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:08:15] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 16:08:15] [INFO]   -> Found value: 20260030556
[2026-03-21 16:08:15] [INFO]   -> Set field 'policeReportNumber' = "20260030556"
[2026-03-21 16:08:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:08:15] [INFO]   -> Found value: [EMS] TERESA SRADY   1/01/1963  [03/21/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS....
[2026-03-21 16:08:15] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:15] [INFO]   -> Set field 'cADLog' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:08:15] [INFO]   -> Found value: BAXTER
[2026-03-21 16:08:15] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 16:08:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:08:15] [INFO]   -> Found value: CHESTNUT
[2026-03-21 16:08:15] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-03-21 16:08:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:08:15] [INFO]   -> Found value: ST
[2026-03-21 16:08:15] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 16:08:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:08:15] [INFO]   -> Found value: 112 CHESTNUT ST
[2026-03-21 16:08:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "112 CHESTNUT ST"
[2026-03-21 16:08:15] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 16:08:15] [INFO] Concatenating street name and type
[2026-03-21 16:08:15] [INFO]   -> Combined street name: CHESTNUT ST
[2026-03-21 16:08:15] [INFO] Built locationCoordinates from lat/lng: 36.15869,-85.64834
[2026-03-21 16:08:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":112,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15868999999999999772626324556767940521240234375,"nERISIncidentLongitude":-85.6483400000000045793058234266936779022216796875,"alarm":"2026-03-21 11:06:32","dispatched":"2026-03-21 11:07:36","enroute":"2026-03-21 11:08:05","incidentLocationCross":"FIRST AVE N\/CELESTE DR","cADVehicleID":"BEN2","timedispatch":"2026-03-21 11:07:36","timeenroutetoscene":"2026-03-21 11:08:05","policeReportNumber":"20260030556","dispatchNotes":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","cADLog":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"112 CHESTNUT ST","locationCoordinates":"36.15869,-85.64834"}
[2026-03-21 16:08:15] [INFO] Number of extracted fields: 23
[2026-03-21 16:08:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 16:08:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 16:08:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 16:08:15] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:08:15] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 16:08:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 16:08:15] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 16:08:15] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 16:08:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 16:08:15] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 16:08:15] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 16:08:16] [INFO] Found existing IncidentTypeMapping with ID: 6945b068937da743b
[2026-03-21 16:08:16] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69bec24d75f495107 - will update instead of create
[2026-03-21 16:08:16] [INFO] Updated existing Dispatches record with ID: 69bec24d75f495107
[2026-03-21 16:08:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160815.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030556_20260321_160815.XML
[2026-03-21 16:08:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160815.XML
[2026-03-21 16:08:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816.XML
[2026-03-21 16:08:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816.XML for user: 68f1466aed072ad4a
[2026-03-21 16:08:16] [INFO] File size: 5090 bytes
[2026-03-21 16:08:16] [INFO] Created FTPFiles record with ID: 69bec270be3e34635
[2026-03-21 16:08:16] [INFO] About to extract fields from XML. File size: 5090 bytes
[2026-03-21 16:08:16] [INFO] Number of mappings: 28
[2026-03-21 16:08:16] [INFO] Starting XML parsing. Content length: 5090
[2026-03-21 16:08:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:08:16] [INFO] Processing 28 field mappings
[2026-03-21 16:08:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:08:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:08:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 16:08:16] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 16:08:16] [INFO]   -> Found value: BFD
EMS
[2026-03-21 16:08:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 16:08:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:08:16] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 16:08:16] [INFO]   -> Found value: 2026000100
[2026-03-21 16:08:16] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-21 16:08:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-21 16:08:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:08:16] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 16:08:16] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 16:08:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:08:16] [INFO]   -> Found value: 112
[2026-03-21 16:08:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 112
[2026-03-21 16:08:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:08:16] [INFO]   -> Found value: TN
[2026-03-21 16:08:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:08:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:08:16] [INFO]   -> Found value: 38544
[2026-03-21 16:08:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 16:08:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:08:16] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:08:16] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:08:16] [INFO]   -> Found value: 36.15869
[2026-03-21 16:08:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15868999999999999772626324556767940521240234375
[2026-03-21 16:08:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:08:16] [INFO]   -> Found value: -85.64834
[2026-03-21 16:08:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6483400000000045793058234266936779022216796875
[2026-03-21 16:08:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:08:16] [INFO]   -> Found value: 2026-03-21 11:06:32
[2026-03-21 16:08:16] [INFO]   -> Set field 'alarm' = "2026-03-21 11:06:32"
[2026-03-21 16:08:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:08:16] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:16] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:07:36"
[2026-03-21 16:08:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:08:16] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:16] [INFO]   -> Set field 'enroute' = "2026-03-21 11:08:05"
[2026-03-21 16:08:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:08:16] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:08:16] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:08:16] [INFO]   -> Found value: FIRST AVE N/CELESTE DR
[2026-03-21 16:08:16] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE N\/CELESTE DR"
[2026-03-21 16:08:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:08:16] [INFO]   -> Found value: BEN2
[2026-03-21 16:08:16] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 16:08:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:08:16] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:16] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:07:36"
[2026-03-21 16:08:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:08:16] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:08:05"
[2026-03-21 16:08:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:08:16] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:08:16] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:08:16] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:08:16] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 16:08:16] [INFO]   -> Found value: 20260030556
[2026-03-21 16:08:16] [INFO]   -> Set field 'policeReportNumber' = "20260030556"
[2026-03-21 16:08:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:08:16] [INFO]   -> Found value: [EMS] TERESA SRADY   1/01/1963  [03/21/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS....
[2026-03-21 16:08:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:16] [INFO]   -> Set field 'cADLog' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:08:16] [INFO]   -> Found value: BAXTER
[2026-03-21 16:08:16] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 16:08:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:08:16] [INFO]   -> Found value: CHESTNUT
[2026-03-21 16:08:16] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-03-21 16:08:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:08:16] [INFO]   -> Found value: ST
[2026-03-21 16:08:16] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 16:08:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:08:16] [INFO]   -> Found value: 112 CHESTNUT ST
[2026-03-21 16:08:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "112 CHESTNUT ST"
[2026-03-21 16:08:16] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 16:08:16] [INFO] Concatenating street name and type
[2026-03-21 16:08:16] [INFO]   -> Combined street name: CHESTNUT ST
[2026-03-21 16:08:16] [INFO] Built locationCoordinates from lat/lng: 36.15869,-85.64834
[2026-03-21 16:08:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":112,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15868999999999999772626324556767940521240234375,"nERISIncidentLongitude":-85.6483400000000045793058234266936779022216796875,"alarm":"2026-03-21 11:06:32","dispatched":"2026-03-21 11:07:36","enroute":"2026-03-21 11:08:05","incidentLocationCross":"FIRST AVE N\/CELESTE DR","cADVehicleID":"BEN2","timedispatch":"2026-03-21 11:07:36","timeenroutetoscene":"2026-03-21 11:08:05","policeReportNumber":"20260030556","dispatchNotes":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","cADLog":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"112 CHESTNUT ST","locationCoordinates":"36.15869,-85.64834"}
[2026-03-21 16:08:16] [INFO] Number of extracted fields: 23
[2026-03-21 16:08:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 16:08:16] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 16:08:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 16:08:16] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:08:16] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 16:08:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 16:08:17] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 16:08:17] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 16:08:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 16:08:17] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 16:08:17] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 16:08:17] [INFO] Found existing IncidentTypeMapping with ID: 6945b068937da743b
[2026-03-21 16:08:17] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69bec24d75f495107 - will update instead of create
[2026-03-21 16:08:17] [INFO] Updated existing Dispatches record with ID: 69bec24d75f495107
[2026-03-21 16:08:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030556_20260321_160816.XML
[2026-03-21 16:08:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816.XML
[2026-03-21 16:08:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816_1.XML
[2026-03-21 16:08:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816_1.XML for user: 68f1466aed072ad4a
[2026-03-21 16:08:17] [INFO] File size: 5090 bytes
[2026-03-21 16:08:18] [INFO] Created FTPFiles record with ID: 69bec27219aa77787
[2026-03-21 16:08:18] [INFO] About to extract fields from XML. File size: 5090 bytes
[2026-03-21 16:08:18] [INFO] Number of mappings: 28
[2026-03-21 16:08:18] [INFO] Starting XML parsing. Content length: 5090
[2026-03-21 16:08:18] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:08:18] [INFO] Processing 28 field mappings
[2026-03-21 16:08:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:08:18] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:08:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 16:08:18] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 16:08:18] [INFO]   -> Found value: BFD
EMS
[2026-03-21 16:08:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-21 16:08:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:08:18] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 16:08:18] [INFO]   -> Found value: 2026000100
[2026-03-21 16:08:18] [INFO]   -> Set field 'incidentInternalId' = "2026000100"
[2026-03-21 16:08:18] [INFO]   -> Set field 'dispatchRunNumber' = "2026000100"
[2026-03-21 16:08:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:08:18] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-21 16:08:18] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-21 16:08:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:08:18] [INFO]   -> Found value: 112
[2026-03-21 16:08:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 112
[2026-03-21 16:08:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:08:18] [INFO]   -> Found value: TN
[2026-03-21 16:08:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:08:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:08:18] [INFO]   -> Found value: 38544
[2026-03-21 16:08:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 16:08:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:08:18] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:08:18] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:08:18] [INFO]   -> Found value: 36.15869
[2026-03-21 16:08:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15868999999999999772626324556767940521240234375
[2026-03-21 16:08:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:08:18] [INFO]   -> Found value: -85.64834
[2026-03-21 16:08:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6483400000000045793058234266936779022216796875
[2026-03-21 16:08:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:08:18] [INFO]   -> Found value: 2026-03-21 11:06:32
[2026-03-21 16:08:18] [INFO]   -> Set field 'alarm' = "2026-03-21 11:06:32"
[2026-03-21 16:08:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:08:18] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:18] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:07:36"
[2026-03-21 16:08:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:08:18] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:18] [INFO]   -> Set field 'enroute' = "2026-03-21 11:08:05"
[2026-03-21 16:08:18] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:08:18] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:18] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:08:18] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:18] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:08:18] [INFO]   -> Found value: FIRST AVE N/CELESTE DR
[2026-03-21 16:08:18] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE N\/CELESTE DR"
[2026-03-21 16:08:18] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:08:18] [INFO]   -> Found value: BEN2
[2026-03-21 16:08:18] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-21 16:08:18] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:08:18] [INFO]   -> Found value: 2026-03-21 11:07:36
[2026-03-21 16:08:18] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:07:36"
[2026-03-21 16:08:18] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:08:18] [INFO]   -> Found value: 2026-03-21 11:08:05
[2026-03-21 16:08:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:08:05"
[2026-03-21 16:08:18] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:08:18] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:18] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:08:18] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:18] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:08:18] [INFO]   -> No value found (null or empty)
[2026-03-21 16:08:18] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:08:18] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 16:08:18] [INFO]   -> Found value: 20260030556
[2026-03-21 16:08:18] [INFO]   -> Set field 'policeReportNumber' = "20260030556"
[2026-03-21 16:08:18] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:08:18] [INFO]   -> Found value: [EMS] TERESA SRADY   1/01/1963  [03/21/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS....
[2026-03-21 16:08:18] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:18] [INFO]   -> Set field 'cADLog' = "[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]"
[2026-03-21 16:08:18] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:08:18] [INFO]   -> Found value: BAXTER
[2026-03-21 16:08:18] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 16:08:18] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:08:18] [INFO]   -> Found value: CHESTNUT
[2026-03-21 16:08:18] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-03-21 16:08:18] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:08:18] [INFO]   -> Found value: ST
[2026-03-21 16:08:18] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 16:08:18] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:08:18] [INFO]   -> Found value: 112 CHESTNUT ST
[2026-03-21 16:08:18] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "112 CHESTNUT ST"
[2026-03-21 16:08:18] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 16:08:18] [INFO] Concatenating street name and type
[2026-03-21 16:08:18] [INFO]   -> Combined street name: CHESTNUT ST
[2026-03-21 16:08:18] [INFO] Built locationCoordinates from lat/lng: 36.15869,-85.64834
[2026-03-21 16:08:18] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000100","dispatchRunNumber":"2026000100","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":112,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15868999999999999772626324556767940521240234375,"nERISIncidentLongitude":-85.6483400000000045793058234266936779022216796875,"alarm":"2026-03-21 11:06:32","dispatched":"2026-03-21 11:07:36","enroute":"2026-03-21 11:08:05","incidentLocationCross":"FIRST AVE N\/CELESTE DR","cADVehicleID":"BEN2","timedispatch":"2026-03-21 11:07:36","timeenroutetoscene":"2026-03-21 11:08:05","policeReportNumber":"20260030556","dispatchNotes":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","cADLog":"[EMS] TERESA SRADY   1\/01\/1963  [03\/21\/26 11:07:13 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [03\/21\/2026 11:06:32 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"112 CHESTNUT ST","locationCoordinates":"36.15869,-85.64834"}
[2026-03-21 16:08:18] [INFO] Number of extracted fields: 23
[2026-03-21 16:08:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-21 16:08:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 16:08:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-21 16:08:18] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:08:18] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-21 16:08:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 16:08:18] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-21 16:08:18] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-21 16:08:18] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 16:08:18] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-21 16:08:18] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-21 16:08:18] [INFO] Found existing IncidentTypeMapping with ID: 6945b068937da743b
[2026-03-21 16:08:18] [INFO] Found existing Dispatch with cADNumber '2026000100', ID: 69bec24d75f495107 - will update instead of create
[2026-03-21 16:08:19] [INFO] Updated existing Dispatches record with ID: 69bec24d75f495107
[2026-03-21 16:08:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/BFD_20260030556_20260321_160816_1.XML
[2026-03-21 16:08:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260030556_20260321_160816_1.XML
[2026-03-21 16:13:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161309.XML
[2026-03-21 16:13:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161309.XML for user: 68f1466aed072ad4a
[2026-03-21 16:13:09] [INFO] File size: 4613 bytes
[2026-03-21 16:13:09] [INFO] Created FTPFiles record with ID: 69bec395e130d033b
[2026-03-21 16:13:09] [INFO] About to extract fields from XML. File size: 4613 bytes
[2026-03-21 16:13:09] [INFO] Number of mappings: 28
[2026-03-21 16:13:09] [INFO] Starting XML parsing. Content length: 4613
[2026-03-21 16:13:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:13:09] [INFO] Processing 28 field mappings
[2026-03-21 16:13:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:13:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:13:09] [INFO]   -> Found value: PCFD
[2026-03-21 16:13:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 16:13:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:13:09] [INFO]   -> Found value: 2026000760
[2026-03-21 16:13:09] [INFO]   -> Set field 'incidentInternalId' = "2026000760"
[2026-03-21 16:13:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000760"
[2026-03-21 16:13:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:13:09] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 16:13:09] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 16:13:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:13:09] [INFO]   -> Found value: 4199
[2026-03-21 16:13:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 16:13:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:13:09] [INFO]   -> Found value: TN
[2026-03-21 16:13:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:13:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:13:09] [INFO]   -> Found value: 38506
[2026-03-21 16:13:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 16:13:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:13:09] [INFO]   -> Found value: 36.11346
[2026-03-21 16:13:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 16:13:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:13:09] [INFO]   -> Found value: -85.45051
[2026-03-21 16:13:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 16:13:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:13:09] [INFO]   -> Found value: 2026-03-21 11:10:19
[2026-03-21 16:13:09] [INFO]   -> Set field 'alarm' = "2026-03-21 11:10:19"
[2026-03-21 16:13:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:13:09] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:13:09] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:13:06"
[2026-03-21 16:13:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:13:09] [INFO]   -> Found value: TK15
[2026-03-21 16:13:09] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 16:13:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:13:09] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:13:09] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:13:06"
[2026-03-21 16:13:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:13:09] [INFO]   -> No value found (null or empty)
[2026-03-21 16:13:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:13:09] [INFO]   -> Found value: 20260030559
[2026-03-21 16:13:09] [INFO]   -> Set field 'policeReportNumber' = "20260030559"
[2026-03-21 16:13:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:13:09] [INFO]   -> Found value: LARGE AREA BURNING//LOTS OF SMOKE  [03/21/26 11:11:44 KMORGAN2]
[2026-03-21 16:13:09] [INFO]   -> Set field 'dispatchNotes' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:13:09] [INFO]   -> Set field 'cADLog' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:13:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:13:09] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 16:13:09] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 16:13:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:13:09] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 16:13:09] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 16:13:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:13:09] [INFO]   -> Found value: RD
[2026-03-21 16:13:09] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 16:13:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:13:09] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 16:13:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 16:13:09] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 16:13:09] [INFO] Concatenating street name and type
[2026-03-21 16:13:09] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 16:13:09] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 16:13:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000760","dispatchRunNumber":"2026000760","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-21 11:10:19","dispatched":"2026-03-21 11:13:06","cADVehicleID":"TK15","timedispatch":"2026-03-21 11:13:06","policeReportNumber":"20260030559","dispatchNotes":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","cADLog":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 16:13:09] [INFO] Number of extracted fields: 20
[2026-03-21 16:13:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 16:13:09] [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-21 16:13:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 16:13:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:13:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 16:13: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-21 16:13: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-21 16:13:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 16:13:10] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 16:13:20] [INFO] Created new Dispatches record with ID: 69bec3970eb1f4dce
[2026-03-21 16:13:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161309.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030559_20260321_161309.XML
[2026-03-21 16:13:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161309.XML
[2026-03-21 16:15:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161516.XML
[2026-03-21 16:15:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161516.XML for user: 68f1466aed072ad4a
[2026-03-21 16:15:16] [INFO] File size: 4680 bytes
[2026-03-21 16:15:17] [INFO] Created FTPFiles record with ID: 69bec4150b753e25c
[2026-03-21 16:15:17] [INFO] About to extract fields from XML. File size: 4680 bytes
[2026-03-21 16:15:17] [INFO] Number of mappings: 28
[2026-03-21 16:15:17] [INFO] Starting XML parsing. Content length: 4680
[2026-03-21 16:15:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:15:17] [INFO] Processing 28 field mappings
[2026-03-21 16:15:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:15:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:15:17] [INFO]   -> Found value: PCFD
[2026-03-21 16:15:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 16:15:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:15:17] [INFO]   -> Found value: 2026000760
[2026-03-21 16:15:17] [INFO]   -> Set field 'incidentInternalId' = "2026000760"
[2026-03-21 16:15:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000760"
[2026-03-21 16:15:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:15:17] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 16:15:17] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 16:15:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:15:17] [INFO]   -> Found value: 4199
[2026-03-21 16:15:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 16:15:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:15:17] [INFO]   -> Found value: TN
[2026-03-21 16:15:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:15:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:15:17] [INFO]   -> Found value: 38506
[2026-03-21 16:15:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 16:15:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:15:17] [INFO]   -> Found value: 36.11346
[2026-03-21 16:15:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 16:15:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:15:17] [INFO]   -> Found value: -85.45051
[2026-03-21 16:15:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 16:15:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:15:17] [INFO]   -> Found value: 2026-03-21 11:10:19
[2026-03-21 16:15:17] [INFO]   -> Set field 'alarm' = "2026-03-21 11:10:19"
[2026-03-21 16:15:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:15:17] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:17] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:13:06"
[2026-03-21 16:15:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:15:17] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:17] [INFO]   -> Set field 'enroute' = "2026-03-21 11:15:14"
[2026-03-21 16:15:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:15:17] [INFO]   -> Found value: TK15
[2026-03-21 16:15:17] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 16:15:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:15:17] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:17] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:13:06"
[2026-03-21 16:15:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:15:17] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:17] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:15:14"
[2026-03-21 16:15:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:15:17] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:15:17] [INFO]   -> Found value: 20260030559
[2026-03-21 16:15:17] [INFO]   -> Set field 'policeReportNumber' = "20260030559"
[2026-03-21 16:15:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:15:17] [INFO]   -> Found value: LARGE AREA BURNING//LOTS OF SMOKE  [03/21/26 11:11:44 KMORGAN2]
[2026-03-21 16:15:17] [INFO]   -> Set field 'dispatchNotes' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:17] [INFO]   -> Set field 'cADLog' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:15:17] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 16:15:17] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 16:15:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:15:17] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 16:15:17] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 16:15:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:15:17] [INFO]   -> Found value: RD
[2026-03-21 16:15:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 16:15:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:15:17] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 16:15:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 16:15:17] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 16:15:17] [INFO] Concatenating street name and type
[2026-03-21 16:15:17] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 16:15:17] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 16:15:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000760","dispatchRunNumber":"2026000760","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-21 11:10:19","dispatched":"2026-03-21 11:13:06","enroute":"2026-03-21 11:15:14","cADVehicleID":"TK15","timedispatch":"2026-03-21 11:13:06","timeenroutetoscene":"2026-03-21 11:15:14","policeReportNumber":"20260030559","dispatchNotes":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","cADLog":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 16:15:17] [INFO] Number of extracted fields: 22
[2026-03-21 16:15:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 16:15:17] [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-21 16:15:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 16:15:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:15:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 16:15: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-21 16:15: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-21 16:15:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 16:15:17] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 16:15:17] [INFO] Found existing Dispatch with cADNumber '2026000760', ID: 69bec3970eb1f4dce - will update instead of create
[2026-03-21 16:15:17] [INFO] Updated existing Dispatches record with ID: 69bec3970eb1f4dce
[2026-03-21 16:15:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161516.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030559_20260321_161516.XML
[2026-03-21 16:15:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161516.XML
[2026-03-21 16:15:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161522.XML
[2026-03-21 16:15:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161522.XML for user: 68f1466aed072ad4a
[2026-03-21 16:15:22] [INFO] File size: 4680 bytes
[2026-03-21 16:15:22] [INFO] Created FTPFiles record with ID: 69bec41ae745437a3
[2026-03-21 16:15:22] [INFO] About to extract fields from XML. File size: 4680 bytes
[2026-03-21 16:15:22] [INFO] Number of mappings: 28
[2026-03-21 16:15:22] [INFO] Starting XML parsing. Content length: 4680
[2026-03-21 16:15:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:15:22] [INFO] Processing 28 field mappings
[2026-03-21 16:15:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:15:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:15:22] [INFO]   -> Found value: PCFD
[2026-03-21 16:15:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 16:15:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:15:22] [INFO]   -> Found value: 2026000760
[2026-03-21 16:15:22] [INFO]   -> Set field 'incidentInternalId' = "2026000760"
[2026-03-21 16:15:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000760"
[2026-03-21 16:15:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:15:22] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 16:15:22] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 16:15:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:15:22] [INFO]   -> Found value: 4199
[2026-03-21 16:15:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 16:15:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:15:22] [INFO]   -> Found value: TN
[2026-03-21 16:15:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:15:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:15:22] [INFO]   -> Found value: 38506
[2026-03-21 16:15:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 16:15:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:15:22] [INFO]   -> Found value: 36.11346
[2026-03-21 16:15:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 16:15:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:15:22] [INFO]   -> Found value: -85.45051
[2026-03-21 16:15:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 16:15:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:15:22] [INFO]   -> Found value: 2026-03-21 11:10:19
[2026-03-21 16:15:22] [INFO]   -> Set field 'alarm' = "2026-03-21 11:10:19"
[2026-03-21 16:15:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:15:22] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:22] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:13:06"
[2026-03-21 16:15:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:15:22] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:22] [INFO]   -> Set field 'enroute' = "2026-03-21 11:15:14"
[2026-03-21 16:15:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:15:22] [INFO]   -> Found value: TK15
[2026-03-21 16:15:22] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 16:15:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:15:22] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:22] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:13:06"
[2026-03-21 16:15:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:15:22] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:15:14"
[2026-03-21 16:15:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:15:22] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:15:22] [INFO]   -> Found value: 20260030559
[2026-03-21 16:15:22] [INFO]   -> Set field 'policeReportNumber' = "20260030559"
[2026-03-21 16:15:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:15:22] [INFO]   -> Found value: LARGE AREA BURNING//LOTS OF SMOKE  [03/21/26 11:11:44 KMORGAN2]
[2026-03-21 16:15:22] [INFO]   -> Set field 'dispatchNotes' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:22] [INFO]   -> Set field 'cADLog' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:15:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 16:15:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 16:15:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:15:22] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 16:15:22] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 16:15:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:15:22] [INFO]   -> Found value: RD
[2026-03-21 16:15:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 16:15:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:15:22] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 16:15:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 16:15:22] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 16:15:22] [INFO] Concatenating street name and type
[2026-03-21 16:15:22] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 16:15:22] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 16:15:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000760","dispatchRunNumber":"2026000760","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-21 11:10:19","dispatched":"2026-03-21 11:13:06","enroute":"2026-03-21 11:15:14","cADVehicleID":"TK15","timedispatch":"2026-03-21 11:13:06","timeenroutetoscene":"2026-03-21 11:15:14","policeReportNumber":"20260030559","dispatchNotes":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","cADLog":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 16:15:22] [INFO] Number of extracted fields: 22
[2026-03-21 16:15:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 16:15:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 16:15:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 16:15:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:15:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 16:15: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-21 16:15: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-21 16:15:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 16:15:23] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 16:15:23] [INFO] Found existing Dispatch with cADNumber '2026000760', ID: 69bec3970eb1f4dce - will update instead of create
[2026-03-21 16:15:23] [INFO] Updated existing Dispatches record with ID: 69bec3970eb1f4dce
[2026-03-21 16:15:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161522.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030559_20260321_161522.XML
[2026-03-21 16:15:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161522.XML
[2026-03-21 16:15:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161525.XML
[2026-03-21 16:15:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161525.XML for user: 68f1466aed072ad4a
[2026-03-21 16:15:25] [INFO] File size: 4680 bytes
[2026-03-21 16:15:25] [INFO] Created FTPFiles record with ID: 69bec41d7098f3f61
[2026-03-21 16:15:25] [INFO] About to extract fields from XML. File size: 4680 bytes
[2026-03-21 16:15:25] [INFO] Number of mappings: 28
[2026-03-21 16:15:25] [INFO] Starting XML parsing. Content length: 4680
[2026-03-21 16:15:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:15:25] [INFO] Processing 28 field mappings
[2026-03-21 16:15:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:15:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:15:25] [INFO]   -> Found value: PCFD
[2026-03-21 16:15:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 16:15:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:15:25] [INFO]   -> Found value: 2026000760
[2026-03-21 16:15:25] [INFO]   -> Set field 'incidentInternalId' = "2026000760"
[2026-03-21 16:15:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000760"
[2026-03-21 16:15:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:15:25] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 16:15:25] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 16:15:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:15:25] [INFO]   -> Found value: 4199
[2026-03-21 16:15:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 16:15:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:15:25] [INFO]   -> Found value: TN
[2026-03-21 16:15:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:15:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:15:25] [INFO]   -> Found value: 38506
[2026-03-21 16:15:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 16:15:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:15:25] [INFO]   -> Found value: 36.11346
[2026-03-21 16:15:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 16:15:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:15:25] [INFO]   -> Found value: -85.45051
[2026-03-21 16:15:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 16:15:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:15:25] [INFO]   -> Found value: 2026-03-21 11:10:19
[2026-03-21 16:15:25] [INFO]   -> Set field 'alarm' = "2026-03-21 11:10:19"
[2026-03-21 16:15:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:15:25] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:25] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:13:06"
[2026-03-21 16:15:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:15:25] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:25] [INFO]   -> Set field 'enroute' = "2026-03-21 11:15:14"
[2026-03-21 16:15:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:15:25] [INFO]   -> Found value: TK15
[2026-03-21 16:15:25] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 16:15:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:15:25] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:25] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:13:06"
[2026-03-21 16:15:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:15:25] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:15:14"
[2026-03-21 16:15:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:15:25] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:15:25] [INFO]   -> Found value: 20260030559
[2026-03-21 16:15:25] [INFO]   -> Set field 'policeReportNumber' = "20260030559"
[2026-03-21 16:15:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:15:25] [INFO]   -> Found value: LARGE AREA BURNING//LOTS OF SMOKE  [03/21/26 11:11:44 KMORGAN2]
[2026-03-21 16:15:25] [INFO]   -> Set field 'dispatchNotes' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:25] [INFO]   -> Set field 'cADLog' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:15:25] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 16:15:25] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 16:15:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:15:25] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 16:15:25] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 16:15:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:15:25] [INFO]   -> Found value: RD
[2026-03-21 16:15:25] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 16:15:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:15:25] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 16:15:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 16:15:25] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 16:15:25] [INFO] Concatenating street name and type
[2026-03-21 16:15:25] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 16:15:25] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 16:15:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000760","dispatchRunNumber":"2026000760","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-21 11:10:19","dispatched":"2026-03-21 11:13:06","enroute":"2026-03-21 11:15:14","cADVehicleID":"TK15","timedispatch":"2026-03-21 11:13:06","timeenroutetoscene":"2026-03-21 11:15:14","policeReportNumber":"20260030559","dispatchNotes":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","cADLog":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 16:15:25] [INFO] Number of extracted fields: 22
[2026-03-21 16:15:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 16:15:25] [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-21 16:15:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 16:15:25] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:15:25] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 16:15: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-21 16:15: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-21 16:15:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 16:15:25] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 16:15:26] [INFO] Found existing Dispatch with cADNumber '2026000760', ID: 69bec3970eb1f4dce - will update instead of create
[2026-03-21 16:15:26] [INFO] Updated existing Dispatches record with ID: 69bec3970eb1f4dce
[2026-03-21 16:15:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161525.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030559_20260321_161525.XML
[2026-03-21 16:15:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161525.XML
[2026-03-21 16:15:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161526.XML
[2026-03-21 16:15:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161526.XML for user: 68f1466aed072ad4a
[2026-03-21 16:15:26] [INFO] File size: 4680 bytes
[2026-03-21 16:15:26] [INFO] Created FTPFiles record with ID: 69bec41eb09837ec6
[2026-03-21 16:15:26] [INFO] About to extract fields from XML. File size: 4680 bytes
[2026-03-21 16:15:26] [INFO] Number of mappings: 28
[2026-03-21 16:15:26] [INFO] Starting XML parsing. Content length: 4680
[2026-03-21 16:15:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 16:15:26] [INFO] Processing 28 field mappings
[2026-03-21 16:15:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 16:15:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 16:15:26] [INFO]   -> Found value: PCFD
[2026-03-21 16:15:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 16:15:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 16:15:26] [INFO]   -> Found value: 2026000760
[2026-03-21 16:15:26] [INFO]   -> Set field 'incidentInternalId' = "2026000760"
[2026-03-21 16:15:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000760"
[2026-03-21 16:15:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 16:15:26] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-03-21 16:15:26] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-03-21 16:15:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 16:15:26] [INFO]   -> Found value: 4199
[2026-03-21 16:15:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4199
[2026-03-21 16:15:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 16:15:26] [INFO]   -> Found value: TN
[2026-03-21 16:15:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 16:15:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 16:15:26] [INFO]   -> Found value: 38506
[2026-03-21 16:15:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 16:15:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 16:15:26] [INFO]   -> Found value: 36.11346
[2026-03-21 16:15:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.113460000000003446984919719398021697998046875
[2026-03-21 16:15:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 16:15:26] [INFO]   -> Found value: -85.45051
[2026-03-21 16:15:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4505099999999941928763291798532009124755859375
[2026-03-21 16:15:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 16:15:26] [INFO]   -> Found value: 2026-03-21 11:10:19
[2026-03-21 16:15:26] [INFO]   -> Set field 'alarm' = "2026-03-21 11:10:19"
[2026-03-21 16:15:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 16:15:26] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:26] [INFO]   -> Set field 'dispatched' = "2026-03-21 11:13:06"
[2026-03-21 16:15:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 16:15:26] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:26] [INFO]   -> Set field 'enroute' = "2026-03-21 11:15:14"
[2026-03-21 16:15:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 16:15:26] [INFO]   -> Found value: TK15
[2026-03-21 16:15:26] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 16:15:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 16:15:26] [INFO]   -> Found value: 2026-03-21 11:13:06
[2026-03-21 16:15:26] [INFO]   -> Set field 'timedispatch' = "2026-03-21 11:13:06"
[2026-03-21 16:15:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 16:15:26] [INFO]   -> Found value: 2026-03-21 11:15:14
[2026-03-21 16:15:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 11:15:14"
[2026-03-21 16:15:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 16:15:26] [INFO]   -> No value found (null or empty)
[2026-03-21 16:15:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 16:15:26] [INFO]   -> Found value: 20260030559
[2026-03-21 16:15:26] [INFO]   -> Set field 'policeReportNumber' = "20260030559"
[2026-03-21 16:15:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 16:15:26] [INFO]   -> Found value: LARGE AREA BURNING//LOTS OF SMOKE  [03/21/26 11:11:44 KMORGAN2]
[2026-03-21 16:15:26] [INFO]   -> Set field 'dispatchNotes' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:26] [INFO]   -> Set field 'cADLog' = "LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]"
[2026-03-21 16:15:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 16:15:26] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 16:15:26] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 16:15:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 16:15:26] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 16:15:26] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 16:15:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 16:15:26] [INFO]   -> Found value: RD
[2026-03-21 16:15:26] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 16:15:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 16:15:26] [INFO]   -> Found value: SEVEN SPRINGS RD/HWY 70 E
[2026-03-21 16:15:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "SEVEN SPRINGS RD\/HWY 70 E"
[2026-03-21 16:15:26] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 16:15:26] [INFO] Concatenating street name and type
[2026-03-21 16:15:26] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 16:15:26] [INFO] Built locationCoordinates from lat/lng: 36.11346,-85.45051
[2026-03-21 16:15:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000760","dispatchRunNumber":"2026000760","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":4199,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.113460000000003446984919719398021697998046875,"nERISIncidentLongitude":-85.4505099999999941928763291798532009124755859375,"alarm":"2026-03-21 11:10:19","dispatched":"2026-03-21 11:13:06","enroute":"2026-03-21 11:15:14","cADVehicleID":"TK15","timedispatch":"2026-03-21 11:13:06","timeenroutetoscene":"2026-03-21 11:15:14","policeReportNumber":"20260030559","dispatchNotes":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","cADLog":"LARGE AREA BURNING\/\/LOTS OF SMOKE  [03\/21\/26 11:11:44 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"SEVEN SPRINGS RD\/HWY 70 E","locationCoordinates":"36.11346,-85.45051"}
[2026-03-21 16:15:26] [INFO] Number of extracted fields: 22
[2026-03-21 16:15:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 16:15:26] [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-21 16:15:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 16:15:26] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 16:15:26] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 16:15:27] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 16:15:27] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 16:15:27] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 16:15:27] [INFO] Found existing IncidentTypeMapping with ID: 693fd3603dbcab356
[2026-03-21 16:15:27] [INFO] Found existing Dispatch with cADNumber '2026000760', ID: 69bec3970eb1f4dce - will update instead of create
[2026-03-21 16:15:27] [INFO] Updated existing Dispatches record with ID: 69bec3970eb1f4dce
[2026-03-21 16:15:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161526.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030559_20260321_161526.XML
[2026-03-21 16:15:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030559_20260321_161526.XML
[2026-03-21 17:00:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006.XML
[2026-03-21 17:00:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006.XML for user: 68f1466aed072ad4a
[2026-03-21 17:00:06] [INFO] File size: 5096 bytes
[2026-03-21 17:00:07] [INFO] Created FTPFiles record with ID: 69bece971fdd0fde8
[2026-03-21 17:00:07] [INFO] About to extract fields from XML. File size: 5096 bytes
[2026-03-21 17:00:07] [INFO] Number of mappings: 28
[2026-03-21 17:00:07] [INFO] Starting XML parsing. Content length: 5096
[2026-03-21 17:00:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:00:07] [INFO] Processing 28 field mappings
[2026-03-21 17:00:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:00:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:00:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:00:07] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 17:00:07] [INFO]   -> Found value: AFD
EMS
[2026-03-21 17:00:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 17:00:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:00:07] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:00:07] [INFO]   -> Found value: 2026000117
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentInternalId' = "2026000117"
[2026-03-21 17:00:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000117"
[2026-03-21 17:00:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:00:07] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:00:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:00:07] [INFO]   -> Found value: 100
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-21 17:00:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:00:07] [INFO]   -> Found value: TN
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:00:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:00:07] [INFO]   -> Found value: 38506
[2026-03-21 17:00:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 17:00:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:00:07] [INFO]   -> Found value: ALGOOD MANOR
[2026-03-21 17:00:07] [INFO]   -> Set field 'businessName' = "ALGOOD MANOR"
[2026-03-21 17:00:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:00:07] [INFO]   -> Found value: J1
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentLocationApt' = "J1"
[2026-03-21 17:00:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:00:07] [INFO]   -> Found value: 36.18967
[2026-03-21 17:00:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18966999999999956116880639456212520599365234375
[2026-03-21 17:00:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:00:07] [INFO]   -> Found value: -85.45860
[2026-03-21 17:00:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4586000000000041154635255225002765655517578125
[2026-03-21 17:00:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:00:07] [INFO]   -> Found value: 2026-03-21 11:58:59
[2026-03-21 17:00:07] [INFO]   -> Set field 'alarm' = "2026-03-21 11:58:59"
[2026-03-21 17:00:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:00:07] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:07] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:00:02"
[2026-03-21 17:00:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:00:07] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:00:07] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:00:07] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:00:07] [INFO]   -> Found value: MILL ST
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentLocationCross' = "MILL ST"
[2026-03-21 17:00:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:00:07] [INFO]   -> Found value: AFR
[2026-03-21 17:00:07] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-21 17:00:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:00:07] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:07] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:00:02"
[2026-03-21 17:00:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:00:07] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:00:07] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:00:07] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:00:07] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:00:07] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:00:07] [INFO]   -> Found value: 20260030573
[2026-03-21 17:00:07] [INFO]   -> Set field 'policeReportNumber' = "20260030573"
[2026-03-21 17:00:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:00:07] [INFO]   -> Found value: [EMS] SHANNON  WHEELER   12/11/1969  [03/21/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03/21/26 11:...
[2026-03-21 17:00:07] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:07] [INFO]   -> Set field 'cADLog' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:00:07] [INFO]   -> Found value: ALGOOD
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 17:00:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:00:07] [INFO]   -> Found value: MADDUX
[2026-03-21 17:00:07] [INFO]   -> Set field 'streetName' = "MADDUX"
[2026-03-21 17:00:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:00:07] [INFO]   -> Found value: CT
[2026-03-21 17:00:07] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-21 17:00:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:00:07] [INFO]   -> Found value: 100-J1 MADDUX CT
[2026-03-21 17:00:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "100-J1 MADDUX CT"
[2026-03-21 17:00:07] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 17:00:07] [INFO] Concatenating street name and type
[2026-03-21 17:00:07] [INFO]   -> Combined street name: MADDUX CT
[2026-03-21 17:00:07] [INFO] Built locationCoordinates from lat/lng: 36.18967,-85.4586
[2026-03-21 17:00:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000117","dispatchRunNumber":"2026000117","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ALGOOD MANOR","incidentLocationApt":"J1","nERISIncidentLatitude":36.18966999999999956116880639456212520599365234375,"nERISIncidentLongitude":-85.4586000000000041154635255225002765655517578125,"alarm":"2026-03-21 11:58:59","dispatched":"2026-03-21 12:00:02","incidentLocationCross":"MILL ST","cADVehicleID":"AFR","timedispatch":"2026-03-21 12:00:02","policeReportNumber":"20260030573","dispatchNotes":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","cADLog":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"MADDUX CT","incidentAddressTextVersionStreet":"100-J1 MADDUX CT","locationCoordinates":"36.18967,-85.4586"}
[2026-03-21 17:00:07] [INFO] Number of extracted fields: 23
[2026-03-21 17:00:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 17:00:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 17:00:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 17:00:07] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:00:07] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 17:00:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 17:00:07] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 17:00:07] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 17:00:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 17:00:07] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 17:00:07] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 17:00:08] [INFO] Found existing IncidentTypeMapping with ID: 6952a99bba1f92574
[2026-03-21 17:00:13] [INFO] Created new Dispatches record with ID: 69bece989b659212d
[2026-03-21 17:00:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030573_20260321_170006.XML
[2026-03-21 17:00:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006.XML
[2026-03-21 17:00:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006_1.XML
[2026-03-21 17:00:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006_1.XML for user: 68f1466aed072ad4a
[2026-03-21 17:00:13] [INFO] File size: 5096 bytes
[2026-03-21 17:00:13] [INFO] Created FTPFiles record with ID: 69bece9dc39109e3f
[2026-03-21 17:00:13] [INFO] About to extract fields from XML. File size: 5096 bytes
[2026-03-21 17:00:13] [INFO] Number of mappings: 28
[2026-03-21 17:00:13] [INFO] Starting XML parsing. Content length: 5096
[2026-03-21 17:00:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:00:13] [INFO] Processing 28 field mappings
[2026-03-21 17:00:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:00:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:00:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:00:13] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 17:00:13] [INFO]   -> Found value: AFD
EMS
[2026-03-21 17:00:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 17:00:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:00:13] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:00:13] [INFO]   -> Found value: 2026000117
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentInternalId' = "2026000117"
[2026-03-21 17:00:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000117"
[2026-03-21 17:00:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:00:13] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:00:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:00:13] [INFO]   -> Found value: 100
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-21 17:00:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:00:13] [INFO]   -> Found value: TN
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:00:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:00:13] [INFO]   -> Found value: 38506
[2026-03-21 17:00:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 17:00:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:00:13] [INFO]   -> Found value: ALGOOD MANOR
[2026-03-21 17:00:13] [INFO]   -> Set field 'businessName' = "ALGOOD MANOR"
[2026-03-21 17:00:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:00:13] [INFO]   -> Found value: J1
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentLocationApt' = "J1"
[2026-03-21 17:00:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:00:13] [INFO]   -> Found value: 36.18967
[2026-03-21 17:00:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18966999999999956116880639456212520599365234375
[2026-03-21 17:00:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:00:13] [INFO]   -> Found value: -85.45860
[2026-03-21 17:00:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4586000000000041154635255225002765655517578125
[2026-03-21 17:00:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:00:13] [INFO]   -> Found value: 2026-03-21 11:58:59
[2026-03-21 17:00:13] [INFO]   -> Set field 'alarm' = "2026-03-21 11:58:59"
[2026-03-21 17:00:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:00:13] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:13] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:00:02"
[2026-03-21 17:00:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:00:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:00:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:00:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:00:13] [INFO]   -> Found value: MILL ST
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentLocationCross' = "MILL ST"
[2026-03-21 17:00:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:00:13] [INFO]   -> Found value: AFR
[2026-03-21 17:00:13] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-21 17:00:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:00:13] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:13] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:00:02"
[2026-03-21 17:00:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:00:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:00:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:00:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:00:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:00:13] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:00:13] [INFO]   -> Found value: 20260030573
[2026-03-21 17:00:13] [INFO]   -> Set field 'policeReportNumber' = "20260030573"
[2026-03-21 17:00:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:00:13] [INFO]   -> Found value: [EMS] SHANNON  WHEELER   12/11/1969  [03/21/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03/21/26 11:...
[2026-03-21 17:00:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:13] [INFO]   -> Set field 'cADLog' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:00:13] [INFO]   -> Found value: ALGOOD
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 17:00:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:00:13] [INFO]   -> Found value: MADDUX
[2026-03-21 17:00:13] [INFO]   -> Set field 'streetName' = "MADDUX"
[2026-03-21 17:00:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:00:13] [INFO]   -> Found value: CT
[2026-03-21 17:00:13] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-21 17:00:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:00:13] [INFO]   -> Found value: 100-J1 MADDUX CT
[2026-03-21 17:00:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "100-J1 MADDUX CT"
[2026-03-21 17:00:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 17:00:13] [INFO] Concatenating street name and type
[2026-03-21 17:00:13] [INFO]   -> Combined street name: MADDUX CT
[2026-03-21 17:00:13] [INFO] Built locationCoordinates from lat/lng: 36.18967,-85.4586
[2026-03-21 17:00:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000117","dispatchRunNumber":"2026000117","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ALGOOD MANOR","incidentLocationApt":"J1","nERISIncidentLatitude":36.18966999999999956116880639456212520599365234375,"nERISIncidentLongitude":-85.4586000000000041154635255225002765655517578125,"alarm":"2026-03-21 11:58:59","dispatched":"2026-03-21 12:00:02","incidentLocationCross":"MILL ST","cADVehicleID":"AFR","timedispatch":"2026-03-21 12:00:02","policeReportNumber":"20260030573","dispatchNotes":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","cADLog":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"MADDUX CT","incidentAddressTextVersionStreet":"100-J1 MADDUX CT","locationCoordinates":"36.18967,-85.4586"}
[2026-03-21 17:00:13] [INFO] Number of extracted fields: 23
[2026-03-21 17:00:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 17:00:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 17:00:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 17:00:13] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:00:14] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 17:00:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 17:00:14] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 17:00:14] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 17:00:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 17:00:14] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 17:00:14] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 17:00:14] [INFO] Found existing IncidentTypeMapping with ID: 6952a99bba1f92574
[2026-03-21 17:00:15] [INFO] Found existing Dispatch with cADNumber '2026000117', ID: 69bece989b659212d - will update instead of create
[2026-03-21 17:00:15] [INFO] Updated existing Dispatches record with ID: 69bece989b659212d
[2026-03-21 17:00:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030573_20260321_170006_1.XML
[2026-03-21 17:00:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170006_1.XML
[2026-03-21 17:00:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170015.XML
[2026-03-21 17:00:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170015.XML for user: 68f1466aed072ad4a
[2026-03-21 17:00:15] [INFO] File size: 5893 bytes
[2026-03-21 17:00:16] [INFO] Created FTPFiles record with ID: 69becea021d14fbaf
[2026-03-21 17:00:16] [INFO] About to extract fields from XML. File size: 5893 bytes
[2026-03-21 17:00:16] [INFO] Number of mappings: 28
[2026-03-21 17:00:16] [INFO] Starting XML parsing. Content length: 5893
[2026-03-21 17:00:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:00:16] [INFO] Processing 28 field mappings
[2026-03-21 17:00:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:00:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:00:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:00:16] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 17:00:16] [INFO]   -> Found value: AFD
EMS
[2026-03-21 17:00:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 17:00:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:00:16] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:00:16] [INFO]   -> Found value: 2026000117
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentInternalId' = "2026000117"
[2026-03-21 17:00:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000117"
[2026-03-21 17:00:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:00:16] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:00:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:00:16] [INFO]   -> Found value: 100
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-21 17:00:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:00:16] [INFO]   -> Found value: TN
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:00:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:00:16] [INFO]   -> Found value: 38506
[2026-03-21 17:00:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 17:00:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:00:16] [INFO]   -> Found value: ALGOOD MANOR
[2026-03-21 17:00:16] [INFO]   -> Set field 'businessName' = "ALGOOD MANOR"
[2026-03-21 17:00:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:00:16] [INFO]   -> Found value: J1
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentLocationApt' = "J1"
[2026-03-21 17:00:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:00:16] [INFO]   -> Found value: 36.18967
[2026-03-21 17:00:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18966999999999956116880639456212520599365234375
[2026-03-21 17:00:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:00:16] [INFO]   -> Found value: -85.45860
[2026-03-21 17:00:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4586000000000041154635255225002765655517578125
[2026-03-21 17:00:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:00:16] [INFO]   -> Found value: 2026-03-21 11:58:59
[2026-03-21 17:00:16] [INFO]   -> Set field 'alarm' = "2026-03-21 11:58:59"
[2026-03-21 17:00:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:00:16] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:16] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:00:02"
[2026-03-21 17:00:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:00:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:00:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:00:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:00:16] [INFO]   -> Found value: MILL ST
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentLocationCross' = "MILL ST"
[2026-03-21 17:00:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:00:16] [INFO]   -> Found value: AFR
[2026-03-21 17:00:16] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-21 17:00:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:00:16] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:16] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:00:02"
[2026-03-21 17:00:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:00:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:00:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:00:16] [INFO]   -> Found value: 2026-03-21 12:00:11
[2026-03-21 17:00:16] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 12:00:11"
[2026-03-21 17:00:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:00:16] [INFO]   -> Found value: 2026-03-21 12:00:11
[2026-03-21 17:00:16] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 12:00:11"
[2026-03-21 17:00:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:00:16] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:00:16] [INFO]   -> Found value: 20260030573
[2026-03-21 17:00:16] [INFO]   -> Set field 'policeReportNumber' = "20260030573"
[2026-03-21 17:00:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:00:16] [INFO]   -> Found value: [EMS] SHANNON  WHEELER   12/11/1969  [03/21/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03/21/26 11:...
[2026-03-21 17:00:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:16] [INFO]   -> Set field 'cADLog' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:00:16] [INFO]   -> Found value: ALGOOD
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 17:00:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:00:16] [INFO]   -> Found value: MADDUX
[2026-03-21 17:00:16] [INFO]   -> Set field 'streetName' = "MADDUX"
[2026-03-21 17:00:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:00:16] [INFO]   -> Found value: CT
[2026-03-21 17:00:16] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-21 17:00:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:00:16] [INFO]   -> Found value: 100-J1 MADDUX CT
[2026-03-21 17:00:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "100-J1 MADDUX CT"
[2026-03-21 17:00:16] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-21 17:00:16] [INFO] Concatenating street name and type
[2026-03-21 17:00:16] [INFO]   -> Combined street name: MADDUX CT
[2026-03-21 17:00:16] [INFO] Built locationCoordinates from lat/lng: 36.18967,-85.4586
[2026-03-21 17:00:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000117","dispatchRunNumber":"2026000117","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ALGOOD MANOR","incidentLocationApt":"J1","nERISIncidentLatitude":36.18966999999999956116880639456212520599365234375,"nERISIncidentLongitude":-85.4586000000000041154635255225002765655517578125,"alarm":"2026-03-21 11:58:59","dispatched":"2026-03-21 12:00:02","incidentLocationCross":"MILL ST","cADVehicleID":"AFR","timedispatch":"2026-03-21 12:00:02","timeunitclear":"2026-03-21 12:00:11","timecanceledenroute":"2026-03-21 12:00:11","policeReportNumber":"20260030573","dispatchNotes":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","cADLog":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"MADDUX CT","incidentAddressTextVersionStreet":"100-J1 MADDUX CT","locationCoordinates":"36.18967,-85.4586"}
[2026-03-21 17:00:16] [INFO] Number of extracted fields: 25
[2026-03-21 17:00:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 17:00:16] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 17:00:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 17:00:16] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:00:16] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 17:00:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 17:00:16] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 17:00:16] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 17:00:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 17:00:16] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 17:00:16] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 17:00:17] [INFO] Found existing IncidentTypeMapping with ID: 6952a99bba1f92574
[2026-03-21 17:00:17] [INFO] Found existing Dispatch with cADNumber '2026000117', ID: 69bece989b659212d - will update instead of create
[2026-03-21 17:00:17] [INFO] Updated existing Dispatches record with ID: 69bece989b659212d
[2026-03-21 17:00:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170015.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030573_20260321_170015.XML
[2026-03-21 17:00:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170015.XML
[2026-03-21 17:00:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170019.XML
[2026-03-21 17:00:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170019.XML for user: 68f1466aed072ad4a
[2026-03-21 17:00:19] [INFO] File size: 5893 bytes
[2026-03-21 17:00:20] [INFO] Created FTPFiles record with ID: 69becea423bec3c71
[2026-03-21 17:00:20] [INFO] About to extract fields from XML. File size: 5893 bytes
[2026-03-21 17:00:20] [INFO] Number of mappings: 28
[2026-03-21 17:00:20] [INFO] Starting XML parsing. Content length: 5893
[2026-03-21 17:00:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:00:20] [INFO] Processing 28 field mappings
[2026-03-21 17:00:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:00:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:00:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:00:20] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 17:00:20] [INFO]   -> Found value: AFD
EMS
[2026-03-21 17:00:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 17:00:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:00:20] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:00:20] [INFO]   -> Found value: 2026000117
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentInternalId' = "2026000117"
[2026-03-21 17:00:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000117"
[2026-03-21 17:00:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:00:20] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:00:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:00:20] [INFO]   -> Found value: 100
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-21 17:00:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:00:20] [INFO]   -> Found value: TN
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:00:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:00:20] [INFO]   -> Found value: 38506
[2026-03-21 17:00:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 17:00:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:00:20] [INFO]   -> Found value: ALGOOD MANOR
[2026-03-21 17:00:20] [INFO]   -> Set field 'businessName' = "ALGOOD MANOR"
[2026-03-21 17:00:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:00:20] [INFO]   -> Found value: J1
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentLocationApt' = "J1"
[2026-03-21 17:00:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:00:20] [INFO]   -> Found value: 36.18967
[2026-03-21 17:00:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18966999999999956116880639456212520599365234375
[2026-03-21 17:00:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:00:20] [INFO]   -> Found value: -85.45860
[2026-03-21 17:00:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4586000000000041154635255225002765655517578125
[2026-03-21 17:00:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:00:20] [INFO]   -> Found value: 2026-03-21 11:58:59
[2026-03-21 17:00:20] [INFO]   -> Set field 'alarm' = "2026-03-21 11:58:59"
[2026-03-21 17:00:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:00:20] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:20] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:00:02"
[2026-03-21 17:00:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:00:20] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:00:20] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:00:20] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:00:20] [INFO]   -> Found value: MILL ST
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentLocationCross' = "MILL ST"
[2026-03-21 17:00:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:00:20] [INFO]   -> Found value: AFR
[2026-03-21 17:00:20] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-03-21 17:00:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:00:20] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:20] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:00:02"
[2026-03-21 17:00:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:00:20] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:00:20] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:00:20] [INFO]   -> Found value: 2026-03-21 12:00:11
[2026-03-21 17:00:20] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 12:00:11"
[2026-03-21 17:00:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:00:20] [INFO]   -> Found value: 2026-03-21 12:00:11
[2026-03-21 17:00:20] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 12:00:11"
[2026-03-21 17:00:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:00:20] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:00:20] [INFO]   -> Found value: 20260030573
[2026-03-21 17:00:20] [INFO]   -> Set field 'policeReportNumber' = "20260030573"
[2026-03-21 17:00:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:00:20] [INFO]   -> Found value: [EMS] SHANNON  WHEELER   12/11/1969  [03/21/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03/21/26 11:...
[2026-03-21 17:00:20] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:20] [INFO]   -> Set field 'cADLog' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:00:20] [INFO]   -> Found value: ALGOOD
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 17:00:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:00:20] [INFO]   -> Found value: MADDUX
[2026-03-21 17:00:20] [INFO]   -> Set field 'streetName' = "MADDUX"
[2026-03-21 17:00:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:00:20] [INFO]   -> Found value: CT
[2026-03-21 17:00:20] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-21 17:00:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:00:20] [INFO]   -> Found value: 100-J1 MADDUX CT
[2026-03-21 17:00:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "100-J1 MADDUX CT"
[2026-03-21 17:00:20] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-21 17:00:20] [INFO] Concatenating street name and type
[2026-03-21 17:00:20] [INFO]   -> Combined street name: MADDUX CT
[2026-03-21 17:00:20] [INFO] Built locationCoordinates from lat/lng: 36.18967,-85.4586
[2026-03-21 17:00:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000117","dispatchRunNumber":"2026000117","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ALGOOD MANOR","incidentLocationApt":"J1","nERISIncidentLatitude":36.18966999999999956116880639456212520599365234375,"nERISIncidentLongitude":-85.4586000000000041154635255225002765655517578125,"alarm":"2026-03-21 11:58:59","dispatched":"2026-03-21 12:00:02","incidentLocationCross":"MILL ST","cADVehicleID":"AFR","timedispatch":"2026-03-21 12:00:02","timeunitclear":"2026-03-21 12:00:11","timecanceledenroute":"2026-03-21 12:00:11","policeReportNumber":"20260030573","dispatchNotes":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","cADLog":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"MADDUX CT","incidentAddressTextVersionStreet":"100-J1 MADDUX CT","locationCoordinates":"36.18967,-85.4586"}
[2026-03-21 17:00:20] [INFO] Number of extracted fields: 25
[2026-03-21 17:00:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 17:00:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 17:00:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 17:00:20] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:00:20] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 17:00:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 17:00:20] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 17:00:20] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 17:00:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 17:00:20] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 17:00:20] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 17:00:21] [INFO] Found existing IncidentTypeMapping with ID: 6952a99bba1f92574
[2026-03-21 17:00:22] [INFO] Found existing Dispatch with cADNumber '2026000117', ID: 69bece989b659212d - will update instead of create
[2026-03-21 17:00:22] [INFO] Updated existing Dispatches record with ID: 69bece989b659212d
[2026-03-21 17:00:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170019.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030573_20260321_170019.XML
[2026-03-21 17:00:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170019.XML
[2026-03-21 17:00:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170022.XML
[2026-03-21 17:00:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170022.XML for user: 68f1466aed072ad4a
[2026-03-21 17:00:22] [INFO] File size: 5960 bytes
[2026-03-21 17:00:23] [INFO] Created FTPFiles record with ID: 69becea771f29d50d
[2026-03-21 17:00:23] [INFO] About to extract fields from XML. File size: 5960 bytes
[2026-03-21 17:00:23] [INFO] Number of mappings: 28
[2026-03-21 17:00:23] [INFO] Starting XML parsing. Content length: 5960
[2026-03-21 17:00:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:00:23] [INFO] Processing 28 field mappings
[2026-03-21 17:00:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:00:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:00:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:00:23] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-21 17:00:23] [INFO]   -> Found value: AFD
EMS
[2026-03-21 17:00:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-03-21 17:00:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:00:23] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:00:23] [INFO]   -> Found value: 2026000117
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentInternalId' = "2026000117"
[2026-03-21 17:00:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000117"
[2026-03-21 17:00:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:00:23] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:00:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:00:23] [INFO]   -> Found value: 100
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-03-21 17:00:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:00:23] [INFO]   -> Found value: TN
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:00:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:00:23] [INFO]   -> Found value: 38506
[2026-03-21 17:00:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 17:00:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:00:23] [INFO]   -> Found value: ALGOOD MANOR
[2026-03-21 17:00:23] [INFO]   -> Set field 'businessName' = "ALGOOD MANOR"
[2026-03-21 17:00:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:00:23] [INFO]   -> Found value: J1
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentLocationApt' = "J1"
[2026-03-21 17:00:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:00:23] [INFO]   -> Found value: 36.18967
[2026-03-21 17:00:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18966999999999956116880639456212520599365234375
[2026-03-21 17:00:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:00:23] [INFO]   -> Found value: -85.45860
[2026-03-21 17:00:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4586000000000041154635255225002765655517578125
[2026-03-21 17:00:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:00:23] [INFO]   -> Found value: 2026-03-21 11:58:59
[2026-03-21 17:00:23] [INFO]   -> Set field 'alarm' = "2026-03-21 11:58:59"
[2026-03-21 17:00:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:00:23] [INFO]   -> Found value: 2026-03-21 12:00:02
[2026-03-21 17:00:23] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:00:02"
[2026-03-21 17:00:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:00:23] [INFO]   -> Found value: 2026-03-21 12:00:18
[2026-03-21 17:00:23] [INFO]   -> Set field 'enroute' = "2026-03-21 12:00:18"
[2026-03-21 17:00:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:00:23] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:00:23] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:00:23] [INFO]   -> Found value: MILL ST
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentLocationCross' = "MILL ST"
[2026-03-21 17:00:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:00:23] [INFO]   -> Found value: AEN2
[2026-03-21 17:00:23] [INFO]   -> Set field 'cADVehicleID' = "AEN2"
[2026-03-21 17:00:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:00:23] [INFO]   -> Found value: 2026-03-21 12:00:11
[2026-03-21 17:00:23] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:00:11"
[2026-03-21 17:00:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:00:23] [INFO]   -> Found value: 2026-03-21 12:00:18
[2026-03-21 17:00:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 12:00:18"
[2026-03-21 17:00:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:00:23] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:00:23] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:00:23] [INFO]   -> No value found (null or empty)
[2026-03-21 17:00:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:00:23] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:00:23] [INFO]   -> Found value: 20260030573
[2026-03-21 17:00:23] [INFO]   -> Set field 'policeReportNumber' = "20260030573"
[2026-03-21 17:00:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:00:23] [INFO]   -> Found value: [EMS] SHANNON  WHEELER   12/11/1969  [03/21/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03/21/26 11:...
[2026-03-21 17:00:23] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:23] [INFO]   -> Set field 'cADLog' = "[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]"
[2026-03-21 17:00:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:00:23] [INFO]   -> Found value: ALGOOD
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-03-21 17:00:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:00:23] [INFO]   -> Found value: MADDUX
[2026-03-21 17:00:23] [INFO]   -> Set field 'streetName' = "MADDUX"
[2026-03-21 17:00:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:00:23] [INFO]   -> Found value: CT
[2026-03-21 17:00:23] [INFO]   -> Set field 'streetType' = "CT"
[2026-03-21 17:00:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:00:23] [INFO]   -> Found value: 100-J1 MADDUX CT
[2026-03-21 17:00:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "100-J1 MADDUX CT"
[2026-03-21 17:00:23] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-03-21 17:00:23] [INFO] Concatenating street name and type
[2026-03-21 17:00:23] [INFO]   -> Combined street name: MADDUX CT
[2026-03-21 17:00:23] [INFO] Built locationCoordinates from lat/lng: 36.18967,-85.4586
[2026-03-21 17:00:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000117","dispatchRunNumber":"2026000117","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":100,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ALGOOD MANOR","incidentLocationApt":"J1","nERISIncidentLatitude":36.18966999999999956116880639456212520599365234375,"nERISIncidentLongitude":-85.4586000000000041154635255225002765655517578125,"alarm":"2026-03-21 11:58:59","dispatched":"2026-03-21 12:00:02","enroute":"2026-03-21 12:00:18","incidentLocationCross":"MILL ST","cADVehicleID":"AEN2","timedispatch":"2026-03-21 12:00:11","timeenroutetoscene":"2026-03-21 12:00:18","policeReportNumber":"20260030573","dispatchNotes":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","cADLog":"[EMS] SHANNON  WHEELER   12\/11\/1969  [03\/21\/26 11:59:47 DSTEPHENS] [EMS] ANKLE INJURY  [03\/21\/26 11:59:26 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 11:58:59 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"MADDUX CT","incidentAddressTextVersionStreet":"100-J1 MADDUX CT","locationCoordinates":"36.18967,-85.4586"}
[2026-03-21 17:00:23] [INFO] Number of extracted fields: 25
[2026-03-21 17:00:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-03-21 17:00:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-21 17:00:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-03-21 17:00:23] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:00:23] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-03-21 17:00:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-21 17:00:23] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-03-21 17:00:23] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-03-21 17:00:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 17:00:23] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-03-21 17:00:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-03-21 17:00:24] [INFO] Found existing IncidentTypeMapping with ID: 6952a99bba1f92574
[2026-03-21 17:00:24] [INFO] Found existing Dispatch with cADNumber '2026000117', ID: 69bece989b659212d - will update instead of create
[2026-03-21 17:00:24] [INFO] Updated existing Dispatches record with ID: 69bece989b659212d
[2026-03-21 17:00:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170022.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/AFD_20260030573_20260321_170022.XML
[2026-03-21 17:00:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260030573_20260321_170022.XML
[2026-03-21 17:02:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170259.XML
[2026-03-21 17:02:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170259.XML for user: 68f1466aed072ad4a
[2026-03-21 17:02:59] [INFO] File size: 5275 bytes
[2026-03-21 17:02:59] [INFO] Created FTPFiles record with ID: 69becf43e6c3b45ad
[2026-03-21 17:02:59] [INFO] About to extract fields from XML. File size: 5275 bytes
[2026-03-21 17:02:59] [INFO] Number of mappings: 28
[2026-03-21 17:02:59] [INFO] Starting XML parsing. Content length: 5275
[2026-03-21 17:02:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:02:59] [INFO] Processing 28 field mappings
[2026-03-21 17:02:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:02:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:02:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:02:59] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 17:02:59] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 17:02:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 17:02:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:02:59] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:02:59] [INFO]   -> Found value: 2026000761
[2026-03-21 17:02:59] [INFO]   -> Set field 'incidentInternalId' = "2026000761"
[2026-03-21 17:02:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000761"
[2026-03-21 17:02:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:02:59] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:02:59] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:02:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:02:59] [INFO]   -> Found value: 2465
[2026-03-21 17:02:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2465
[2026-03-21 17:02:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:02:59] [INFO]   -> Found value: TN
[2026-03-21 17:02:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:02:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:02:59] [INFO]   -> Found value: 38501
[2026-03-21 17:02:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-21 17:02:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:02:59] [INFO]   -> Found value: ECHO VALLEY MARKET
[2026-03-21 17:02:59] [INFO]   -> Set field 'businessName' = "ECHO VALLEY MARKET"
[2026-03-21 17:02:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:02:59] [INFO]   -> Found value: 36.17626
[2026-03-21 17:02:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1762599999999991950971889309585094451904296875
[2026-03-21 17:02:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:02:59] [INFO]   -> Found value: -85.57452
[2026-03-21 17:02:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5745200000000068030203692615032196044921875
[2026-03-21 17:02:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:02:59] [INFO]   -> Found value: 2026-03-21 12:02:26
[2026-03-21 17:02:59] [INFO]   -> Set field 'alarm' = "2026-03-21 12:02:26"
[2026-03-21 17:02:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:02:59] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:02:59] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:02:57"
[2026-03-21 17:02:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:02:59] [INFO]   -> Found value: LONG MEADOW DR/ECHO VALLEY DR
[2026-03-21 17:02:59] [INFO]   -> Set field 'incidentLocationCross' = "LONG MEADOW DR\/ECHO VALLEY DR"
[2026-03-21 17:02:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:02:59] [INFO]   -> Found value: PCFR
[2026-03-21 17:02:59] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 17:02:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:02:59] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:02:59] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:02:57"
[2026-03-21 17:02:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:02:59] [INFO]   -> No value found (null or empty)
[2026-03-21 17:02:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:02:59] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:02:59] [INFO]   -> Found value: 20260030576
[2026-03-21 17:02:59] [INFO]   -> Set field 'policeReportNumber' = "20260030576"
[2026-03-21 17:02:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:02:59] [INFO]   -> Found value: [EMS] NEAR ROAD  [03/21/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03/21/2026 12:02:26...
[2026-03-21 17:02:59] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:02:59] [INFO]   -> Set field 'cADLog' = "[EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:02:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:02:59] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 17:02:59] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 17:02:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:02:59] [INFO]   -> Found value: BROAD
[2026-03-21 17:02:59] [INFO]   -> Set field 'streetName' = "BROAD"
[2026-03-21 17:02:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:02:59] [INFO]   -> Found value: ST
[2026-03-21 17:02:59] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 17:02:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:02:59] [INFO]   -> Found value: 2465 W BROAD ST
[2026-03-21 17:02:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2465 W BROAD ST"
[2026-03-21 17:02:59] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-21 17:02:59] [INFO] Concatenating street name and type
[2026-03-21 17:02:59] [INFO]   -> Combined street name: BROAD ST
[2026-03-21 17:02:59] [INFO] Built locationCoordinates from lat/lng: 36.17626,-85.57452
[2026-03-21 17:02:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000761","dispatchRunNumber":"2026000761","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2465,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ECHO VALLEY MARKET","nERISIncidentLatitude":36.1762599999999991950971889309585094451904296875,"nERISIncidentLongitude":-85.5745200000000068030203692615032196044921875,"alarm":"2026-03-21 12:02:26","dispatched":"2026-03-21 12:02:57","incidentLocationCross":"LONG MEADOW DR\/ECHO VALLEY DR","cADVehicleID":"PCFR","timedispatch":"2026-03-21 12:02:57","policeReportNumber":"20260030576","dispatchNotes":"[EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","cADLog":"[EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BROAD ST","incidentAddressTextVersionStreet":"2465 W BROAD ST","locationCoordinates":"36.17626,-85.57452"}
[2026-03-21 17:02:59] [INFO] Number of extracted fields: 22
[2026-03-21 17:02:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 17:02:59] [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-21 17:02:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 17:02:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:03:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 17:03:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 17:03:00] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 17:03:00] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 17:03:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 17:03:00] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 17:03:00] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 17:03:00] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 17:03:12] [INFO] Created new Dispatches record with ID: 69becf44bd4fe564c
[2026-03-21 17:03:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170259.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030576_20260321_170259.XML
[2026-03-21 17:03:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170259.XML
[2026-03-21 17:04:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170412.XML
[2026-03-21 17:04:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170412.XML for user: 68f1466aed072ad4a
[2026-03-21 17:04:13] [INFO] File size: 5444 bytes
[2026-03-21 17:04:13] [INFO] Created FTPFiles record with ID: 69becf8d6271ff1fb
[2026-03-21 17:04:13] [INFO] About to extract fields from XML. File size: 5444 bytes
[2026-03-21 17:04:13] [INFO] Number of mappings: 28
[2026-03-21 17:04:13] [INFO] Starting XML parsing. Content length: 5444
[2026-03-21 17:04:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:04:13] [INFO] Processing 28 field mappings
[2026-03-21 17:04:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:04:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:04:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:04:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 17:04:13] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 17:04:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 17:04:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:04:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:04:13] [INFO]   -> Found value: 2026000761
[2026-03-21 17:04:13] [INFO]   -> Set field 'incidentInternalId' = "2026000761"
[2026-03-21 17:04:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000761"
[2026-03-21 17:04:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:04:13] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:04:13] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:04:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:04:13] [INFO]   -> Found value: 2465
[2026-03-21 17:04:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2465
[2026-03-21 17:04:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:04:13] [INFO]   -> Found value: TN
[2026-03-21 17:04:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:04:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:04:13] [INFO]   -> Found value: 38501
[2026-03-21 17:04:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-21 17:04:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:04:13] [INFO]   -> Found value: ECHO VALLEY MARKET
[2026-03-21 17:04:13] [INFO]   -> Set field 'businessName' = "ECHO VALLEY MARKET"
[2026-03-21 17:04:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:04:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:04:13] [INFO]   -> Found value: 36.17626
[2026-03-21 17:04:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1762599999999991950971889309585094451904296875
[2026-03-21 17:04:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:04:13] [INFO]   -> Found value: -85.57452
[2026-03-21 17:04:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5745200000000068030203692615032196044921875
[2026-03-21 17:04:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:04:13] [INFO]   -> Found value: 2026-03-21 12:02:26
[2026-03-21 17:04:13] [INFO]   -> Set field 'alarm' = "2026-03-21 12:02:26"
[2026-03-21 17:04:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:04:13] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:04:13] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:02:57"
[2026-03-21 17:04:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:04:13] [INFO]   -> Found value: 2026-03-21 12:04:05
[2026-03-21 17:04:13] [INFO]   -> Set field 'enroute' = "2026-03-21 12:04:05"
[2026-03-21 17:04:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:04:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:04:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:04:13] [INFO]   -> Found value: LONG MEADOW DR/ECHO VALLEY DR
[2026-03-21 17:04:13] [INFO]   -> Set field 'incidentLocationCross' = "LONG MEADOW DR\/ECHO VALLEY DR"
[2026-03-21 17:04:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:04:13] [INFO]   -> Found value: PCFR
[2026-03-21 17:04:13] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 17:04:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:04:13] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:04:13] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:02:57"
[2026-03-21 17:04:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:04:13] [INFO]   -> Found value: 2026-03-21 12:04:05
[2026-03-21 17:04:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 12:04:05"
[2026-03-21 17:04:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:04:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:04:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:04:13] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:04:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:04:13] [INFO]   -> Found value: 20260030576
[2026-03-21 17:04:13] [INFO]   -> Set field 'policeReportNumber' = "20260030576"
[2026-03-21 17:04:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:04:13] [INFO]   -> Found value: [EMS] BLEEDING FROM FACE  [03/21/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03/21/26 12:02:37 DSTEPHEN...
[2026-03-21 17:04:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:13] [INFO]   -> Set field 'cADLog' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:04:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 17:04:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 17:04:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:04:13] [INFO]   -> Found value: BROAD
[2026-03-21 17:04:13] [INFO]   -> Set field 'streetName' = "BROAD"
[2026-03-21 17:04:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:04:13] [INFO]   -> Found value: ST
[2026-03-21 17:04:13] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 17:04:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:04:13] [INFO]   -> Found value: 2465 W BROAD ST
[2026-03-21 17:04:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2465 W BROAD ST"
[2026-03-21 17:04:13] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 17:04:13] [INFO] Concatenating street name and type
[2026-03-21 17:04:13] [INFO]   -> Combined street name: BROAD ST
[2026-03-21 17:04:13] [INFO] Built locationCoordinates from lat/lng: 36.17626,-85.57452
[2026-03-21 17:04:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000761","dispatchRunNumber":"2026000761","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2465,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ECHO VALLEY MARKET","nERISIncidentLatitude":36.1762599999999991950971889309585094451904296875,"nERISIncidentLongitude":-85.5745200000000068030203692615032196044921875,"alarm":"2026-03-21 12:02:26","dispatched":"2026-03-21 12:02:57","enroute":"2026-03-21 12:04:05","incidentLocationCross":"LONG MEADOW DR\/ECHO VALLEY DR","cADVehicleID":"PCFR","timedispatch":"2026-03-21 12:02:57","timeenroutetoscene":"2026-03-21 12:04:05","policeReportNumber":"20260030576","dispatchNotes":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","cADLog":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BROAD ST","incidentAddressTextVersionStreet":"2465 W BROAD ST","locationCoordinates":"36.17626,-85.57452"}
[2026-03-21 17:04:13] [INFO] Number of extracted fields: 24
[2026-03-21 17:04:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 17:04:13] [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-21 17:04:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 17:04:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:04:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 17:04:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 17:04: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-21 17:04: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-21 17:04:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 17:04:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 17:04:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 17:04:14] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 17:04:14] [INFO] Found existing Dispatch with cADNumber '2026000761', ID: 69becf44bd4fe564c - will update instead of create
[2026-03-21 17:04:14] [INFO] Updated existing Dispatches record with ID: 69becf44bd4fe564c
[2026-03-21 17:04:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170412.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030576_20260321_170412.XML
[2026-03-21 17:04:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170412.XML
[2026-03-21 17:04:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170415.XML
[2026-03-21 17:04:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170415.XML for user: 68f1466aed072ad4a
[2026-03-21 17:04:15] [INFO] File size: 6241 bytes
[2026-03-21 17:04:16] [INFO] Created FTPFiles record with ID: 69becf90282b5c134
[2026-03-21 17:04:16] [INFO] About to extract fields from XML. File size: 6241 bytes
[2026-03-21 17:04:16] [INFO] Number of mappings: 28
[2026-03-21 17:04:16] [INFO] Starting XML parsing. Content length: 6241
[2026-03-21 17:04:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:04:16] [INFO] Processing 28 field mappings
[2026-03-21 17:04:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:04:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:04:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:04:16] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 17:04:16] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 17:04:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 17:04:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:04:16] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026000761
[2026-03-21 17:04:16] [INFO]   -> Set field 'incidentInternalId' = "2026000761"
[2026-03-21 17:04:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000761"
[2026-03-21 17:04:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:04:16] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:04:16] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:04:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2465
[2026-03-21 17:04:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2465
[2026-03-21 17:04:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:04:16] [INFO]   -> Found value: TN
[2026-03-21 17:04:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:04:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:04:16] [INFO]   -> Found value: 38501
[2026-03-21 17:04:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-21 17:04:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:04:16] [INFO]   -> Found value: ECHO VALLEY MARKET
[2026-03-21 17:04:16] [INFO]   -> Set field 'businessName' = "ECHO VALLEY MARKET"
[2026-03-21 17:04:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:04:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:04:16] [INFO]   -> Found value: 36.17626
[2026-03-21 17:04:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1762599999999991950971889309585094451904296875
[2026-03-21 17:04:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:04:16] [INFO]   -> Found value: -85.57452
[2026-03-21 17:04:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5745200000000068030203692615032196044921875
[2026-03-21 17:04:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026-03-21 12:02:26
[2026-03-21 17:04:16] [INFO]   -> Set field 'alarm' = "2026-03-21 12:02:26"
[2026-03-21 17:04:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:04:16] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:02:57"
[2026-03-21 17:04:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026-03-21 12:04:05
[2026-03-21 17:04:16] [INFO]   -> Set field 'enroute' = "2026-03-21 12:04:05"
[2026-03-21 17:04:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:04:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:04:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:04:16] [INFO]   -> Found value: LONG MEADOW DR/ECHO VALLEY DR
[2026-03-21 17:04:16] [INFO]   -> Set field 'incidentLocationCross' = "LONG MEADOW DR\/ECHO VALLEY DR"
[2026-03-21 17:04:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:04:16] [INFO]   -> Found value: PCFR
[2026-03-21 17:04:16] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 17:04:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:04:16] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:02:57"
[2026-03-21 17:04:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026-03-21 12:04:05
[2026-03-21 17:04:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 12:04:05"
[2026-03-21 17:04:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:04:16] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026-03-21 12:04:11
[2026-03-21 17:04:16] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 12:04:11"
[2026-03-21 17:04:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2026-03-21 12:04:11
[2026-03-21 17:04:16] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 12:04:11"
[2026-03-21 17:04:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:04:16] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:04:16] [INFO]   -> Found value: 20260030576
[2026-03-21 17:04:16] [INFO]   -> Set field 'policeReportNumber' = "20260030576"
[2026-03-21 17:04:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:04:16] [INFO]   -> Found value: [EMS] BLEEDING FROM FACE  [03/21/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03/21/26 12:02:37 DSTEPHEN...
[2026-03-21 17:04:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:16] [INFO]   -> Set field 'cADLog' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:04:16] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 17:04:16] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 17:04:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:04:16] [INFO]   -> Found value: BROAD
[2026-03-21 17:04:16] [INFO]   -> Set field 'streetName' = "BROAD"
[2026-03-21 17:04:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:04:16] [INFO]   -> Found value: ST
[2026-03-21 17:04:16] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 17:04:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:04:16] [INFO]   -> Found value: 2465 W BROAD ST
[2026-03-21 17:04:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2465 W BROAD ST"
[2026-03-21 17:04:16] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-21 17:04:16] [INFO] Concatenating street name and type
[2026-03-21 17:04:16] [INFO]   -> Combined street name: BROAD ST
[2026-03-21 17:04:16] [INFO] Built locationCoordinates from lat/lng: 36.17626,-85.57452
[2026-03-21 17:04:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000761","dispatchRunNumber":"2026000761","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2465,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ECHO VALLEY MARKET","nERISIncidentLatitude":36.1762599999999991950971889309585094451904296875,"nERISIncidentLongitude":-85.5745200000000068030203692615032196044921875,"alarm":"2026-03-21 12:02:26","dispatched":"2026-03-21 12:02:57","enroute":"2026-03-21 12:04:05","incidentLocationCross":"LONG MEADOW DR\/ECHO VALLEY DR","cADVehicleID":"PCFR","timedispatch":"2026-03-21 12:02:57","timeenroutetoscene":"2026-03-21 12:04:05","timeunitclear":"2026-03-21 12:04:11","timecanceledenroute":"2026-03-21 12:04:11","policeReportNumber":"20260030576","dispatchNotes":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","cADLog":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BROAD ST","incidentAddressTextVersionStreet":"2465 W BROAD ST","locationCoordinates":"36.17626,-85.57452"}
[2026-03-21 17:04:16] [INFO] Number of extracted fields: 26
[2026-03-21 17:04:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 17:04:16] [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-21 17:04:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 17:04:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:04:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 17:04:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 17:04: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-21 17:04: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-21 17:04:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 17:04:16] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 17:04:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 17:04:16] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 17:04:17] [INFO] Found existing Dispatch with cADNumber '2026000761', ID: 69becf44bd4fe564c - will update instead of create
[2026-03-21 17:04:17] [INFO] Updated existing Dispatches record with ID: 69becf44bd4fe564c
[2026-03-21 17:04:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170415.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030576_20260321_170415.XML
[2026-03-21 17:04:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170415.XML
[2026-03-21 17:04:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170416.XML
[2026-03-21 17:04:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170416.XML for user: 68f1466aed072ad4a
[2026-03-21 17:04:17] [INFO] File size: 6241 bytes
[2026-03-21 17:04:17] [INFO] Created FTPFiles record with ID: 69becf91e2bec906e
[2026-03-21 17:04:17] [INFO] About to extract fields from XML. File size: 6241 bytes
[2026-03-21 17:04:17] [INFO] Number of mappings: 28
[2026-03-21 17:04:17] [INFO] Starting XML parsing. Content length: 6241
[2026-03-21 17:04:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:04:17] [INFO] Processing 28 field mappings
[2026-03-21 17:04:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:04:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:04:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:04:17] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 17:04:17] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 17:04:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 17:04:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:04:17] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026000761
[2026-03-21 17:04:17] [INFO]   -> Set field 'incidentInternalId' = "2026000761"
[2026-03-21 17:04:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000761"
[2026-03-21 17:04:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:04:17] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:04:17] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:04:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2465
[2026-03-21 17:04:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2465
[2026-03-21 17:04:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:04:17] [INFO]   -> Found value: TN
[2026-03-21 17:04:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:04:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:04:17] [INFO]   -> Found value: 38501
[2026-03-21 17:04:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-21 17:04:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:04:17] [INFO]   -> Found value: ECHO VALLEY MARKET
[2026-03-21 17:04:17] [INFO]   -> Set field 'businessName' = "ECHO VALLEY MARKET"
[2026-03-21 17:04:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:04:17] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:04:17] [INFO]   -> Found value: 36.17626
[2026-03-21 17:04:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1762599999999991950971889309585094451904296875
[2026-03-21 17:04:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:04:17] [INFO]   -> Found value: -85.57452
[2026-03-21 17:04:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5745200000000068030203692615032196044921875
[2026-03-21 17:04:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026-03-21 12:02:26
[2026-03-21 17:04:17] [INFO]   -> Set field 'alarm' = "2026-03-21 12:02:26"
[2026-03-21 17:04:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:04:17] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:02:57"
[2026-03-21 17:04:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026-03-21 12:04:05
[2026-03-21 17:04:17] [INFO]   -> Set field 'enroute' = "2026-03-21 12:04:05"
[2026-03-21 17:04:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:04:17] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:04:17] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:04:17] [INFO]   -> Found value: LONG MEADOW DR/ECHO VALLEY DR
[2026-03-21 17:04:17] [INFO]   -> Set field 'incidentLocationCross' = "LONG MEADOW DR\/ECHO VALLEY DR"
[2026-03-21 17:04:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:04:17] [INFO]   -> Found value: PCFR
[2026-03-21 17:04:17] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 17:04:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:04:17] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:02:57"
[2026-03-21 17:04:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026-03-21 12:04:05
[2026-03-21 17:04:17] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 12:04:05"
[2026-03-21 17:04:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:04:17] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026-03-21 12:04:11
[2026-03-21 17:04:17] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 12:04:11"
[2026-03-21 17:04:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2026-03-21 12:04:11
[2026-03-21 17:04:17] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 12:04:11"
[2026-03-21 17:04:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:04:17] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:04:17] [INFO]   -> Found value: 20260030576
[2026-03-21 17:04:17] [INFO]   -> Set field 'policeReportNumber' = "20260030576"
[2026-03-21 17:04:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:04:17] [INFO]   -> Found value: [EMS] BLEEDING FROM FACE  [03/21/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03/21/26 12:02:37 DSTEPHEN...
[2026-03-21 17:04:17] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:17] [INFO]   -> Set field 'cADLog' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:04:17] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 17:04:17] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 17:04:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:04:17] [INFO]   -> Found value: BROAD
[2026-03-21 17:04:17] [INFO]   -> Set field 'streetName' = "BROAD"
[2026-03-21 17:04:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:04:17] [INFO]   -> Found value: ST
[2026-03-21 17:04:17] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 17:04:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:04:17] [INFO]   -> Found value: 2465 W BROAD ST
[2026-03-21 17:04:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2465 W BROAD ST"
[2026-03-21 17:04:17] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-21 17:04:17] [INFO] Concatenating street name and type
[2026-03-21 17:04:17] [INFO]   -> Combined street name: BROAD ST
[2026-03-21 17:04:17] [INFO] Built locationCoordinates from lat/lng: 36.17626,-85.57452
[2026-03-21 17:04:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000761","dispatchRunNumber":"2026000761","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2465,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ECHO VALLEY MARKET","nERISIncidentLatitude":36.1762599999999991950971889309585094451904296875,"nERISIncidentLongitude":-85.5745200000000068030203692615032196044921875,"alarm":"2026-03-21 12:02:26","dispatched":"2026-03-21 12:02:57","enroute":"2026-03-21 12:04:05","incidentLocationCross":"LONG MEADOW DR\/ECHO VALLEY DR","cADVehicleID":"PCFR","timedispatch":"2026-03-21 12:02:57","timeenroutetoscene":"2026-03-21 12:04:05","timeunitclear":"2026-03-21 12:04:11","timecanceledenroute":"2026-03-21 12:04:11","policeReportNumber":"20260030576","dispatchNotes":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","cADLog":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BROAD ST","incidentAddressTextVersionStreet":"2465 W BROAD ST","locationCoordinates":"36.17626,-85.57452"}
[2026-03-21 17:04:17] [INFO] Number of extracted fields: 26
[2026-03-21 17:04:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 17:04:17] [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-21 17:04:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 17:04:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:04:18] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 17:04:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 17:04: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-21 17:04: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-21 17:04:18] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 17:04:18] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 17:04:18] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 17:04:18] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 17:04:18] [INFO] Found existing Dispatch with cADNumber '2026000761', ID: 69becf44bd4fe564c - will update instead of create
[2026-03-21 17:04:19] [INFO] Updated existing Dispatches record with ID: 69becf44bd4fe564c
[2026-03-21 17:04:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170416.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030576_20260321_170416.XML
[2026-03-21 17:04:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170416.XML
[2026-03-21 17:04:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170417.XML
[2026-03-21 17:04:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170417.XML for user: 68f1466aed072ad4a
[2026-03-21 17:04:19] [INFO] File size: 6272 bytes
[2026-03-21 17:04:19] [INFO] Created FTPFiles record with ID: 69becf939b9966f78
[2026-03-21 17:04:19] [INFO] About to extract fields from XML. File size: 6272 bytes
[2026-03-21 17:04:19] [INFO] Number of mappings: 28
[2026-03-21 17:04:19] [INFO] Starting XML parsing. Content length: 6272
[2026-03-21 17:04:19] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 17:04:19] [INFO] Processing 28 field mappings
[2026-03-21 17:04:19] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 17:04:19] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 17:04:19] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 17:04:19] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-21 17:04:19] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-21 17:04:19] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-21 17:04:19] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 17:04:19] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-21 17:04:19] [INFO]   -> Found value: 2026000761
[2026-03-21 17:04:19] [INFO]   -> Set field 'incidentInternalId' = "2026000761"
[2026-03-21 17:04:19] [INFO]   -> Set field 'dispatchRunNumber' = "2026000761"
[2026-03-21 17:04:19] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 17:04:19] [INFO]   -> Found value: FALL VICTIM
[2026-03-21 17:04:19] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-21 17:04:19] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 17:04:19] [INFO]   -> Found value: 2465
[2026-03-21 17:04:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2465
[2026-03-21 17:04:19] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 17:04:19] [INFO]   -> Found value: TN
[2026-03-21 17:04:19] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 17:04:19] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 17:04:19] [INFO]   -> Found value: 38501
[2026-03-21 17:04:19] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-21 17:04:19] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 17:04:19] [INFO]   -> Found value: ECHO VALLEY MARKET
[2026-03-21 17:04:19] [INFO]   -> Set field 'businessName' = "ECHO VALLEY MARKET"
[2026-03-21 17:04:19] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 17:04:19] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:19] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 17:04:19] [INFO]   -> Found value: 36.17626
[2026-03-21 17:04:19] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1762599999999991950971889309585094451904296875
[2026-03-21 17:04:19] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 17:04:19] [INFO]   -> Found value: -85.57452
[2026-03-21 17:04:19] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5745200000000068030203692615032196044921875
[2026-03-21 17:04:19] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 17:04:19] [INFO]   -> Found value: 2026-03-21 12:02:26
[2026-03-21 17:04:19] [INFO]   -> Set field 'alarm' = "2026-03-21 12:02:26"
[2026-03-21 17:04:19] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 17:04:19] [INFO]   -> Found value: 2026-03-21 12:02:57
[2026-03-21 17:04:19] [INFO]   -> Set field 'dispatched' = "2026-03-21 12:02:57"
[2026-03-21 17:04:19] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 17:04:19] [INFO]   -> Found value: 2026-03-21 12:04:05
[2026-03-21 17:04:19] [INFO]   -> Set field 'enroute' = "2026-03-21 12:04:05"
[2026-03-21 17:04:19] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 17:04:19] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:19] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 17:04:19] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:19] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 17:04:19] [INFO]   -> Found value: LONG MEADOW DR/ECHO VALLEY DR
[2026-03-21 17:04:19] [INFO]   -> Set field 'incidentLocationCross' = "LONG MEADOW DR\/ECHO VALLEY DR"
[2026-03-21 17:04:19] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 17:04:19] [INFO]   -> Found value: TK31
[2026-03-21 17:04:19] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 17:04:19] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 17:04:19] [INFO]   -> Found value: 2026-03-21 12:04:11
[2026-03-21 17:04:19] [INFO]   -> Set field 'timedispatch' = "2026-03-21 12:04:11"
[2026-03-21 17:04:19] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 17:04:19] [INFO]   -> Found value: 2026-03-21 12:04:14
[2026-03-21 17:04:19] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 12:04:14"
[2026-03-21 17:04:19] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 17:04:19] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:19] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 17:04:19] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:19] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 17:04:19] [INFO]   -> No value found (null or empty)
[2026-03-21 17:04:19] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 17:04:19] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 17:04:19] [INFO]   -> Found value: 20260030576
[2026-03-21 17:04:19] [INFO]   -> Set field 'policeReportNumber' = "20260030576"
[2026-03-21 17:04:19] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 17:04:19] [INFO]   -> Found value: [EMS] BLEEDING FROM FACE  [03/21/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03/21/26 12:02:37 DSTEPHEN...
[2026-03-21 17:04:19] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:19] [INFO]   -> Set field 'cADLog' = "[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]"
[2026-03-21 17:04:19] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 17:04:19] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 17:04:19] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 17:04:19] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 17:04:19] [INFO]   -> Found value: BROAD
[2026-03-21 17:04:19] [INFO]   -> Set field 'streetName' = "BROAD"
[2026-03-21 17:04:19] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 17:04:19] [INFO]   -> Found value: ST
[2026-03-21 17:04:19] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-21 17:04:19] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 17:04:19] [INFO]   -> Found value: 2465 W BROAD ST
[2026-03-21 17:04:19] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2465 W BROAD ST"
[2026-03-21 17:04:19] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-21 17:04:19] [INFO] Concatenating street name and type
[2026-03-21 17:04:19] [INFO]   -> Combined street name: BROAD ST
[2026-03-21 17:04:19] [INFO] Built locationCoordinates from lat/lng: 36.17626,-85.57452
[2026-03-21 17:04:19] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000761","dispatchRunNumber":"2026000761","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2465,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ECHO VALLEY MARKET","nERISIncidentLatitude":36.1762599999999991950971889309585094451904296875,"nERISIncidentLongitude":-85.5745200000000068030203692615032196044921875,"alarm":"2026-03-21 12:02:26","dispatched":"2026-03-21 12:02:57","enroute":"2026-03-21 12:04:05","incidentLocationCross":"LONG MEADOW DR\/ECHO VALLEY DR","cADVehicleID":"TK31","timedispatch":"2026-03-21 12:04:11","timeenroutetoscene":"2026-03-21 12:04:14","policeReportNumber":"20260030576","dispatchNotes":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","cADLog":"[EMS] BLEEDING FROM FACE  [03\/21\/26 12:03:10 DSTEPHENS] [EMS] NEAR ROAD  [03\/21\/26 12:02:37 DSTEPHENS] Event spawned from FALL VICTIM.  [03\/21\/2026 12:02:26 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"BROAD ST","incidentAddressTextVersionStreet":"2465 W BROAD ST","locationCoordinates":"36.17626,-85.57452"}
[2026-03-21 17:04:19] [INFO] Number of extracted fields: 24
[2026-03-21 17:04:19] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-21 17:04:19] [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-21 17:04:19] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-21 17:04:19] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 17:04:19] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 17:04:19] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-21 17:04:20] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 17:04:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 17:04:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 17:04:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 17:04:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 17:04:20] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-21 17:04:20] [INFO] Found existing Dispatch with cADNumber '2026000761', ID: 69becf44bd4fe564c - will update instead of create
[2026-03-21 17:04:20] [INFO] Updated existing Dispatches record with ID: 69becf44bd4fe564c
[2026-03-21 17:04:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170417.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030576_20260321_170417.XML
[2026-03-21 17:04:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030576_20260321_170417.XML
[2026-03-21 18:14:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141400669.xml
[2026-03-21 18:14:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141400669.xml for user: 68920395733981a47
[2026-03-21 18:14:01] [INFO] File size: 5195 bytes
[2026-03-21 18:14:01] [INFO] Created FTPFiles record with ID: 69bedfe97aac2e242
[2026-03-21 18:14:01] [INFO] About to extract fields from XML. File size: 5195 bytes
[2026-03-21 18:14:01] [INFO] Number of mappings: 24
[2026-03-21 18:14:01] [INFO] Starting XML parsing. Content length: 5195
[2026-03-21 18:14:01] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:14:01] [INFO] Processing 24 field mappings
[2026-03-21 18:14:01] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:14:01] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:14:01] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:14:01] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:14:01] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:14:01] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:14:01] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:14:01] [INFO]   -> Found value: 37379
[2026-03-21 18:14:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:14:01] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:14:01] [INFO]   -> Found value: 9720
[2026-03-21 18:14:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:14:01] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:14:01] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:14:01] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:14:01] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:14:01] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:14:01] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:14:01] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:14:01] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:14:01] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:14:01] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:14:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:01] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:14:01] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:14:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:01] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:14:01] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:14:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:01] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:14:01] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:14:01] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:14:01] [INFO]   -> Found value: 35.24873
[2026-03-21 18:14:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:14:01] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:14:01] [INFO]   -> Found value: -85.205128
[2026-03-21 18:14:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:14:01] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:14:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:01] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 18:14:01] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:14:01] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:01] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:14:01] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:01] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:14:01] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:01] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:14:01] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:01] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:14:01] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:01] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:14:01] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:01] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:14:01] [INFO]   -> Found value: RD
[2026-03-21 18:14:01] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:14:01] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:14:01] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:01] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:14:01] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:14:01] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:14:01] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:14:01] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:14:01] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:14:01] [INFO] Found 3 elements for 'Comment', concatenating 3 non-empty values
[2026-03-21 18:14:01] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:14:01] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100"
[2026-03-21 18:14:01] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100"
[2026-03-21 18:14:01] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:14:01] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:14:01] [INFO]   -> Found value: MFD
[2026-03-21 18:14:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-03-21 18:14:01] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 18:14:01] [INFO] Concatenating street name and type
[2026-03-21 18:14:01] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:14:01] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:14:01] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":null,"policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:14:01] [INFO] Number of extracted fields: 20
[2026-03-21 18:14:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-03-21 18:14:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-21 18:14:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-03-21 18:14:01] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:14:01] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:14:01] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:14:01] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:14:01] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:14:02] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:14:12] [INFO] Created new Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:14:12] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:14:12] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:14:15] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141400669.xml
[2026-03-21 18:14:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141400669.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141400669.xml
[2026-03-21 18:14:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141400669.xml
[2026-03-21 18:14:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141426010.xml
[2026-03-21 18:14:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141426010.xml for user: 68920395733981a47
[2026-03-21 18:14:26] [INFO] File size: 5604 bytes
[2026-03-21 18:14:26] [INFO] Created FTPFiles record with ID: 69bee00284bdd3d51
[2026-03-21 18:14:26] [INFO] About to extract fields from XML. File size: 5604 bytes
[2026-03-21 18:14:26] [INFO] Number of mappings: 24
[2026-03-21 18:14:26] [INFO] Starting XML parsing. Content length: 5604
[2026-03-21 18:14:26] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:14:26] [INFO] Processing 24 field mappings
[2026-03-21 18:14:26] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:14:26] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:14:26] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:14:26] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:14:26] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:14:26] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:14:26] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:14:26] [INFO]   -> Found value: 37379
[2026-03-21 18:14:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:14:26] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:14:26] [INFO]   -> Found value: 9720
[2026-03-21 18:14:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:14:26] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:14:26] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:14:26] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:14:26] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:14:26] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:14:26] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:14:26] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:14:26] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:14:26] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:14:26] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:14:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:26] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:14:26] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:14:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:26] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:14:26] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:14:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:26] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:14:26] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:14:26] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:14:26] [INFO]   -> Found value: 35.24873
[2026-03-21 18:14:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:14:26] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:14:26] [INFO]   -> Found value: -85.205128
[2026-03-21 18:14:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:14:26] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:14:26] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:26] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 18:14:26] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:14:26] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:26] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:14:26] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:26] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:14:26] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:26] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:14:26] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:26] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:14:26] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:26] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:14:26] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:26] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:14:26] [INFO]   -> Found value: RD
[2026-03-21 18:14:26] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:14:26] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:14:26] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:26] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:14:26] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:14:26] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:14:26] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:14:26] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:14:26] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:14:26] [INFO] Found 5 elements for 'Comment', concatenating 5 non-empty values
[2026-03-21 18:14:26] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:14:26] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:26] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:26] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:14:26] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:14:26] [INFO]   -> Found value: MFD
[2026-03-21 18:14:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-03-21 18:14:26] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 18:14:26] [INFO] Concatenating street name and type
[2026-03-21 18:14:26] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:14:26] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:14:26] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":null,"policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:14:26] [INFO] Number of extracted fields: 20
[2026-03-21 18:14:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-03-21 18:14:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-21 18:14:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-03-21 18:14:26] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:14:26] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:14:27] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:14:27] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:14:27] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:14:27] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:14:27] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:14:27] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:14:27] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:14:27] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:14:31] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141426010.xml
[2026-03-21 18:14:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141426010.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141426010.xml
[2026-03-21 18:14:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141426010.xml
[2026-03-21 18:14:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141436135.xml
[2026-03-21 18:14:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141436135.xml for user: 68920395733981a47
[2026-03-21 18:14:36] [INFO] File size: 5811 bytes
[2026-03-21 18:14:36] [INFO] Created FTPFiles record with ID: 69bee00c89324336f
[2026-03-21 18:14:36] [INFO] About to extract fields from XML. File size: 5811 bytes
[2026-03-21 18:14:36] [INFO] Number of mappings: 24
[2026-03-21 18:14:36] [INFO] Starting XML parsing. Content length: 5811
[2026-03-21 18:14:36] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:14:36] [INFO] Processing 24 field mappings
[2026-03-21 18:14:36] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:14:36] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:14:36] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:14:36] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:14:36] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:14:36] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:14:36] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:14:36] [INFO]   -> Found value: 37379
[2026-03-21 18:14:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:14:36] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:14:36] [INFO]   -> Found value: 9720
[2026-03-21 18:14:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:14:36] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:14:36] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:14:36] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:14:36] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:14:36] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:14:36] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:14:36] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:14:36] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:14:36] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:14:36] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:14:36] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:36] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:14:36] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:14:36] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:36] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:14:36] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:14:36] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:36] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:14:36] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:14:36] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:14:36] [INFO]   -> Found value: 35.24873
[2026-03-21 18:14:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:14:36] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:14:36] [INFO]   -> Found value: -85.205128
[2026-03-21 18:14:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:14:36] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:14:36] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:36] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 18:14:36] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:14:36] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:36] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:14:36] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:36] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:14:36] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:36] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:14:36] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:36] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:14:36] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:36] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:14:36] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:36] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:14:36] [INFO]   -> Found value: RD
[2026-03-21 18:14:36] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:14:36] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:14:36] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:36] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:14:36] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:14:36] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:14:36] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:14:36] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:14:36] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:14:36] [INFO] Found 6 elements for 'Comment', concatenating 6 non-empty values
[2026-03-21 18:14:36] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:14:36] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:36] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:36] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:14:36] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:14:36] [INFO]   -> Found value: MFD
[2026-03-21 18:14:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-03-21 18:14:36] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 18:14:36] [INFO] Concatenating street name and type
[2026-03-21 18:14:36] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:14:36] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:14:36] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":null,"policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:14:36] [INFO] Number of extracted fields: 20
[2026-03-21 18:14:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-03-21 18:14:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-21 18:14:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-03-21 18:14:36] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:14:36] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:14:36] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:14:36] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:14:36] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:14:37] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:14:37] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:14:37] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:14:37] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:14:37] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:14:40] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141436135.xml
[2026-03-21 18:14:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141436135.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141436135.xml
[2026-03-21 18:14:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141436135.xml
[2026-03-21 18:14:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141441184.xml
[2026-03-21 18:14:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141441184.xml for user: 68920395733981a47
[2026-03-21 18:14:41] [INFO] File size: 5952 bytes
[2026-03-21 18:14:41] [INFO] Created FTPFiles record with ID: 69bee011928e5aef4
[2026-03-21 18:14:41] [INFO] About to extract fields from XML. File size: 5952 bytes
[2026-03-21 18:14:41] [INFO] Number of mappings: 24
[2026-03-21 18:14:41] [INFO] Starting XML parsing. Content length: 5952
[2026-03-21 18:14:41] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:14:41] [INFO] Processing 24 field mappings
[2026-03-21 18:14:41] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:14:41] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:14:41] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:14:41] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:14:41] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:14:41] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:14:41] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:14:41] [INFO]   -> Found value: 37379
[2026-03-21 18:14:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:14:41] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:14:41] [INFO]   -> Found value: 9720
[2026-03-21 18:14:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:14:41] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:14:41] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:14:41] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:14:41] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:14:41] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:14:41] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:14:41] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:14:41] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:14:41] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:14:41] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:14:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:41] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:14:41] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:14:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:41] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:14:41] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:14:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:41] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:14:41] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:14:41] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:14:41] [INFO]   -> Found value: 35.24873
[2026-03-21 18:14:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:14:41] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:14:41] [INFO]   -> Found value: -85.205128
[2026-03-21 18:14:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:14:41] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:14:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:41] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 18:14:41] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:14:41] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:41] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:14:41] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:41] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:14:41] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:41] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:14:41] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:41] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:14:41] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:41] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:14:41] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:41] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:14:41] [INFO]   -> Found value: RD
[2026-03-21 18:14:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:14:41] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:14:41] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:41] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:14:41] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:14:41] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:14:41] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:14:41] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:14:41] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:14:41] [INFO] Found 7 elements for 'Comment', concatenating 7 non-empty values
[2026-03-21 18:14:41] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:14:41] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:41] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:41] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:14:41] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:14:41] [INFO]   -> Found value: MFD
[2026-03-21 18:14:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-03-21 18:14:41] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 18:14:41] [INFO] Concatenating street name and type
[2026-03-21 18:14:41] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:14:41] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:14:41] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":null,"policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:14:41] [INFO] Number of extracted fields: 20
[2026-03-21 18:14:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-03-21 18:14:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-21 18:14:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-03-21 18:14:41] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:14:41] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:14:41] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:14:41] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:14:41] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:14:42] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:14:42] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:14:42] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:14:42] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:14:42] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:14:46] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141441184.xml
[2026-03-21 18:14:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141441184.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141441184.xml
[2026-03-21 18:14:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141441184.xml
[2026-03-21 18:14:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141446260.xml
[2026-03-21 18:14:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141446260.xml for user: 68920395733981a47
[2026-03-21 18:14:46] [INFO] File size: 6159 bytes
[2026-03-21 18:14:46] [INFO] Created FTPFiles record with ID: 69bee0169cf5238eb
[2026-03-21 18:14:46] [INFO] About to extract fields from XML. File size: 6159 bytes
[2026-03-21 18:14:46] [INFO] Number of mappings: 24
[2026-03-21 18:14:46] [INFO] Starting XML parsing. Content length: 6159
[2026-03-21 18:14:46] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:14:46] [INFO] Processing 24 field mappings
[2026-03-21 18:14:46] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:14:46] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:14:46] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:14:46] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:14:46] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:14:46] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:14:46] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:14:46] [INFO]   -> Found value: 37379
[2026-03-21 18:14:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:14:46] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:14:46] [INFO]   -> Found value: 9720
[2026-03-21 18:14:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:14:46] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:14:46] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:14:46] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:14:46] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:14:46] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:14:46] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:14:46] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:14:46] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:14:46] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:14:46] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:14:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:46] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:14:46] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:14:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:46] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:14:46] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:14:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:46] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:14:46] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:14:46] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:14:46] [INFO]   -> Found value: 35.24873
[2026-03-21 18:14:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:14:46] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:14:46] [INFO]   -> Found value: -85.205128
[2026-03-21 18:14:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:14:46] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:14:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:46] [INFO]   -> Set field 'dispatched' = null
[2026-03-21 18:14:46] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:14:46] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:46] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:14:46] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:46] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:14:46] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:46] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:14:46] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:46] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:14:46] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:46] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:14:46] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:46] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:14:46] [INFO]   -> Found value: RD
[2026-03-21 18:14:46] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:14:46] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:14:46] [INFO]   -> No value found (null or empty)
[2026-03-21 18:14:46] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:14:46] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:14:46] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:14:46] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:14:46] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:14:46] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:14:46] [INFO] Found 8 elements for 'Comment', concatenating 8 non-empty values
[2026-03-21 18:14:46] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:14:46] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:46] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:14:46] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:14:46] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:14:46] [INFO]   -> Found value: MFD
[2026-03-21 18:14:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-03-21 18:14:46] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-21 18:14:46] [INFO] Concatenating street name and type
[2026-03-21 18:14:46] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:14:46] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:14:46] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":null,"policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:14:46] [INFO] Number of extracted fields: 20
[2026-03-21 18:14:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-03-21 18:14:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-21 18:14:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-03-21 18:14:46] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:14:46] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:14:47] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:14:47] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:14:47] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:14:47] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:14:47] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:14:47] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:14:47] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:14:47] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:14:50] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141446260.xml
[2026-03-21 18:14:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141446260.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141446260.xml
[2026-03-21 18:14:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141446260.xml
[2026-03-21 18:14:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141451338.xml
[2026-03-21 18:14:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141451338.xml for user: 68920395733981a47
[2026-03-21 18:14:51] [INFO] File size: 9425 bytes
[2026-03-21 18:14:51] [INFO] Created FTPFiles record with ID: 69bee01bb86d9fdd3
[2026-03-21 18:14:51] [INFO] About to extract fields from XML. File size: 9425 bytes
[2026-03-21 18:14:51] [INFO] Number of mappings: 24
[2026-03-21 18:14:51] [INFO] Starting XML parsing. Content length: 9425
[2026-03-21 18:14:51] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:14:51] [INFO] Processing 24 field mappings
[2026-03-21 18:14:51] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:14:51] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:14:51] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:14:51] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:14:51] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:14:51] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:14:51] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:14:51] [INFO]   -> Found value: 37379
[2026-03-21 18:14:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:14:51] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:14:51] [INFO]   -> Found value: 9720
[2026-03-21 18:14:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:14:51] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:14:51] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:14:51] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:14:51] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:14:51] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:14:51] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:14:51] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:14:51] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:14:51] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:14:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:14:51] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:14:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:14:51] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:14:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:14:51] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:14:51] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:14:51] [INFO]   -> Found value: 35.24873
[2026-03-21 18:14:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:14:51] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:14:51] [INFO]   -> Found value: -85.205128
[2026-03-21 18:14:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:14:51] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:14:51] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:14:51] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:14:51] [INFO]   -> Found value: H1400
[2026-03-21 18:14:51] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-03-21 18:14:51] [INFO]   -> Set field 'name' = "H1400"
[2026-03-21 18:14:51] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:14:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:14:51] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:14:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:14:51] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:14:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:14:51] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:14:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 18:14:51] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:14:51] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:14:51] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:14:49"
[2026-03-21 18:14:51] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:14:51] [INFO]   -> Found value: RD
[2026-03-21 18:14:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:14:51] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:14:51] [INFO]   -> Found value: 26-000058
[2026-03-21 18:14:51] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:14:51] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:14:51] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:14:51] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:14:51] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:14:51] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:14:51] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:14:51] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:14:51] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-03-21 18:14:51] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:14:51] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]"
[2026-03-21 18:14:51] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]"
[2026-03-21 18:14:51] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:14:51] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:14:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:14:51] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 18:14:51] [INFO]   -> Found value: MFD
MFD
[2026-03-21 18:14:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-03-21 18:14:51] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:14:51] [INFO] Concatenating street name and type
[2026-03-21 18:14:51] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:14:51] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:14:51] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 18:14:49","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:14:51] [INFO] Number of extracted fields: 29
[2026-03-21 18:14:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-03-21 18:14:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 18:14:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-03-21 18:14:51] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:14:51] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:14:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-03-21 18:14:52] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:14:52] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:14:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 18:14:52] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:14:52] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:14:52] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:14:52] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:14:52] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:14:52] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:14:52] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:14:55] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141451338.xml
[2026-03-21 18:14:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141451338.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141451338.xml
[2026-03-21 18:14:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141451338.xml
[2026-03-21 18:15:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141501479.xml
[2026-03-21 18:15:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141501479.xml for user: 68920395733981a47
[2026-03-21 18:15:01] [INFO] File size: 9761 bytes
[2026-03-21 18:15:02] [INFO] Created FTPFiles record with ID: 69bee026078ab2800
[2026-03-21 18:15:02] [INFO] About to extract fields from XML. File size: 9761 bytes
[2026-03-21 18:15:02] [INFO] Number of mappings: 24
[2026-03-21 18:15:02] [INFO] Starting XML parsing. Content length: 9761
[2026-03-21 18:15:02] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:15:02] [INFO] Processing 24 field mappings
[2026-03-21 18:15:02] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:15:02] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:15:02] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:15:02] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:15:02] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:15:02] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:15:02] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:15:02] [INFO]   -> Found value: 37379
[2026-03-21 18:15:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:15:02] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:15:02] [INFO]   -> Found value: 9720
[2026-03-21 18:15:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:15:02] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:15:02] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:15:02] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:15:02] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:15:02] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:15:02] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:15:02] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:15:02] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:15:02] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:15:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:15:02] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:15:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:15:02] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:15:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:15:02] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:15:02] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:15:02] [INFO]   -> Found value: 35.24873
[2026-03-21 18:15:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:15:02] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:15:02] [INFO]   -> Found value: -85.205128
[2026-03-21 18:15:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:15:02] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:15:02] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:15:02] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:15:02] [INFO]   -> Found value: H1400
[2026-03-21 18:15:02] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-03-21 18:15:02] [INFO]   -> Set field 'name' = "H1400"
[2026-03-21 18:15:02] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:15:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:15:02] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:15:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:15:02] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:15:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:15:02] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:15:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 18:15:02] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:15:02] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:02] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:14:49"
[2026-03-21 18:15:02] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:15:02] [INFO]   -> Found value: RD
[2026-03-21 18:15:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:15:02] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:15:02] [INFO]   -> Found value: 26-000058
[2026-03-21 18:15:02] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:15:02] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:15:02] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:15:02] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:15:02] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:15:02] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:15:02] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:15:02] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:15:02] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-03-21 18:15:02] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:15:02] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:02] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:02] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:15:02] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:15:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:15:02] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 18:15:02] [INFO]   -> Found value: MFD
MFD
[2026-03-21 18:15:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-03-21 18:15:02] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:15:02] [INFO] Concatenating street name and type
[2026-03-21 18:15:02] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:15:02] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:15:02] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 18:14:49","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:15:02] [INFO] Number of extracted fields: 29
[2026-03-21 18:15:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-03-21 18:15:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 18:15:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-03-21 18:15:02] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:15:02] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:15:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-03-21 18:15:02] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:15:02] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:15:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 18:15:02] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:15:02] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:15:02] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:15:02] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:15:03] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:15:03] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:15:03] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:15:06] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141501479.xml
[2026-03-21 18:15:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141501479.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141501479.xml
[2026-03-21 18:15:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141501479.xml
[2026-03-21 18:15:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141516695.xml
[2026-03-21 18:15:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141516695.xml for user: 68920395733981a47
[2026-03-21 18:15:16] [INFO] File size: 9990 bytes
[2026-03-21 18:15:17] [INFO] Created FTPFiles record with ID: 69bee0351e62d1c73
[2026-03-21 18:15:17] [INFO] About to extract fields from XML. File size: 9990 bytes
[2026-03-21 18:15:17] [INFO] Number of mappings: 24
[2026-03-21 18:15:17] [INFO] Starting XML parsing. Content length: 9990
[2026-03-21 18:15:17] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:15:17] [INFO] Processing 24 field mappings
[2026-03-21 18:15:17] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:15:17] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:15:17] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:15:17] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:15:17] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:15:17] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:15:17] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:15:17] [INFO]   -> Found value: 37379
[2026-03-21 18:15:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:15:17] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:15:17] [INFO]   -> Found value: 9720
[2026-03-21 18:15:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:15:17] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:15:17] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:15:17] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:15:17] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:15:17] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:15:17] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:15:17] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:15:17] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:15:17] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:15:17] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:15:17] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:15:17] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:15:17] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:15:17] [INFO]   -> Found value: 35.24873
[2026-03-21 18:15:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:15:17] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:15:17] [INFO]   -> Found value: -85.205128
[2026-03-21 18:15:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:15:17] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:15:17] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:15:17] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:15:17] [INFO]   -> Found value: H1400
[2026-03-21 18:15:17] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-03-21 18:15:17] [INFO]   -> Set field 'name' = "H1400"
[2026-03-21 18:15:17] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:15:17] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:15:17] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:15:17] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:15:17] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 18:15:17] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:15:17] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:17] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:14:49"
[2026-03-21 18:15:17] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:15:17] [INFO]   -> Found value: RD
[2026-03-21 18:15:17] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:15:17] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:15:17] [INFO]   -> Found value: 26-000058
[2026-03-21 18:15:17] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:15:17] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:15:17] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:15:17] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:15:17] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:15:17] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:15:17] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:15:17] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:15:17] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-03-21 18:15:17] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:15:17] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:17] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:17] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:15:17] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:15:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:15:17] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 18:15:17] [INFO]   -> Found value: MFD
MFD
[2026-03-21 18:15:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-03-21 18:15:17] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:15:17] [INFO] Concatenating street name and type
[2026-03-21 18:15:17] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:15:17] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:15:17] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 18:14:49","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:15:17] [INFO] Number of extracted fields: 29
[2026-03-21 18:15:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-03-21 18:15:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 18:15:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-03-21 18:15:17] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:15:17] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:15:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-03-21 18:15:17] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:15:17] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:15:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 18:15:17] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:15:17] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:15:17] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:15:17] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:15:18] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:15:18] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:15:18] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:15:21] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141516695.xml
[2026-03-21 18:15:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141516695.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141516695.xml
[2026-03-21 18:15:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141516695.xml
[2026-03-21 18:15:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141521746.xml
[2026-03-21 18:15:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141521746.xml for user: 68920395733981a47
[2026-03-21 18:15:21] [INFO] File size: 10208 bytes
[2026-03-21 18:15:22] [INFO] Created FTPFiles record with ID: 69bee03a2c5ff3f1e
[2026-03-21 18:15:22] [INFO] About to extract fields from XML. File size: 10208 bytes
[2026-03-21 18:15:22] [INFO] Number of mappings: 24
[2026-03-21 18:15:22] [INFO] Starting XML parsing. Content length: 10208
[2026-03-21 18:15:22] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:15:22] [INFO] Processing 24 field mappings
[2026-03-21 18:15:22] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:15:22] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:15:22] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:15:22] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:15:22] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:15:22] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:15:22] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:15:22] [INFO]   -> Found value: 37379
[2026-03-21 18:15:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:15:22] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:15:22] [INFO]   -> Found value: 9720
[2026-03-21 18:15:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:15:22] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:15:22] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:15:22] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:15:22] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:15:22] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:15:22] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:15:22] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:15:22] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:15:22] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:15:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:15:22] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:15:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:15:22] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:15:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:15:22] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:15:22] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:15:22] [INFO]   -> Found value: 35.24873
[2026-03-21 18:15:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:15:22] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:15:22] [INFO]   -> Found value: -85.205128
[2026-03-21 18:15:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:15:22] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:15:22] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:15:22] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:15:22] [INFO]   -> Found value: H1400
[2026-03-21 18:15:22] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-03-21 18:15:22] [INFO]   -> Set field 'name' = "H1400"
[2026-03-21 18:15:22] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:15:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:15:22] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:15:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:15:22] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:15:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:15:22] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:15:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 18:15:22] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:15:22] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:22] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:14:49"
[2026-03-21 18:15:22] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:15:22] [INFO]   -> Found value: RD
[2026-03-21 18:15:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:15:22] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:15:22] [INFO]   -> Found value: 26-000058
[2026-03-21 18:15:22] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:15:22] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:15:22] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:15:22] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:15:22] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:15:22] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:15:22] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:15:22] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:15:22] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-03-21 18:15:22] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:15:22] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:22] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:22] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:15:22] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:15:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:15:22] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 18:15:22] [INFO]   -> Found value: MFD
MFD
[2026-03-21 18:15:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-03-21 18:15:22] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:15:22] [INFO] Concatenating street name and type
[2026-03-21 18:15:22] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:15:22] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:15:22] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 18:14:49","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:15:22] [INFO] Number of extracted fields: 29
[2026-03-21 18:15:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-03-21 18:15:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 18:15:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-03-21 18:15:22] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:15:22] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:15:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-03-21 18:15:22] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:15:22] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:15:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 18:15:22] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:15:22] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:15:22] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:15:22] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:15:23] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:15:23] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:15:23] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:15:26] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141521746.xml
[2026-03-21 18:15:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141521746.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141521746.xml
[2026-03-21 18:15:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141521746.xml
[2026-03-21 18:15:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141526809.xml
[2026-03-21 18:15:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141526809.xml for user: 68920395733981a47
[2026-03-21 18:15:26] [INFO] File size: 10427 bytes
[2026-03-21 18:15:27] [INFO] Created FTPFiles record with ID: 69bee03f3c2eb677c
[2026-03-21 18:15:27] [INFO] About to extract fields from XML. File size: 10427 bytes
[2026-03-21 18:15:27] [INFO] Number of mappings: 24
[2026-03-21 18:15:27] [INFO] Starting XML parsing. Content length: 10427
[2026-03-21 18:15:27] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:15:27] [INFO] Processing 24 field mappings
[2026-03-21 18:15:27] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:15:27] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:15:27] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:15:27] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:15:27] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:15:27] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:15:27] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:15:27] [INFO]   -> Found value: 37379
[2026-03-21 18:15:27] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:15:27] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:15:27] [INFO]   -> Found value: 9720
[2026-03-21 18:15:27] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:15:27] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:15:27] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:15:27] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:15:27] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:15:27] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:15:27] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:15:27] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:15:27] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:15:27] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:15:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:15:27] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:15:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:15:27] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:15:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:15:27] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:15:27] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:15:27] [INFO]   -> Found value: 35.24873
[2026-03-21 18:15:27] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:15:27] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:15:27] [INFO]   -> Found value: -85.205128
[2026-03-21 18:15:27] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:15:27] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:15:27] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:15:27] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:15:27] [INFO]   -> Found value: H1400
[2026-03-21 18:15:27] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-03-21 18:15:27] [INFO]   -> Set field 'name' = "H1400"
[2026-03-21 18:15:27] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:15:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:15:27] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:15:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:15:27] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:15:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:15:27] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:15:27] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 18:15:27] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:15:27] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:27] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:14:49"
[2026-03-21 18:15:27] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:15:27] [INFO]   -> Found value: RD
[2026-03-21 18:15:27] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:15:27] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:15:27] [INFO]   -> Found value: 26-000058
[2026-03-21 18:15:27] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:15:27] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:15:27] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:15:27] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:15:27] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:15:27] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:15:27] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:15:27] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:15:27] [INFO] Found 15 elements for 'Comment', concatenating 15 non-empty values
[2026-03-21 18:15:27] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:15:27] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:27] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:27] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:15:27] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:15:27] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:15:27] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 18:15:27] [INFO]   -> Found value: MFD
MFD
[2026-03-21 18:15:27] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-03-21 18:15:27] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:15:27] [INFO] Concatenating street name and type
[2026-03-21 18:15:27] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:15:27] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:15:27] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 18:14:49","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:15:27] [INFO] Number of extracted fields: 29
[2026-03-21 18:15:27] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-03-21 18:15:27] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 18:15:27] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-03-21 18:15:27] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:15:27] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:15:27] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-03-21 18:15:27] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:15:27] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:15:27] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 18:15:27] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:15:27] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:15:27] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:15:27] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:15:28] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:15:28] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:15:28] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:15:31] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141526809.xml
[2026-03-21 18:15:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141526809.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141526809.xml
[2026-03-21 18:15:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141526809.xml
[2026-03-21 18:15:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141531887.xml
[2026-03-21 18:15:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141531887.xml for user: 68920395733981a47
[2026-03-21 18:15:31] [INFO] File size: 10663 bytes
[2026-03-21 18:15:32] [INFO] Created FTPFiles record with ID: 69bee0445543814ae
[2026-03-21 18:15:32] [INFO] About to extract fields from XML. File size: 10663 bytes
[2026-03-21 18:15:32] [INFO] Number of mappings: 24
[2026-03-21 18:15:32] [INFO] Starting XML parsing. Content length: 10663
[2026-03-21 18:15:32] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:15:32] [INFO] Processing 24 field mappings
[2026-03-21 18:15:32] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:15:32] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:15:32] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:15:32] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:15:32] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:15:32] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:15:32] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:15:32] [INFO]   -> Found value: 37379
[2026-03-21 18:15:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:15:32] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:15:32] [INFO]   -> Found value: 9720
[2026-03-21 18:15:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:15:32] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:15:32] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:15:32] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:15:32] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:15:32] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:15:32] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:15:32] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:15:32] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:15:32] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:15:32] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:15:32] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:15:32] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:15:32] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:15:32] [INFO]   -> Found value: 35.24873
[2026-03-21 18:15:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:15:32] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:15:32] [INFO]   -> Found value: -85.205128
[2026-03-21 18:15:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:15:32] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:15:32] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:15:32] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:15:32] [INFO]   -> Found value: H1400
[2026-03-21 18:15:32] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-03-21 18:15:32] [INFO]   -> Set field 'name' = "H1400"
[2026-03-21 18:15:32] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:15:32] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:15:32] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:15:32] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:15:32] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 18:15:32] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:15:32] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:32] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:14:49"
[2026-03-21 18:15:32] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:15:32] [INFO]   -> Found value: RD
[2026-03-21 18:15:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:15:32] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:15:32] [INFO]   -> Found value: 26-000058
[2026-03-21 18:15:32] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:15:32] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:15:32] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:15:32] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:15:32] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:15:32] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:15:32] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:15:32] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:15:32] [INFO] Found 16 elements for 'Comment', concatenating 16 non-empty values
[2026-03-21 18:15:32] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:15:32] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:32] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:32] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:15:32] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:15:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:15:32] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 18:15:32] [INFO]   -> Found value: MFD
MFD
[2026-03-21 18:15:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-03-21 18:15:32] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:15:32] [INFO] Concatenating street name and type
[2026-03-21 18:15:32] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:15:32] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:15:32] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 18:14:49","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:15:32] [INFO] Number of extracted fields: 29
[2026-03-21 18:15:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-03-21 18:15:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 18:15:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-03-21 18:15:32] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:15:32] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:15:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-03-21 18:15:32] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:15:32] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:15:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 18:15:32] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:15:32] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:15:32] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:15:33] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:15:33] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:15:33] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:15:33] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:15:36] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141531887.xml
[2026-03-21 18:15:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141531887.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141531887.xml
[2026-03-21 18:15:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141531887.xml
[2026-03-21 18:15:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141547075.xml
[2026-03-21 18:15:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141547075.xml for user: 68920395733981a47
[2026-03-21 18:15:47] [INFO] File size: 10863 bytes
[2026-03-21 18:15:47] [INFO] Created FTPFiles record with ID: 69bee053986ed4167
[2026-03-21 18:15:47] [INFO] About to extract fields from XML. File size: 10863 bytes
[2026-03-21 18:15:47] [INFO] Number of mappings: 24
[2026-03-21 18:15:47] [INFO] Starting XML parsing. Content length: 10863
[2026-03-21 18:15:47] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:15:47] [INFO] Processing 24 field mappings
[2026-03-21 18:15:47] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:15:47] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:15:47] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:15:47] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:15:47] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:15:47] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:15:47] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:15:47] [INFO]   -> Found value: 37379
[2026-03-21 18:15:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:15:47] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:15:47] [INFO]   -> Found value: 9720
[2026-03-21 18:15:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:15:47] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:15:47] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:15:47] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:15:47] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:15:47] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:15:47] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:15:47] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:15:47] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:15:47] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:15:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'enroute' = null
[2026-03-21 18:15:47] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:15:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:15:47] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:15:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:15:47] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:15:47] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:15:47] [INFO]   -> Found value: 35.24873
[2026-03-21 18:15:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:15:47] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:15:47] [INFO]   -> Found value: -85.205128
[2026-03-21 18:15:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:15:47] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:15:47] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:15:47] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:15:47] [INFO]   -> Found value: H1400
[2026-03-21 18:15:47] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-03-21 18:15:47] [INFO]   -> Set field 'name' = "H1400"
[2026-03-21 18:15:47] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:15:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:15:47] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:15:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:15:47] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:15:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:15:47] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:15:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-21 18:15:47] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:15:47] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:47] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:14:49"
[2026-03-21 18:15:47] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:15:47] [INFO]   -> Found value: RD
[2026-03-21 18:15:47] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:15:47] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:15:47] [INFO]   -> Found value: 26-000058
[2026-03-21 18:15:47] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:15:47] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:15:47] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:15:47] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:15:47] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:15:47] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:15:47] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:15:47] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:15:47] [INFO] Found 17 elements for 'Comment', concatenating 17 non-empty values
[2026-03-21 18:15:47] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:15:47] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:47] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:47] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:15:47] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:15:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:15:47] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-03-21 18:15:47] [INFO]   -> Found value: MFD
MFD
[2026-03-21 18:15:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-03-21 18:15:47] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:15:47] [INFO] Concatenating street name and type
[2026-03-21 18:15:47] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:15:47] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:15:47] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-03-21 18:14:49","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:15:47] [INFO] Number of extracted fields: 29
[2026-03-21 18:15:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-03-21 18:15:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-03-21 18:15:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-03-21 18:15:47] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:15:47] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:15:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-03-21 18:15:48] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:15:48] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:15:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-21 18:15:48] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:15:48] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:15:48] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:15:48] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:15:48] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:15:48] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:15:48] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:15:52] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141547075.xml
[2026-03-21 18:15:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141547075.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141547075.xml
[2026-03-21 18:15:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141547075.xml
[2026-03-21 18:15:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141557184.xml
[2026-03-21 18:15:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141557184.xml for user: 68920395733981a47
[2026-03-21 18:15:57] [INFO] File size: 13668 bytes
[2026-03-21 18:15:57] [INFO] Created FTPFiles record with ID: 69bee05db5a663083
[2026-03-21 18:15:57] [INFO] About to extract fields from XML. File size: 13668 bytes
[2026-03-21 18:15:57] [INFO] Number of mappings: 24
[2026-03-21 18:15:57] [INFO] Starting XML parsing. Content length: 13668
[2026-03-21 18:15:57] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:15:57] [INFO] Processing 24 field mappings
[2026-03-21 18:15:57] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:15:57] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:15:57] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:15:57] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:15:57] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:15:57] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:15:57] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:15:57] [INFO]   -> Found value: 37379
[2026-03-21 18:15:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:15:57] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:15:57] [INFO]   -> Found value: 9720
[2026-03-21 18:15:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:15:57] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:15:57] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:15:57] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:15:57] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:15:57] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:15:57] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:15:57] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:15:57] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:15:57] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:15:57] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:15:57] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:15:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:15:57] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:15:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:15:57] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:15:57] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:15:57] [INFO]   -> Found value: 35.24873
[2026-03-21 18:15:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:15:57] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:15:57] [INFO]   -> Found value: -85.205128
[2026-03-21 18:15:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:15:57] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:15:57] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:15:57] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:15:57] [INFO]   -> Found value: C1MF
[2026-03-21 18:15:57] [INFO]   -> Set field 'cADVehicleID' = "C1MF"
[2026-03-21 18:15:57] [INFO]   -> Set field 'name' = "C1MF"
[2026-03-21 18:15:57] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:15:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:15:57] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:15:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:15:57] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:15:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:15:57] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:15:57] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:15:54"
[2026-03-21 18:15:57] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:15:57] [INFO]   -> Found value: 2026-03-21T14:15:53.98-04:00
[2026-03-21 18:15:57] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:15:53"
[2026-03-21 18:15:57] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:15:57] [INFO]   -> Found value: RD
[2026-03-21 18:15:57] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:15:57] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:15:57] [INFO]   -> Found value: 26-000058
[2026-03-21 18:15:57] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:15:57] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:15:57] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:15:57] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:15:57] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:15:57] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:15:57] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:15:57] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:15:57] [INFO] Found 18 elements for 'Comment', concatenating 18 non-empty values
[2026-03-21 18:15:57] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:15:57] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:57] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:15:57] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:15:57] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:15:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:15:57] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-21 18:15:57] [INFO]   -> Found value: MFD
MFD
MFD
[2026-03-21 18:15:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD"
[2026-03-21 18:15:57] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:15:57] [INFO] Concatenating street name and type
[2026-03-21 18:15:57] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:15:57] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:15:57] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"C1MF","name":"C1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 18:15:54","timedispatch":"2026-03-21 18:15:53","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:15:57] [INFO] Number of extracted fields: 29
[2026-03-21 18:15:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD'
[2026-03-21 18:15:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-03-21 18:15:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD"]
[2026-03-21 18:15:57] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:15:57] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:15:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD"]
[2026-03-21 18:15:58] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:15:58] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:15:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 18:15:58] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:15:58] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:15:58] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:15:58] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:15:58] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:15:58] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:15:58] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:16:01] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141557184.xml
[2026-03-21 18:16:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141557184.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141557184.xml
[2026-03-21 18:16:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141557184.xml
[2026-03-21 18:16:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141612361.xml
[2026-03-21 18:16:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141612361.xml for user: 68920395733981a47
[2026-03-21 18:16:12] [INFO] File size: 13883 bytes
[2026-03-21 18:16:13] [INFO] Created FTPFiles record with ID: 69bee06ccba7860c7
[2026-03-21 18:16:13] [INFO] About to extract fields from XML. File size: 13883 bytes
[2026-03-21 18:16:13] [INFO] Number of mappings: 24
[2026-03-21 18:16:13] [INFO] Starting XML parsing. Content length: 13883
[2026-03-21 18:16:13] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:16:13] [INFO] Processing 24 field mappings
[2026-03-21 18:16:13] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:16:13] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:16:13] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:16:13] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:16:13] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:16:13] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:16:13] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:16:13] [INFO]   -> Found value: 37379
[2026-03-21 18:16:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:16:13] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:16:13] [INFO]   -> Found value: 9720
[2026-03-21 18:16:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:16:13] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:16:13] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:16:13] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:16:13] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:16:13] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:16:13] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:16:13] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:16:13] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:16:13] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:16:13] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:16:13] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:16:13] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:16:13] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:16:13] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:16:13] [INFO]   -> Found value: 35.24873
[2026-03-21 18:16:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:16:13] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:16:13] [INFO]   -> Found value: -85.205128
[2026-03-21 18:16:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:16:13] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:16:13] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:16:13] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:16:13] [INFO]   -> Found value: C1MF
[2026-03-21 18:16:13] [INFO]   -> Set field 'cADVehicleID' = "C1MF"
[2026-03-21 18:16:13] [INFO]   -> Set field 'name' = "C1MF"
[2026-03-21 18:16:13] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:16:13] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:16:13] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:16:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:16:13] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:16:13] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:15:54"
[2026-03-21 18:16:13] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:16:13] [INFO]   -> Found value: 2026-03-21T14:15:53.98-04:00
[2026-03-21 18:16:13] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:15:53"
[2026-03-21 18:16:13] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:16:13] [INFO]   -> Found value: RD
[2026-03-21 18:16:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:16:13] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:16:13] [INFO]   -> Found value: 26-000058
[2026-03-21 18:16:13] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:16:13] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:16:13] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:16:13] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:16:13] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:16:13] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:16:13] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:16:13] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:16:13] [INFO] Found 19 elements for 'Comment', concatenating 19 non-empty values
[2026-03-21 18:16:13] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:16:13] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:13] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:13] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:16:13] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:16:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:16:13] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-21 18:16:13] [INFO]   -> Found value: MFD
MFD
MFD
[2026-03-21 18:16:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD"
[2026-03-21 18:16:13] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:16:13] [INFO] Concatenating street name and type
[2026-03-21 18:16:13] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:16:13] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:16:13] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"C1MF","name":"C1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 18:15:54","timedispatch":"2026-03-21 18:15:53","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:16:13] [INFO] Number of extracted fields: 29
[2026-03-21 18:16:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD'
[2026-03-21 18:16:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-03-21 18:16:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD"]
[2026-03-21 18:16:13] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:16:13] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:16:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD"]
[2026-03-21 18:16:14] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:16:14] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:16:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 18:16:14] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:16:14] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:16:14] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:16:14] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:16:15] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:16:15] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:16:15] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:16:18] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141612361.xml
[2026-03-21 18:16:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141612361.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141612361.xml
[2026-03-21 18:16:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141612361.xml
[2026-03-21 18:16:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141622490.xml
[2026-03-21 18:16:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141622490.xml for user: 68920395733981a47
[2026-03-21 18:16:22] [INFO] File size: 14096 bytes
[2026-03-21 18:16:23] [INFO] Created FTPFiles record with ID: 69bee0771594aa93c
[2026-03-21 18:16:23] [INFO] About to extract fields from XML. File size: 14096 bytes
[2026-03-21 18:16:23] [INFO] Number of mappings: 24
[2026-03-21 18:16:23] [INFO] Starting XML parsing. Content length: 14096
[2026-03-21 18:16:23] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:16:23] [INFO] Processing 24 field mappings
[2026-03-21 18:16:23] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:16:23] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:16:23] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:16:23] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:16:23] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:16:23] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:16:23] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:16:23] [INFO]   -> Found value: 37379
[2026-03-21 18:16:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:16:23] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:16:23] [INFO]   -> Found value: 9720
[2026-03-21 18:16:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:16:23] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:16:23] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:16:23] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:16:23] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:16:23] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:16:23] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:16:23] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:16:23] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:16:23] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:16:23] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:16:23] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:16:23] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:16:23] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:16:23] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:16:23] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:16:23] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:16:23] [INFO]   -> Found value: 35.24873
[2026-03-21 18:16:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:16:23] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:16:23] [INFO]   -> Found value: -85.205128
[2026-03-21 18:16:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:16:23] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:16:23] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:16:23] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:16:23] [INFO]   -> Found value: C1MF
[2026-03-21 18:16:23] [INFO]   -> Set field 'cADVehicleID' = "C1MF"
[2026-03-21 18:16:23] [INFO]   -> Set field 'name' = "C1MF"
[2026-03-21 18:16:23] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:16:23] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:16:23] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:16:23] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:16:23] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:16:23] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:16:23] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:16:23] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:15:54"
[2026-03-21 18:16:23] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:16:23] [INFO]   -> Found value: 2026-03-21T14:15:53.98-04:00
[2026-03-21 18:16:23] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:15:53"
[2026-03-21 18:16:23] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:16:23] [INFO]   -> Found value: RD
[2026-03-21 18:16:23] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:16:23] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:16:23] [INFO]   -> Found value: 26-000058
[2026-03-21 18:16:23] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:16:23] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:16:23] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:16:23] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:16:23] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:16:23] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:16:23] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:16:23] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:16:23] [INFO] Found 20 elements for 'Comment', concatenating 20 non-empty values
[2026-03-21 18:16:23] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:16:23] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:23] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:23] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:16:23] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:16:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:16:23] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-03-21 18:16:23] [INFO]   -> Found value: MFD
MFD
MFD
[2026-03-21 18:16:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD"
[2026-03-21 18:16:23] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:16:23] [INFO] Concatenating street name and type
[2026-03-21 18:16:23] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:16:23] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:16:23] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"C1MF","name":"C1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 18:15:54","timedispatch":"2026-03-21 18:15:53","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:16:23] [INFO] Number of extracted fields: 29
[2026-03-21 18:16:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD'
[2026-03-21 18:16:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-03-21 18:16:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD"]
[2026-03-21 18:16:23] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:16:23] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:16:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD"]
[2026-03-21 18:16:23] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:16:23] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:16:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-21 18:16:23] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:16:23] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:16:23] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:16:24] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:16:24] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:16:24] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:16:24] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:16:27] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141622490.xml
[2026-03-21 18:16:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141622490.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141622490.xml
[2026-03-21 18:16:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141622490.xml
[2026-03-21 18:16:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141632613.xml
[2026-03-21 18:16:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141632613.xml for user: 68920395733981a47
[2026-03-21 18:16:32] [INFO] File size: 17080 bytes
[2026-03-21 18:16:33] [INFO] Created FTPFiles record with ID: 69bee081435435c68
[2026-03-21 18:16:33] [INFO] About to extract fields from XML. File size: 17080 bytes
[2026-03-21 18:16:33] [INFO] Number of mappings: 24
[2026-03-21 18:16:33] [INFO] Starting XML parsing. Content length: 17080
[2026-03-21 18:16:33] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:16:33] [INFO] Processing 24 field mappings
[2026-03-21 18:16:33] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:16:33] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:16:33] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:16:33] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:16:33] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:16:33] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:16:33] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:16:33] [INFO]   -> Found value: 37379
[2026-03-21 18:16:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:16:33] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:16:33] [INFO]   -> Found value: 9720
[2026-03-21 18:16:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:16:33] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:16:33] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:16:33] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:16:33] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:16:33] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:16:33] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:16:33] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:16:33] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:16:33] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:16:33] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:16:33] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:16:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:16:33] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:16:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:16:33] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:16:33] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:16:33] [INFO]   -> Found value: 35.24873
[2026-03-21 18:16:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:16:33] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:16:33] [INFO]   -> Found value: -85.205128
[2026-03-21 18:16:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:16:33] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:16:33] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:16:33] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:16:33] [INFO]   -> Found value: S3MF
[2026-03-21 18:16:33] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-03-21 18:16:33] [INFO]   -> Set field 'name' = "S3MF"
[2026-03-21 18:16:33] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:16:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:16:33] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:16:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:16:33] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:16:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:16:33] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:16:33] [INFO]   -> Found value: 2026-03-21T14:16:31.867-04:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:16:31"
[2026-03-21 18:16:33] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:16:33] [INFO]   -> Found value: 2026-03-21T14:16:31.837-04:00
[2026-03-21 18:16:33] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:16:31"
[2026-03-21 18:16:33] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:16:33] [INFO]   -> Found value: RD
[2026-03-21 18:16:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:16:33] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:16:33] [INFO]   -> Found value: 26-000058
[2026-03-21 18:16:33] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:16:33] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:16:33] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:16:33] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:16:33] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:16:33] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:16:33] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:16:33] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:16:33] [INFO] Found 22 elements for 'Comment', concatenating 22 non-empty values
[2026-03-21 18:16:33] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:16:33] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:33] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:33] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:16:33] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:16:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:16:33] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-21 18:16:33] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-03-21 18:16:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-03-21 18:16:33] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:16:33] [INFO] Concatenating street name and type
[2026-03-21 18:16:33] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:16:33] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:16:33] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 18:16:31","timedispatch":"2026-03-21 18:16:31","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:16:33] [INFO] Number of extracted fields: 29
[2026-03-21 18:16:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-03-21 18:16:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-21 18:16:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-03-21 18:16:33] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:16:33] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:16:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-03-21 18:16:33] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:16:33] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:16:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 18:16:33] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:16:33] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:16:33] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:16:34] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:16:34] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:16:34] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:16:34] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:16:37] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141632613.xml
[2026-03-21 18:16:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141632613.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141632613.xml
[2026-03-21 18:16:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141632613.xml
[2026-03-21 18:16:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141647800.xml
[2026-03-21 18:16:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141647800.xml for user: 68920395733981a47
[2026-03-21 18:16:47] [INFO] File size: 17344 bytes
[2026-03-21 18:16:48] [INFO] Created FTPFiles record with ID: 69bee0905a585bbc6
[2026-03-21 18:16:48] [INFO] About to extract fields from XML. File size: 17344 bytes
[2026-03-21 18:16:48] [INFO] Number of mappings: 24
[2026-03-21 18:16:48] [INFO] Starting XML parsing. Content length: 17344
[2026-03-21 18:16:48] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:16:48] [INFO] Processing 24 field mappings
[2026-03-21 18:16:48] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:16:48] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:16:48] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:16:48] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:16:48] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:16:48] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:16:48] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:16:48] [INFO]   -> Found value: 37379
[2026-03-21 18:16:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:16:48] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:16:48] [INFO]   -> Found value: 9720
[2026-03-21 18:16:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:16:48] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:16:48] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:16:48] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:16:48] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:16:48] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:16:48] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:16:48] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:16:48] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:16:48] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:16:48] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:16:48] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:16:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'onScene' = null
[2026-03-21 18:16:48] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:16:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:16:48] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:16:48] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:16:48] [INFO]   -> Found value: 35.24873
[2026-03-21 18:16:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:16:48] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:16:48] [INFO]   -> Found value: -85.205128
[2026-03-21 18:16:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:16:48] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:16:48] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:16:48] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:16:48] [INFO]   -> Found value: S3MF
[2026-03-21 18:16:48] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-03-21 18:16:48] [INFO]   -> Set field 'name' = "S3MF"
[2026-03-21 18:16:48] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:16:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:16:48] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:16:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:16:48] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:16:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:16:48] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:16:48] [INFO]   -> Found value: 2026-03-21T14:16:31.867-04:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:16:31"
[2026-03-21 18:16:48] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:16:48] [INFO]   -> Found value: 2026-03-21T14:16:31.837-04:00
[2026-03-21 18:16:48] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:16:31"
[2026-03-21 18:16:48] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:16:48] [INFO]   -> Found value: RD
[2026-03-21 18:16:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:16:48] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:16:48] [INFO]   -> Found value: 26-000058
[2026-03-21 18:16:48] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:16:48] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:16:48] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:16:48] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:16:48] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:16:48] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:16:48] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:16:48] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:16:48] [INFO] Found 23 elements for 'Comment', concatenating 23 non-empty values
[2026-03-21 18:16:48] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:16:48] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:48] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:16:48] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:16:48] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:16:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:16:48] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-21 18:16:48] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-03-21 18:16:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-03-21 18:16:48] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:16:48] [INFO] Concatenating street name and type
[2026-03-21 18:16:48] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:16:48] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:16:48] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 18:16:31","timedispatch":"2026-03-21 18:16:31","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:16:48] [INFO] Number of extracted fields: 29
[2026-03-21 18:16:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-03-21 18:16:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-21 18:16:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-03-21 18:16:48] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:16:48] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:16:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-03-21 18:16:48] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:16:48] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:16:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 18:16:48] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:16:48] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:16:49] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:16:49] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:16:49] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:16:49] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:16:49] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:16:52] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141647800.xml
[2026-03-21 18:16:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141647800.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141647800.xml
[2026-03-21 18:16:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141647800.xml
[2026-03-21 18:19:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141929613.xml
[2026-03-21 18:19:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141929613.xml for user: 68920395733981a47
[2026-03-21 18:19:29] [INFO] File size: 17493 bytes
[2026-03-21 18:19:30] [INFO] Created FTPFiles record with ID: 69bee13255e366a56
[2026-03-21 18:19:30] [INFO] About to extract fields from XML. File size: 17493 bytes
[2026-03-21 18:19:30] [INFO] Number of mappings: 24
[2026-03-21 18:19:30] [INFO] Starting XML parsing. Content length: 17493
[2026-03-21 18:19:30] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:19:30] [INFO] Processing 24 field mappings
[2026-03-21 18:19:30] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:19:30] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:19:30] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:19:30] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:19:30] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:19:30] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:19:30] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:19:30] [INFO]   -> Found value: 37379
[2026-03-21 18:19:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:19:30] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:19:30] [INFO]   -> Found value: 9720
[2026-03-21 18:19:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:19:30] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:19:30] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:19:30] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:19:30] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:19:30] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:19:30] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:19:30] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:19:30] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:19:30] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:19:30] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:19:30] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:19:30] [INFO]   -> Found value: 2026-03-21T14:19:25.863-04:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'onScene' = "2026-03-21 18:19:25"
[2026-03-21 18:19:30] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:19:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:19:30] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:19:30] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:19:30] [INFO]   -> Found value: 35.24873
[2026-03-21 18:19:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:19:30] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:19:30] [INFO]   -> Found value: -85.205128
[2026-03-21 18:19:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:19:30] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:19:30] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:19:30] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:19:30] [INFO]   -> Found value: S3MF
[2026-03-21 18:19:30] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-03-21 18:19:30] [INFO]   -> Set field 'name' = "S3MF"
[2026-03-21 18:19:30] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:19:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:19:30] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:19:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'timeonscene' = null
[2026-03-21 18:19:30] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:19:30] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:19:30] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:19:30] [INFO]   -> Found value: 2026-03-21T14:16:31.867-04:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:16:31"
[2026-03-21 18:19:30] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:19:30] [INFO]   -> Found value: 2026-03-21T14:16:31.837-04:00
[2026-03-21 18:19:30] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:16:31"
[2026-03-21 18:19:30] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:19:30] [INFO]   -> Found value: RD
[2026-03-21 18:19:30] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:19:30] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:19:30] [INFO]   -> Found value: 26-000058
[2026-03-21 18:19:30] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:19:30] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:19:30] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:19:30] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:19:30] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:19:30] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:19:30] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:19:30] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:19:30] [INFO] Found 23 elements for 'Comment', concatenating 23 non-empty values
[2026-03-21 18:19:30] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:19:30] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:19:30] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:19:30] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:19:30] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:19:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:19:30] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-21 18:19:30] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-03-21 18:19:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-03-21 18:19:30] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:19:30] [INFO] Concatenating street name and type
[2026-03-21 18:19:30] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:19:30] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:19:30] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":"2026-03-21 18:19:25","cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-21 18:16:31","timedispatch":"2026-03-21 18:16:31","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:19:30] [INFO] Number of extracted fields: 29
[2026-03-21 18:19:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-03-21 18:19:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-21 18:19:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-03-21 18:19:30] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:19:30] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:19:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-03-21 18:19:30] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:19:30] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:19:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 18:19:30] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:19:30] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:19:31] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:19:31] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:19:31] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:19:31] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:19:31] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:19:34] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141929613.xml
[2026-03-21 18:19:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141929613.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141929613.xml
[2026-03-21 18:19:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141929613.xml
[2026-03-21 18:19:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141934692.xml
[2026-03-21 18:19:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141934692.xml for user: 68920395733981a47
[2026-03-21 18:19:34] [INFO] File size: 17567 bytes
[2026-03-21 18:19:35] [INFO] Created FTPFiles record with ID: 69bee1373882852c8
[2026-03-21 18:19:35] [INFO] About to extract fields from XML. File size: 17567 bytes
[2026-03-21 18:19:35] [INFO] Number of mappings: 24
[2026-03-21 18:19:35] [INFO] Starting XML parsing. Content length: 17567
[2026-03-21 18:19:35] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:19:35] [INFO] Processing 24 field mappings
[2026-03-21 18:19:35] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:19:35] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:19:35] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:19:35] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:19:35] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:19:35] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:19:35] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:19:35] [INFO]   -> Found value: 37379
[2026-03-21 18:19:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:19:35] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:19:35] [INFO]   -> Found value: 9720
[2026-03-21 18:19:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:19:35] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:19:35] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:19:35] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:19:35] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:19:35] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:19:35] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:19:35] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:19:35] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:19:35] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-21T14:19:25.863-04:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'onScene' = "2026-03-21 18:19:25"
[2026-03-21 18:19:35] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:19:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'cleared' = null
[2026-03-21 18:19:35] [INFO]   -> Set field 'inService' = null
[2026-03-21 18:19:35] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:19:35] [INFO]   -> Found value: 35.24873
[2026-03-21 18:19:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:19:35] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:19:35] [INFO]   -> Found value: -85.205128
[2026-03-21 18:19:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:19:35] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:19:35] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:19:35] [INFO]   -> Found value: S3MF
[2026-03-21 18:19:35] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-03-21 18:19:35] [INFO]   -> Set field 'name' = "S3MF"
[2026-03-21 18:19:35] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:19:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-21 18:19:35] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-21T14:19:30.703-04:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'timeonscene' = "2026-03-21 18:19:30"
[2026-03-21 18:19:35] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:19:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:19:35] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-21T14:16:31.867-04:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:16:31"
[2026-03-21 18:19:35] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-21T14:16:31.837-04:00
[2026-03-21 18:19:35] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:16:31"
[2026-03-21 18:19:35] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:19:35] [INFO]   -> Found value: RD
[2026-03-21 18:19:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:19:35] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:19:35] [INFO]   -> Found value: 26-000058
[2026-03-21 18:19:35] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:19:35] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:19:35] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:19:35] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:19:35] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:19:35] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:19:35] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:19:35] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:19:35] [INFO] Found 23 elements for 'Comment', concatenating 23 non-empty values
[2026-03-21 18:19:35] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:19:35] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:19:35] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:19:35] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:19:35] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:19:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:19:35] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-21 18:19:35] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-03-21 18:19:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-03-21 18:19:35] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:19:35] [INFO] Concatenating street name and type
[2026-03-21 18:19:35] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:19:35] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:19:35] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":"2026-03-21 18:19:25","cleared":null,"inService":null,"nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":null,"timeonscene":"2026-03-21 18:19:30","timestaging":null,"timeenroutetoscene":"2026-03-21 18:16:31","timedispatch":"2026-03-21 18:16:31","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:19:35] [INFO] Number of extracted fields: 29
[2026-03-21 18:19:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-03-21 18:19:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-21 18:19:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-03-21 18:19:35] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:19:35] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:19:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-03-21 18:19:35] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:19:35] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:19:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 18:19:35] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:19:35] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:19:35] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:19:36] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:19:36] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:19:36] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:19:36] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:19:40] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321141934692.xml
[2026-03-21 18:19:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141934692.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321141934692.xml
[2026-03-21 18:19:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321141934692.xml
[2026-03-21 18:45:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321144527466.xml
[2026-03-21 18:45:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321144527466.xml for user: 68920395733981a47
[2026-03-21 18:45:27] [INFO] File size: 19531 bytes
[2026-03-21 18:45:28] [INFO] Created FTPFiles record with ID: 69bee7481839ccba6
[2026-03-21 18:45:28] [INFO] About to extract fields from XML. File size: 19531 bytes
[2026-03-21 18:45:28] [INFO] Number of mappings: 24
[2026-03-21 18:45:28] [INFO] Starting XML parsing. Content length: 19531
[2026-03-21 18:45:28] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:45:28] [INFO] Processing 24 field mappings
[2026-03-21 18:45:28] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:45:28] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:45:28] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:45:28] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:45:28] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:45:28] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:45:28] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:45:28] [INFO]   -> Found value: 37379
[2026-03-21 18:45:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:45:28] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:45:28] [INFO]   -> Found value: 9720
[2026-03-21 18:45:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:45:28] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:45:28] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:45:28] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:45:28] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:45:28] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:45:28] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:45:28] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:45:28] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:45:28] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:19:25.863-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'onScene' = "2026-03-21 18:19:25"
[2026-03-21 18:45:28] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:45:26.57-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'cleared' = "2026-03-21 18:45:26"
[2026-03-21 18:45:28] [INFO]   -> Set field 'inService' = "2026-03-21 18:45:26"
[2026-03-21 18:45:28] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:45:28] [INFO]   -> Found value: 35.24873
[2026-03-21 18:45:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:45:28] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:45:28] [INFO]   -> Found value: -85.205128
[2026-03-21 18:45:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:45:28] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:45:28] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:45:28] [INFO]   -> Found value: S3MF
[2026-03-21 18:45:28] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-03-21 18:45:28] [INFO]   -> Set field 'name' = "S3MF"
[2026-03-21 18:45:28] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:45:26.57-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 18:45:26"
[2026-03-21 18:45:28] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:19:30.703-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'timeonscene' = "2026-03-21 18:19:30"
[2026-03-21 18:45:28] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:45:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:45:28] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:16:31.867-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:16:31"
[2026-03-21 18:45:28] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-21T14:16:31.837-04:00
[2026-03-21 18:45:28] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:16:31"
[2026-03-21 18:45:28] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:45:28] [INFO]   -> Found value: RD
[2026-03-21 18:45:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:45:28] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:45:28] [INFO]   -> Found value: 26-000058
[2026-03-21 18:45:28] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:45:28] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:45:28] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:45:28] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:45:28] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:45:28] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:45:28] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:45:28] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:45:28] [INFO] Found 23 elements for 'Comment', concatenating 23 non-empty values
[2026-03-21 18:45:28] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:45:28] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:45:28] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]"
[2026-03-21 18:45:28] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:45:28] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:45:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:45:28] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-21 18:45:28] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-03-21 18:45:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-03-21 18:45:28] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:45:28] [INFO] Concatenating street name and type
[2026-03-21 18:45:28] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:45:28] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:45:28] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":"2026-03-21 18:19:25","cleared":"2026-03-21 18:45:26","inService":"2026-03-21 18:45:26","nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":"2026-03-21 18:45:26","timeonscene":"2026-03-21 18:19:30","timestaging":null,"timeenroutetoscene":"2026-03-21 18:16:31","timedispatch":"2026-03-21 18:16:31","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:45:28] [INFO] Number of extracted fields: 29
[2026-03-21 18:45:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-03-21 18:45:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-21 18:45:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-03-21 18:45:28] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:45:28] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:45:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-03-21 18:45:28] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:45:28] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:45:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 18:45:28] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:45:28] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:45:28] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:45:28] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:45:29] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:45:29] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:45:29] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:45:32] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321144527466.xml
[2026-03-21 18:45:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321144527466.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321144527466.xml
[2026-03-21 18:45:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321144527466.xml
[2026-03-21 18:52:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321145247417.xml
[2026-03-21 18:52:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321145247417.xml for user: 68920395733981a47
[2026-03-21 18:52:47] [INFO] File size: 19646 bytes
[2026-03-21 18:52:48] [INFO] Created FTPFiles record with ID: 69bee90035474defb
[2026-03-21 18:52:48] [INFO] About to extract fields from XML. File size: 19646 bytes
[2026-03-21 18:52:48] [INFO] Number of mappings: 24
[2026-03-21 18:52:48] [INFO] Starting XML parsing. Content length: 19646
[2026-03-21 18:52:48] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 18:52:48] [INFO] Processing 24 field mappings
[2026-03-21 18:52:48] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 18:52:48] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 18:52:48] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 18:52:48] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 18:52:48] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 18:52:48] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 18:52:48] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 18:52:48] [INFO]   -> Found value: 37379
[2026-03-21 18:52:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 18:52:48] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 18:52:48] [INFO]   -> Found value: 9720
[2026-03-21 18:52:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 18:52:48] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 18:52:48] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 18:52:48] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 18:52:48] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 18:52:48] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 18:52:48] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 18:52:48] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 18:52:48] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 18:52:48] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:19:25.863-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'onScene' = "2026-03-21 18:19:25"
[2026-03-21 18:52:48] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:45:26.57-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'cleared' = "2026-03-21 18:45:26"
[2026-03-21 18:52:48] [INFO]   -> Set field 'inService' = "2026-03-21 18:45:26"
[2026-03-21 18:52:48] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 18:52:48] [INFO]   -> Found value: 35.24873
[2026-03-21 18:52:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 18:52:48] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 18:52:48] [INFO]   -> Found value: -85.205128
[2026-03-21 18:52:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 18:52:48] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 18:52:48] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 18:52:48] [INFO]   -> Found value: S3MF
[2026-03-21 18:52:48] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-03-21 18:52:48] [INFO]   -> Set field 'name' = "S3MF"
[2026-03-21 18:52:48] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:45:26.57-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 18:45:26"
[2026-03-21 18:52:48] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:19:30.703-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'timeonscene' = "2026-03-21 18:19:30"
[2026-03-21 18:52:48] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 18:52:48] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 18:52:48] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:16:31.867-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:16:31"
[2026-03-21 18:52:48] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-21T14:16:31.837-04:00
[2026-03-21 18:52:48] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:16:31"
[2026-03-21 18:52:48] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 18:52:48] [INFO]   -> Found value: RD
[2026-03-21 18:52:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 18:52:48] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 18:52:48] [INFO]   -> Found value: 26-000058
[2026-03-21 18:52:48] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 18:52:48] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 18:52:48] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 18:52:48] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 18:52:48] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 18:52:48] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 18:52:48] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 18:52:48] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 18:52:48] [INFO] Found 24 elements for 'Comment', concatenating 24 non-empty values
[2026-03-21 18:52:48] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 18:52:48] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]"
[2026-03-21 18:52:48] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]"
[2026-03-21 18:52:48] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 18:52:48] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 18:52:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 18:52:48] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-21 18:52:48] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-03-21 18:52:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-03-21 18:52:48] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 18:52:48] [INFO] Concatenating street name and type
[2026-03-21 18:52:48] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 18:52:48] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 18:52:48] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":"2026-03-21 18:19:25","cleared":"2026-03-21 18:45:26","inService":"2026-03-21 18:45:26","nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":"2026-03-21 18:45:26","timeonscene":"2026-03-21 18:19:30","timestaging":null,"timeenroutetoscene":"2026-03-21 18:16:31","timedispatch":"2026-03-21 18:16:31","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 18:52:48] [INFO] Number of extracted fields: 29
[2026-03-21 18:52:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-03-21 18:52:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-21 18:52:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-03-21 18:52:48] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 18:52:48] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 18:52:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-03-21 18:52:48] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 18:52:48] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 18:52:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 18:52:48] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 18:52:48] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 18:52:48] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 18:52:49] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 18:52:49] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 18:52:49] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 18:52:49] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 18:52:52] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321145247417.xml
[2026-03-21 18:52:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321145247417.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321145247417.xml
[2026-03-21 18:52:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321145247417.xml
[2026-03-21 19:03:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:02Z.xml
[2026-03-21 19:03:04] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:02Z.xml
[2026-03-21 19:03:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:02Z.xml
[2026-03-21 19:03:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:02Z.xml
[2026-03-21 19:03:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:02Z.xml
[2026-03-21 19:03:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:02Z.xml
[2026-03-21 19:03:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:03Z.xml
[2026-03-21 19:03:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:03Z.xml
[2026-03-21 19:03:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:03Z.xml
[2026-03-21 19:03:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:03Z.xml
[2026-03-21 19:03:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:03Z.xml
[2026-03-21 19:03:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:03Z.xml
[2026-03-21 19:03:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:04Z.xml
[2026-03-21 19:03:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:04Z.xml
[2026-03-21 19:03:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:05Z.xml
[2026-03-21 19:03:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:05Z.xml
[2026-03-21 19:03:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:05Z.xml
[2026-03-21 19:03:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:05Z.xml
[2026-03-21 19:03:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:05Z.xml
[2026-03-21 19:03:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:05Z.xml
[2026-03-21 19:03:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:06Z.xml
[2026-03-21 19:03:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:06Z.xml
[2026-03-21 19:03:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:10Z.xml
[2026-03-21 19:03:12] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:10Z.xml
[2026-03-21 19:03:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:10Z.xml
[2026-03-21 19:03:13] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:10Z.xml
[2026-03-21 19:03:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:32Z.xml
[2026-03-21 19:03:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:32Z.xml for user: 66a7b78a47817ab30
[2026-03-21 19:03:35] [INFO] File size: 11680 bytes
[2026-03-21 19:03:35] [INFO] Created FTPFiles record with ID: 69beeb87d81335882
[2026-03-21 19:03:35] [INFO] About to extract fields from XML. File size: 11680 bytes
[2026-03-21 19:03:35] [INFO] Number of mappings: 14
[2026-03-21 19:03:35] [INFO] Starting XML parsing. Content length: 11680
[2026-03-21 19:03:35] [ERROR] XML Parse Error: Namespace prefix s for id on CADServiceCall is not defined on line 1
[2026-03-21 19:03:35] [ERROR] XML Parse Error: Couldn't find end of Start Tag CallNoteAckRe line 1 on line 1
[2026-03-21 19:03:35] [ERROR] XML Parse Error: Premature end of data in tag Note line 1 on line 1
[2026-03-21 19:03:35] [ERROR] Error extracting XML fields: Failed to parse XML content - see errors above
[2026-03-21 19:03:35] [ERROR] Error location: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-03-21 19:03:35] [ERROR] Stack trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-03-21 19:03:35] [ERROR] EXCEPTION during field extraction: Failed to parse XML content - see errors above
[2026-03-21 19:03:35] [ERROR] Exception file: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php line: 96
[2026-03-21 19:03:35] [ERROR] Exception trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-03-21 19:03:35] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013282_2026-03-21 14:03:32Z.xml: Failed to parse XML content - see errors above
[2026-03-21 19:03:35] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-03-21 19:30:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321153023064.xml
[2026-03-21 19:30:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321153023064.xml for user: 68920395733981a47
[2026-03-21 19:30:23] [INFO] File size: 19761 bytes
[2026-03-21 19:30:23] [INFO] Created FTPFiles record with ID: 69bef1cfb5d0dcabd
[2026-03-21 19:30:23] [INFO] About to extract fields from XML. File size: 19761 bytes
[2026-03-21 19:30:23] [INFO] Number of mappings: 24
[2026-03-21 19:30:23] [INFO] Starting XML parsing. Content length: 19761
[2026-03-21 19:30:23] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-21 19:30:23] [INFO] Processing 24 field mappings
[2026-03-21 19:30:23] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-21 19:30:23] [INFO]   -> Found value: SEIZE-Seizure
[2026-03-21 19:30:23] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZE-Seizure"
[2026-03-21 19:30:23] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-21 19:30:23] [INFO]   -> Found value: 9720 MILLSAPS COAL RD
[2026-03-21 19:30:23] [INFO]   -> Set field 'businessName' = "9720 MILLSAPS COAL RD"
[2026-03-21 19:30:23] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-21 19:30:23] [INFO]   -> Found value: 37379
[2026-03-21 19:30:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-21 19:30:23] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-21 19:30:23] [INFO]   -> Found value: 9720
[2026-03-21 19:30:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9720
[2026-03-21 19:30:23] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-21 19:30:23] [INFO]   -> Found value: MILLSAPS COAL
[2026-03-21 19:30:23] [INFO]   -> Set field 'streetName' = "MILLSAPS COAL"
[2026-03-21 19:30:23] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-21 19:30:23] [INFO]   -> Found value: No Cross Street/MILLSAP RD
[2026-03-21 19:30:23] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/MILLSAP RD"
[2026-03-21 19:30:23] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:13:59.1-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'alarm' = "2026-03-21 18:13:59"
[2026-03-21 19:30:23] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:15:54.003-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'enroute' = "2026-03-21 18:15:54"
[2026-03-21 19:30:23] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:19:25.863-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'onScene' = "2026-03-21 18:19:25"
[2026-03-21 19:30:23] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:45:26.57-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'cleared' = "2026-03-21 18:45:26"
[2026-03-21 19:30:23] [INFO]   -> Set field 'inService' = "2026-03-21 18:45:26"
[2026-03-21 19:30:23] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-21 19:30:23] [INFO]   -> Found value: 35.24873
[2026-03-21 19:30:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.24873000000000189402271644212305545806884765625
[2026-03-21 19:30:23] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-21 19:30:23] [INFO]   -> Found value: -85.205128
[2026-03-21 19:30:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.20512800000000197542249225080013275146484375
[2026-03-21 19:30:23] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:14:49.577-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'dispatched' = "2026-03-21 18:14:49"
[2026-03-21 19:30:23] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-21 19:30:23] [INFO]   -> Found value: S3MF
[2026-03-21 19:30:23] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-03-21 19:30:23] [INFO]   -> Set field 'name' = "S3MF"
[2026-03-21 19:30:23] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:45:26.57-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 18:45:26"
[2026-03-21 19:30:23] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:19:30.703-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'timeonscene' = "2026-03-21 18:19:30"
[2026-03-21 19:30:23] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-21 19:30:23] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'timestaging' = null
[2026-03-21 19:30:23] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:16:31.867-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 18:16:31"
[2026-03-21 19:30:23] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-21T14:16:31.837-04:00
[2026-03-21 19:30:23] [INFO]   -> Set field 'timedispatch' = "2026-03-21 18:16:31"
[2026-03-21 19:30:23] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-21 19:30:23] [INFO]   -> Found value: RD
[2026-03-21 19:30:23] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 19:30:23] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 19:30:23] [INFO]   -> Found value: 26-000058
[2026-03-21 19:30:23] [INFO]   -> Set field 'incidentInternalId' = "26-000058"
[2026-03-21 19:30:23] [INFO]   -> Set field 'dispatchRunNumber' = "26-000058"
[2026-03-21 19:30:23] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-21 19:30:23] [INFO]   -> Found value: 2026-03-31101
[2026-03-21 19:30:23] [INFO]   -> Set field 'policeReportNumber' = "2026-03-31101"
[2026-03-21 19:30:23] [INFO]   -> Set field 'cADNumber' = "2026-03-31101"
[2026-03-21 19:30:23] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-21 19:30:23] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-21 19:30:23] [INFO] Found 25 elements for 'Comment', concatenating 25 non-empty values
[2026-03-21 19:30:23] [INFO]   -> Found value: 03/21/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]
03/21/2026 ...
[2026-03-21 19:30:23] [INFO]   -> Set field 'dispatchNotes' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]\n03\/21\/2026 15:30:18 LEWIS_B                 [25] [EMS] has closed their incident [2026-03-31099]"
[2026-03-21 19:30:23] [INFO]   -> Set field 'cADLog' = "03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]\n03\/21\/2026 15:30:18 LEWIS_B                 [25] [EMS] has closed their incident [2026-03-31099]"
[2026-03-21 19:30:23] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-21 19:30:23] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-21 19:30:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 19:30:23] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-03-21 19:30:23] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-03-21 19:30:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-03-21 19:30:23] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-03-21 19:30:23] [INFO] Concatenating street name and type
[2026-03-21 19:30:23] [INFO]   -> Combined street name: MILLSAPS COAL RD
[2026-03-21 19:30:23] [INFO] Built locationCoordinates from lat/lng: 35.24873,-85.205128
[2026-03-21 19:30:23] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SEIZE-Seizure","businessName":"9720 MILLSAPS COAL RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9720,"streetName":"MILLSAPS COAL RD","incidentLocationCross":"No Cross Street\/MILLSAP RD","alarm":"2026-03-21 18:13:59","enroute":"2026-03-21 18:15:54","onScene":"2026-03-21 18:19:25","cleared":"2026-03-21 18:45:26","inService":"2026-03-21 18:45:26","nERISIncidentLatitude":35.24873000000000189402271644212305545806884765625,"nERISIncidentLongitude":-85.20512800000000197542249225080013275146484375,"dispatched":"2026-03-21 18:14:49","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":"2026-03-21 18:45:26","timeonscene":"2026-03-21 18:19:30","timestaging":null,"timeenroutetoscene":"2026-03-21 18:16:31","timedispatch":"2026-03-21 18:16:31","incidentInternalId":"26-000058","dispatchRunNumber":"26-000058","policeReportNumber":"2026-03-31101","cADNumber":"2026-03-31101","dispatchNotes":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]\n03\/21\/2026 15:30:18 LEWIS_B                 [25] [EMS] has closed their incident [2026-03-31099]","cADLog":"03\/21\/2026 14:13:59 weaver_r                [1] Incident linked to [EMS] [2026-03-31099]\n03\/21\/2026 14:13:59 weaver_r                [2] Multi-Jurisdiction EMS Incident #: 2026-03-31099\n03\/21\/2026 14:13:59 weaver_r                [3] Multi-Agency Law Incident #: 2026-03-31100\n03\/21\/2026 14:14:21 weaver_r                [4] Protocol Q&A \u2022  Question: About how old is the patient? \u2022  Answer: 58 [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:25 weaver_r                [5] Protocol Q&A \u2022  Question: Is the patient male or female? \u2022  Answer: Female [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:34 weaver_r                [6] Protocol Q&A \u2022  Question: Is the patient responding to you? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:39 WHITE_W                 [7] MED 12 FROM QTRS [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:41 weaver_r                [8] Protocol Q&A \u2022  Question: Is the patient breathing normally? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:48 weaver_r                [9] Protocol Q&A \u2022  Question: Is the patient able to speak? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:49 DAVIS_R                 [10] Automatic Case Number(s) issued for Incident #[2026-03-31101], Jurisdiction: Mowbray VFD. Case Number(s): 26-000058 requested by H1400. [Shared]\n03\/21\/2026 14:14:57 BEDELL_K                [11] ADV ON HCSO  [Shared 2, 2026-03-31100 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:14:58 weaver_r                [12] Protocol Q&A \u2022  Question: Has the seizure stopped? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:12 weaver_r                [13] Protocol Q&A \u2022  Question: How long has the patient been seizing? \u2022  Answer: More than 5 minutes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:21 weaver_r                [14] Protocol Q&A \u2022  Question: Has the patient had multiple seizures today? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:25 weaver_r                [15] Protocol Q&A \u2022  Question: Does the patient have a history of seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:29 weaver_r                [16] Protocol Q&A \u2022  Question: If the patient is under 6 years old - has the child been sick? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:46 weaver_r                [17] Protocol Q&A \u2022  Question: Is the patient a diabetic? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:15:52 weaver_r                [18] Protocol Q&A \u2022  Question: Is the patient a recreational drug user? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:08 weaver_r                [19] Protocol Q&A \u2022  Question: Has the patient had a recent head injury? \u2022  Answer: No [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:19 weaver_r                [20] Protocol Q&A \u2022  Question: Has the patient had a recent headache? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [21] Protocol Q&A \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:30 weaver_r                [22] Card 'SEIZE' was terminated \u2022  Question: Does the patient take medication to control seizures? \u2022  Answer: Yes [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:16:43 APP01                   [23] Requested Case Number(s) issued for Incident #[2026-03-31099], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010790. requested by M12. [Shared 1, 2026-03-31099 - SEIZE - 9720 MILLSAPS COAL RD]\n03\/21\/2026 14:52:43 TARZIA_S                [24] [Law] has closed their incident [2026-03-31100]\n03\/21\/2026 15:30:18 LEWIS_B                 [25] [EMS] has closed their incident [2026-03-31099]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24873,-85.205128"}
[2026-03-21 19:30:23] [INFO] Number of extracted fields: 29
[2026-03-21 19:30:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-03-21 19:30:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-03-21 19:30:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-03-21 19:30:23] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-21 19:30:23] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-21 19:30:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-03-21 19:30:24] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-03-21 19:30:24] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-03-21 19:30:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 19:30:24] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-21 19:30:24] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-03-21 19:30:24] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2cc18c584b
[2026-03-21 19:30:24] [INFO] Found existing Dispatch with cADNumber '2026-03-31101', ID: 69bedfeaacdf48c48 - will update instead of create
[2026-03-21 19:30:24] [INFO] Updated existing Dispatches record with ID: 69bedfeaacdf48c48
[2026-03-21 19:30:24] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-21 19:30:24] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-21 19:30:28] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-31101_20260321153023064.xml
[2026-03-21 19:30:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321153023064.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-21/INCCOMBINED_2026-03-31101_20260321153023064.xml
[2026-03-21 19:30:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-31101_20260321153023064.xml
[2026-03-21 19:31:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193155.XML
[2026-03-21 19:31:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193155.XML for user: 68f1466aed072ad4a
[2026-03-21 19:31:55] [INFO] File size: 4699 bytes
[2026-03-21 19:31:55] [INFO] Created FTPFiles record with ID: 69bef22bd7bf590b7
[2026-03-21 19:31:55] [INFO] About to extract fields from XML. File size: 4699 bytes
[2026-03-21 19:31:55] [INFO] Number of mappings: 28
[2026-03-21 19:31:55] [INFO] Starting XML parsing. Content length: 4699
[2026-03-21 19:31:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 19:31:55] [INFO] Processing 28 field mappings
[2026-03-21 19:31:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 19:31:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 19:31:55] [INFO]   -> Found value: PCFD
[2026-03-21 19:31:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 19:31:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 19:31:55] [INFO]   -> Found value: 2026000762
[2026-03-21 19:31:55] [INFO]   -> Set field 'incidentInternalId' = "2026000762"
[2026-03-21 19:31:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000762"
[2026-03-21 19:31:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 19:31:55] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-21 19:31:55] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-21 19:31:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 19:31:55] [INFO]   -> Found value: 4123
[2026-03-21 19:31:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4123
[2026-03-21 19:31:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 19:31:55] [INFO]   -> Found value: TN
[2026-03-21 19:31:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 19:31:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 19:31:55] [INFO]   -> Found value: 38506
[2026-03-21 19:31:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 19:31:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 19:31:55] [INFO]   -> Found value: 36.11343
[2026-03-21 19:31:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11343000000000103000274975784122943878173828125
[2026-03-21 19:31:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 19:31:55] [INFO]   -> Found value: -85.45189
[2026-03-21 19:31:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4518900000000058980731409974396228790283203125
[2026-03-21 19:31:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 19:31:55] [INFO]   -> Found value: 2026-03-21 14:30:33
[2026-03-21 19:31:55] [INFO]   -> Set field 'alarm' = "2026-03-21 14:30:33"
[2026-03-21 19:31:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 19:31:55] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:31:55] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:31:50"
[2026-03-21 19:31:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 19:31:55] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 19:31:55] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 19:31:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 19:31:55] [INFO]   -> Found value: TK15
[2026-03-21 19:31:55] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 19:31:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 19:31:55] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:31:55] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:31:50"
[2026-03-21 19:31:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 19:31:55] [INFO]   -> Found value: 20260030629
[2026-03-21 19:31:55] [INFO]   -> Set field 'policeReportNumber' = "20260030629"
[2026-03-21 19:31:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 19:31:55] [INFO]   -> No value found (null or empty)
[2026-03-21 19:31:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 19:31:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 19:31:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 19:31:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 19:31:55] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 19:31:55] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 19:31:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 19:31:55] [INFO]   -> Found value: RD
[2026-03-21 19:31:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 19:31:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 19:31:55] [INFO]   -> Found value: 4123 SEVEN SPRINGS RD
[2026-03-21 19:31:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4123 SEVEN SPRINGS RD"
[2026-03-21 19:31:55] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-03-21 19:31:55] [INFO] Concatenating street name and type
[2026-03-21 19:31:55] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 19:31:55] [INFO] Built locationCoordinates from lat/lng: 36.11343,-85.45189
[2026-03-21 19:31:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000762","dispatchRunNumber":"2026000762","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4123,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11343000000000103000274975784122943878173828125,"nERISIncidentLongitude":-85.4518900000000058980731409974396228790283203125,"alarm":"2026-03-21 14:30:33","dispatched":"2026-03-21 14:31:50","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"TK15","timedispatch":"2026-03-21 14:31:50","policeReportNumber":"20260030629","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"4123 SEVEN SPRINGS RD","locationCoordinates":"36.11343,-85.45189"}
[2026-03-21 19:31:55] [INFO] Number of extracted fields: 19
[2026-03-21 19:31:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 19:31: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-21 19:31:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 19:31:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 19:31:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 19:31:56] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 19:31:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 19:31:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 19:31:56] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-21 19:32:07] [INFO] Created new Dispatches record with ID: 69bef22cacbfd26d2
[2026-03-21 19:32:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193155.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030629_20260321_193155.XML
[2026-03-21 19:32:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193155.XML
[2026-03-21 19:34:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193429.XML
[2026-03-21 19:34:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193429.XML for user: 68f1466aed072ad4a
[2026-03-21 19:34:29] [INFO] File size: 5554 bytes
[2026-03-21 19:34:30] [INFO] Created FTPFiles record with ID: 69bef2c5ee146413f
[2026-03-21 19:34:30] [INFO] About to extract fields from XML. File size: 5554 bytes
[2026-03-21 19:34:30] [INFO] Number of mappings: 28
[2026-03-21 19:34:30] [INFO] Starting XML parsing. Content length: 5554
[2026-03-21 19:34:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 19:34:30] [INFO] Processing 28 field mappings
[2026-03-21 19:34:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 19:34:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 19:34:30] [INFO]   -> Found value: PCFD
[2026-03-21 19:34:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 19:34:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 19:34:30] [INFO]   -> Found value: 2026000762
[2026-03-21 19:34:30] [INFO]   -> Set field 'incidentInternalId' = "2026000762"
[2026-03-21 19:34:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000762"
[2026-03-21 19:34:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 19:34:30] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-21 19:34:30] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-21 19:34:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 19:34:30] [INFO]   -> Found value: 4123
[2026-03-21 19:34:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4123
[2026-03-21 19:34:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 19:34:30] [INFO]   -> Found value: TN
[2026-03-21 19:34:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 19:34:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 19:34:30] [INFO]   -> Found value: 38506
[2026-03-21 19:34:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 19:34:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 19:34:30] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 19:34:30] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 19:34:30] [INFO]   -> Found value: 36.11343
[2026-03-21 19:34:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11343000000000103000274975784122943878173828125
[2026-03-21 19:34:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 19:34:30] [INFO]   -> Found value: -85.45189
[2026-03-21 19:34:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4518900000000058980731409974396228790283203125
[2026-03-21 19:34:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 19:34:30] [INFO]   -> Found value: 2026-03-21 14:30:33
[2026-03-21 19:34:30] [INFO]   -> Set field 'alarm' = "2026-03-21 14:30:33"
[2026-03-21 19:34:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 19:34:30] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:34:30] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:31:50"
[2026-03-21 19:34:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 19:34:30] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 19:34:30] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 19:34:30] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 19:34:30] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 19:34:30] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 19:34:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 19:34:30] [INFO]   -> Found value: TK15
[2026-03-21 19:34:30] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 19:34:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 19:34:30] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:34:30] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:31:50"
[2026-03-21 19:34:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 19:34:30] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 19:34:30] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 19:34:30] [INFO]   -> Found value: 2026-03-21 14:34:25
[2026-03-21 19:34:30] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 14:34:25"
[2026-03-21 19:34:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 19:34:30] [INFO]   -> Found value: 2026-03-21 14:34:25
[2026-03-21 19:34:30] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 14:34:25"
[2026-03-21 19:34:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 19:34:30] [INFO]   -> Found value: 20260030629
[2026-03-21 19:34:30] [INFO]   -> Set field 'policeReportNumber' = "20260030629"
[2026-03-21 19:34:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 19:34:30] [INFO]   -> Found value: SMOKE WITH NO FIRE  [03/21/26 14:32:45 DSTEPHENS]
[2026-03-21 19:34:30] [INFO]   -> Set field 'dispatchNotes' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:30] [INFO]   -> Set field 'cADLog' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 19:34:30] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 19:34:30] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 19:34:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 19:34:30] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 19:34:30] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 19:34:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 19:34:30] [INFO]   -> Found value: RD
[2026-03-21 19:34:30] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 19:34:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 19:34:30] [INFO]   -> Found value: 4123 SEVEN SPRINGS RD
[2026-03-21 19:34:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4123 SEVEN SPRINGS RD"
[2026-03-21 19:34:30] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 19:34:30] [INFO] Concatenating street name and type
[2026-03-21 19:34:30] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 19:34:30] [INFO] Built locationCoordinates from lat/lng: 36.11343,-85.45189
[2026-03-21 19:34:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000762","dispatchRunNumber":"2026000762","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4123,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11343000000000103000274975784122943878173828125,"nERISIncidentLongitude":-85.4518900000000058980731409974396228790283203125,"alarm":"2026-03-21 14:30:33","dispatched":"2026-03-21 14:31:50","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"TK15","timedispatch":"2026-03-21 14:31:50","timeunitclear":"2026-03-21 14:34:25","timecanceledenroute":"2026-03-21 14:34:25","policeReportNumber":"20260030629","dispatchNotes":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","cADLog":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"4123 SEVEN SPRINGS RD","locationCoordinates":"36.11343,-85.45189"}
[2026-03-21 19:34:30] [INFO] Number of extracted fields: 23
[2026-03-21 19:34:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 19:34:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 19:34:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 19:34:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 19:34:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 19:34:30] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 19:34:30] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 19:34:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 19:34:30] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-21 19:34:30] [INFO] Found existing Dispatch with cADNumber '2026000762', ID: 69bef22cacbfd26d2 - will update instead of create
[2026-03-21 19:34:30] [INFO] Updated existing Dispatches record with ID: 69bef22cacbfd26d2
[2026-03-21 19:34:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193429.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030629_20260321_193429.XML
[2026-03-21 19:34:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193429.XML
[2026-03-21 19:34:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193433.XML
[2026-03-21 19:34:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193433.XML for user: 68f1466aed072ad4a
[2026-03-21 19:34:33] [INFO] File size: 5554 bytes
[2026-03-21 19:34:33] [INFO] Created FTPFiles record with ID: 69bef2c99d63e8e54
[2026-03-21 19:34:33] [INFO] About to extract fields from XML. File size: 5554 bytes
[2026-03-21 19:34:33] [INFO] Number of mappings: 28
[2026-03-21 19:34:33] [INFO] Starting XML parsing. Content length: 5554
[2026-03-21 19:34:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 19:34:33] [INFO] Processing 28 field mappings
[2026-03-21 19:34:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 19:34:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 19:34:33] [INFO]   -> Found value: PCFD
[2026-03-21 19:34:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 19:34:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 19:34:33] [INFO]   -> Found value: 2026000762
[2026-03-21 19:34:33] [INFO]   -> Set field 'incidentInternalId' = "2026000762"
[2026-03-21 19:34:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000762"
[2026-03-21 19:34:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 19:34:33] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-21 19:34:33] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-21 19:34:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 19:34:33] [INFO]   -> Found value: 4123
[2026-03-21 19:34:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4123
[2026-03-21 19:34:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 19:34:33] [INFO]   -> Found value: TN
[2026-03-21 19:34:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 19:34:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 19:34:33] [INFO]   -> Found value: 38506
[2026-03-21 19:34:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 19:34:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 19:34:33] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 19:34:33] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 19:34:33] [INFO]   -> Found value: 36.11343
[2026-03-21 19:34:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11343000000000103000274975784122943878173828125
[2026-03-21 19:34:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 19:34:33] [INFO]   -> Found value: -85.45189
[2026-03-21 19:34:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4518900000000058980731409974396228790283203125
[2026-03-21 19:34:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 19:34:33] [INFO]   -> Found value: 2026-03-21 14:30:33
[2026-03-21 19:34:33] [INFO]   -> Set field 'alarm' = "2026-03-21 14:30:33"
[2026-03-21 19:34:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 19:34:33] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:34:33] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:31:50"
[2026-03-21 19:34:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 19:34:33] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 19:34:33] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 19:34:33] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 19:34:33] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 19:34:33] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 19:34:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 19:34:33] [INFO]   -> Found value: TK15
[2026-03-21 19:34:33] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-03-21 19:34:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 19:34:33] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:34:33] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:31:50"
[2026-03-21 19:34:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 19:34:33] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 19:34:33] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 19:34:33] [INFO]   -> Found value: 2026-03-21 14:34:25
[2026-03-21 19:34:33] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 14:34:25"
[2026-03-21 19:34:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 19:34:33] [INFO]   -> Found value: 2026-03-21 14:34:25
[2026-03-21 19:34:33] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 14:34:25"
[2026-03-21 19:34:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 19:34:33] [INFO]   -> Found value: 20260030629
[2026-03-21 19:34:33] [INFO]   -> Set field 'policeReportNumber' = "20260030629"
[2026-03-21 19:34:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 19:34:33] [INFO]   -> Found value: SMOKE WITH NO FIRE  [03/21/26 14:32:45 DSTEPHENS]
[2026-03-21 19:34:33] [INFO]   -> Set field 'dispatchNotes' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:33] [INFO]   -> Set field 'cADLog' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 19:34:33] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 19:34:33] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 19:34:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 19:34:33] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 19:34:33] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 19:34:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 19:34:33] [INFO]   -> Found value: RD
[2026-03-21 19:34:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 19:34:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 19:34:33] [INFO]   -> Found value: 4123 SEVEN SPRINGS RD
[2026-03-21 19:34:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4123 SEVEN SPRINGS RD"
[2026-03-21 19:34:33] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 19:34:33] [INFO] Concatenating street name and type
[2026-03-21 19:34:33] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 19:34:33] [INFO] Built locationCoordinates from lat/lng: 36.11343,-85.45189
[2026-03-21 19:34:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000762","dispatchRunNumber":"2026000762","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4123,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11343000000000103000274975784122943878173828125,"nERISIncidentLongitude":-85.4518900000000058980731409974396228790283203125,"alarm":"2026-03-21 14:30:33","dispatched":"2026-03-21 14:31:50","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"TK15","timedispatch":"2026-03-21 14:31:50","timeunitclear":"2026-03-21 14:34:25","timecanceledenroute":"2026-03-21 14:34:25","policeReportNumber":"20260030629","dispatchNotes":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","cADLog":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"4123 SEVEN SPRINGS RD","locationCoordinates":"36.11343,-85.45189"}
[2026-03-21 19:34:33] [INFO] Number of extracted fields: 23
[2026-03-21 19:34:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 19:34:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-21 19:34:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 19:34:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 19:34:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 19:34: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-21 19:34: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-21 19:34:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 19:34:34] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-21 19:34:34] [INFO] Found existing Dispatch with cADNumber '2026000762', ID: 69bef22cacbfd26d2 - will update instead of create
[2026-03-21 19:34:34] [INFO] Updated existing Dispatches record with ID: 69bef22cacbfd26d2
[2026-03-21 19:34:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193433.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030629_20260321_193433.XML
[2026-03-21 19:34:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193433.XML
[2026-03-21 19:34:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193436.XML
[2026-03-21 19:34:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193436.XML for user: 68f1466aed072ad4a
[2026-03-21 19:34:36] [INFO] File size: 5621 bytes
[2026-03-21 19:34:36] [INFO] Created FTPFiles record with ID: 69bef2ccdd8f31c8a
[2026-03-21 19:34:36] [INFO] About to extract fields from XML. File size: 5621 bytes
[2026-03-21 19:34:36] [INFO] Number of mappings: 28
[2026-03-21 19:34:36] [INFO] Starting XML parsing. Content length: 5621
[2026-03-21 19:34:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 19:34:36] [INFO] Processing 28 field mappings
[2026-03-21 19:34:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 19:34:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 19:34:36] [INFO]   -> Found value: PCFD
[2026-03-21 19:34:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 19:34:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 19:34:36] [INFO]   -> Found value: 2026000762
[2026-03-21 19:34:36] [INFO]   -> Set field 'incidentInternalId' = "2026000762"
[2026-03-21 19:34:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000762"
[2026-03-21 19:34:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 19:34:36] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-21 19:34:36] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-21 19:34:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 19:34:36] [INFO]   -> Found value: 4123
[2026-03-21 19:34:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4123
[2026-03-21 19:34:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 19:34:36] [INFO]   -> Found value: TN
[2026-03-21 19:34:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 19:34:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 19:34:36] [INFO]   -> Found value: 38506
[2026-03-21 19:34:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 19:34:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 19:34:36] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 19:34:36] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 19:34:36] [INFO]   -> Found value: 36.11343
[2026-03-21 19:34:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11343000000000103000274975784122943878173828125
[2026-03-21 19:34:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 19:34:36] [INFO]   -> Found value: -85.45189
[2026-03-21 19:34:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4518900000000058980731409974396228790283203125
[2026-03-21 19:34:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 19:34:36] [INFO]   -> Found value: 2026-03-21 14:30:33
[2026-03-21 19:34:36] [INFO]   -> Set field 'alarm' = "2026-03-21 14:30:33"
[2026-03-21 19:34:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 19:34:36] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:34:36] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:31:50"
[2026-03-21 19:34:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 19:34:36] [INFO]   -> Found value: 2026-03-21 14:34:31
[2026-03-21 19:34:36] [INFO]   -> Set field 'enroute' = "2026-03-21 14:34:31"
[2026-03-21 19:34:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 19:34:36] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 19:34:36] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 19:34:36] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 19:34:36] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 19:34:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 19:34:36] [INFO]   -> Found value: BR11
[2026-03-21 19:34:36] [INFO]   -> Set field 'cADVehicleID' = "BR11"
[2026-03-21 19:34:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 19:34:36] [INFO]   -> Found value: 2026-03-21 14:34:25
[2026-03-21 19:34:36] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:34:25"
[2026-03-21 19:34:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 19:34:36] [INFO]   -> Found value: 2026-03-21 14:34:31
[2026-03-21 19:34:36] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 14:34:31"
[2026-03-21 19:34:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 19:34:36] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 19:34:36] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 19:34:36] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 19:34:36] [INFO]   -> Found value: 20260030629
[2026-03-21 19:34:36] [INFO]   -> Set field 'policeReportNumber' = "20260030629"
[2026-03-21 19:34:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 19:34:36] [INFO]   -> Found value: SMOKE WITH NO FIRE  [03/21/26 14:32:45 DSTEPHENS]
[2026-03-21 19:34:36] [INFO]   -> Set field 'dispatchNotes' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:36] [INFO]   -> Set field 'cADLog' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 19:34:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 19:34:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 19:34:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 19:34:36] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 19:34:36] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 19:34:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 19:34:36] [INFO]   -> Found value: RD
[2026-03-21 19:34:36] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 19:34:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 19:34:36] [INFO]   -> Found value: 4123 SEVEN SPRINGS RD
[2026-03-21 19:34:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4123 SEVEN SPRINGS RD"
[2026-03-21 19:34:36] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 19:34:36] [INFO] Concatenating street name and type
[2026-03-21 19:34:36] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 19:34:36] [INFO] Built locationCoordinates from lat/lng: 36.11343,-85.45189
[2026-03-21 19:34:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000762","dispatchRunNumber":"2026000762","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4123,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11343000000000103000274975784122943878173828125,"nERISIncidentLongitude":-85.4518900000000058980731409974396228790283203125,"alarm":"2026-03-21 14:30:33","dispatched":"2026-03-21 14:31:50","enroute":"2026-03-21 14:34:31","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"BR11","timedispatch":"2026-03-21 14:34:25","timeenroutetoscene":"2026-03-21 14:34:31","policeReportNumber":"20260030629","dispatchNotes":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","cADLog":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"4123 SEVEN SPRINGS RD","locationCoordinates":"36.11343,-85.45189"}
[2026-03-21 19:34:36] [INFO] Number of extracted fields: 23
[2026-03-21 19:34:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 19:34:36] [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-21 19:34:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 19:34:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 19:34:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 19:34:37] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 19:34:37] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 19:34:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 19:34:37] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-21 19:34:37] [INFO] Found existing Dispatch with cADNumber '2026000762', ID: 69bef22cacbfd26d2 - will update instead of create
[2026-03-21 19:34:37] [INFO] Updated existing Dispatches record with ID: 69bef22cacbfd26d2
[2026-03-21 19:34:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193436.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030629_20260321_193436.XML
[2026-03-21 19:34:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193436.XML
[2026-03-21 19:34:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193438.XML
[2026-03-21 19:34:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193438.XML for user: 68f1466aed072ad4a
[2026-03-21 19:34:38] [INFO] File size: 5621 bytes
[2026-03-21 19:34:38] [INFO] Created FTPFiles record with ID: 69bef2ce5ab006918
[2026-03-21 19:34:38] [INFO] About to extract fields from XML. File size: 5621 bytes
[2026-03-21 19:34:38] [INFO] Number of mappings: 28
[2026-03-21 19:34:38] [INFO] Starting XML parsing. Content length: 5621
[2026-03-21 19:34:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 19:34:38] [INFO] Processing 28 field mappings
[2026-03-21 19:34:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 19:34:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 19:34:38] [INFO]   -> Found value: PCFD
[2026-03-21 19:34:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 19:34:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 19:34:38] [INFO]   -> Found value: 2026000762
[2026-03-21 19:34:38] [INFO]   -> Set field 'incidentInternalId' = "2026000762"
[2026-03-21 19:34:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000762"
[2026-03-21 19:34:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 19:34:38] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-21 19:34:38] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-21 19:34:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 19:34:38] [INFO]   -> Found value: 4123
[2026-03-21 19:34:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4123
[2026-03-21 19:34:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 19:34:38] [INFO]   -> Found value: TN
[2026-03-21 19:34:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 19:34:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 19:34:38] [INFO]   -> Found value: 38506
[2026-03-21 19:34:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 19:34:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 19:34:38] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 19:34:38] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 19:34:38] [INFO]   -> Found value: 36.11343
[2026-03-21 19:34:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11343000000000103000274975784122943878173828125
[2026-03-21 19:34:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 19:34:38] [INFO]   -> Found value: -85.45189
[2026-03-21 19:34:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4518900000000058980731409974396228790283203125
[2026-03-21 19:34:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 19:34:38] [INFO]   -> Found value: 2026-03-21 14:30:33
[2026-03-21 19:34:38] [INFO]   -> Set field 'alarm' = "2026-03-21 14:30:33"
[2026-03-21 19:34:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 19:34:38] [INFO]   -> Found value: 2026-03-21 14:31:50
[2026-03-21 19:34:38] [INFO]   -> Set field 'dispatched' = "2026-03-21 14:31:50"
[2026-03-21 19:34:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 19:34:38] [INFO]   -> Found value: 2026-03-21 14:34:31
[2026-03-21 19:34:38] [INFO]   -> Set field 'enroute' = "2026-03-21 14:34:31"
[2026-03-21 19:34:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 19:34:38] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 19:34:38] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 19:34:38] [INFO]   -> Found value: CEDAR SPRINGS DR/HWY 70 E
[2026-03-21 19:34:38] [INFO]   -> Set field 'incidentLocationCross' = "CEDAR SPRINGS DR\/HWY 70 E"
[2026-03-21 19:34:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 19:34:38] [INFO]   -> Found value: BR11
[2026-03-21 19:34:38] [INFO]   -> Set field 'cADVehicleID' = "BR11"
[2026-03-21 19:34:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 19:34:38] [INFO]   -> Found value: 2026-03-21 14:34:25
[2026-03-21 19:34:38] [INFO]   -> Set field 'timedispatch' = "2026-03-21 14:34:25"
[2026-03-21 19:34:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 19:34:38] [INFO]   -> Found value: 2026-03-21 14:34:31
[2026-03-21 19:34:38] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 14:34:31"
[2026-03-21 19:34:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 19:34:38] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 19:34:38] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 19:34:38] [INFO]   -> No value found (null or empty)
[2026-03-21 19:34:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 19:34:38] [INFO]   -> Found value: 20260030629
[2026-03-21 19:34:38] [INFO]   -> Set field 'policeReportNumber' = "20260030629"
[2026-03-21 19:34:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 19:34:38] [INFO]   -> Found value: SMOKE WITH NO FIRE  [03/21/26 14:32:45 DSTEPHENS]
[2026-03-21 19:34:38] [INFO]   -> Set field 'dispatchNotes' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:38] [INFO]   -> Set field 'cADLog' = "SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]"
[2026-03-21 19:34:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 19:34:38] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 19:34:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 19:34:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 19:34:38] [INFO]   -> Found value: SEVEN SPRINGS
[2026-03-21 19:34:38] [INFO]   -> Set field 'streetName' = "SEVEN SPRINGS"
[2026-03-21 19:34:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 19:34:38] [INFO]   -> Found value: RD
[2026-03-21 19:34:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 19:34:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 19:34:38] [INFO]   -> Found value: 4123 SEVEN SPRINGS RD
[2026-03-21 19:34:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4123 SEVEN SPRINGS RD"
[2026-03-21 19:34:38] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 19:34:38] [INFO] Concatenating street name and type
[2026-03-21 19:34:38] [INFO]   -> Combined street name: SEVEN SPRINGS RD
[2026-03-21 19:34:38] [INFO] Built locationCoordinates from lat/lng: 36.11343,-85.45189
[2026-03-21 19:34:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000762","dispatchRunNumber":"2026000762","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":4123,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11343000000000103000274975784122943878173828125,"nERISIncidentLongitude":-85.4518900000000058980731409974396228790283203125,"alarm":"2026-03-21 14:30:33","dispatched":"2026-03-21 14:31:50","enroute":"2026-03-21 14:34:31","incidentLocationCross":"CEDAR SPRINGS DR\/HWY 70 E","cADVehicleID":"BR11","timedispatch":"2026-03-21 14:34:25","timeenroutetoscene":"2026-03-21 14:34:31","policeReportNumber":"20260030629","dispatchNotes":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","cADLog":"SMOKE WITH NO FIRE  [03\/21\/26 14:32:45 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"SEVEN SPRINGS RD","incidentAddressTextVersionStreet":"4123 SEVEN SPRINGS RD","locationCoordinates":"36.11343,-85.45189"}
[2026-03-21 19:34:38] [INFO] Number of extracted fields: 23
[2026-03-21 19:34:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 19:34: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-21 19:34:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 19:34:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 19:34:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 19:34: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-21 19:34: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-21 19:34:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 19:34:38] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-21 19:34:39] [INFO] Found existing Dispatch with cADNumber '2026000762', ID: 69bef22cacbfd26d2 - will update instead of create
[2026-03-21 19:34:39] [INFO] Updated existing Dispatches record with ID: 69bef22cacbfd26d2
[2026-03-21 19:34:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193438.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030629_20260321_193438.XML
[2026-03-21 19:34:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030629_20260321_193438.XML
[2026-03-21 20:51:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205153.XML
[2026-03-21 20:51:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205153.XML for user: 68f1466aed072ad4a
[2026-03-21 20:51:53] [INFO] File size: 4856 bytes
[2026-03-21 20:51:53] [INFO] Created FTPFiles record with ID: 69bf04e9a024a6599
[2026-03-21 20:51:53] [INFO] About to extract fields from XML. File size: 4856 bytes
[2026-03-21 20:51:53] [INFO] Number of mappings: 28
[2026-03-21 20:51:53] [INFO] Starting XML parsing. Content length: 4856
[2026-03-21 20:51:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 20:51:53] [INFO] Processing 28 field mappings
[2026-03-21 20:51:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 20:51:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 20:51:53] [INFO]   -> Found value: PCFD
[2026-03-21 20:51:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 20:51:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 20:51:53] [INFO]   -> Found value: 2026000763
[2026-03-21 20:51:53] [INFO]   -> Set field 'incidentInternalId' = "2026000763"
[2026-03-21 20:51:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000763"
[2026-03-21 20:51:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 20:51:53] [INFO]   -> Found value: NATURAL GAS LEAK
[2026-03-21 20:51:53] [INFO]   -> Set field 'incidentTypeValue1' = "NATURAL GAS LEAK"
[2026-03-21 20:51:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 20:51:53] [INFO]   -> Found value: 4833
[2026-03-21 20:51:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4833
[2026-03-21 20:51:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 20:51:53] [INFO]   -> Found value: TN
[2026-03-21 20:51:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 20:51:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 20:51:53] [INFO]   -> Found value: 38544
[2026-03-21 20:51:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 20:51:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 20:51:53] [INFO]   -> Found value: 36.17108
[2026-03-21 20:51:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1710800000000034515323932282626628875732421875
[2026-03-21 20:51:53] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 20:51:53] [INFO]   -> Found value: -85.59968
[2026-03-21 20:51:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.599680000000006430127541534602642059326171875
[2026-03-21 20:51:53] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 20:51:53] [INFO]   -> Found value: 2026-03-21 15:48:05
[2026-03-21 20:51:53] [INFO]   -> Set field 'alarm' = "2026-03-21 15:48:05"
[2026-03-21 20:51:53] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 20:51:53] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:51:53] [INFO]   -> Set field 'dispatched' = "2026-03-21 15:51:49"
[2026-03-21 20:51:53] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 20:51:53] [INFO]   -> Found value: DOUBLE SPRINGS RD/WEST GATE RD
[2026-03-21 20:51:53] [INFO]   -> Set field 'incidentLocationCross' = "DOUBLE SPRINGS RD\/WEST GATE RD"
[2026-03-21 20:51:53] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 20:51:53] [INFO]   -> Found value: TK31
[2026-03-21 20:51:53] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 20:51:53] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 20:51:53] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:51:53] [INFO]   -> Set field 'timedispatch' = "2026-03-21 15:51:49"
[2026-03-21 20:51:53] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 20:51:53] [INFO]   -> No value found (null or empty)
[2026-03-21 20:51:53] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 20:51:53] [INFO]   -> Found value: 20260030655
[2026-03-21 20:51:53] [INFO]   -> Set field 'policeReportNumber' = "20260030655"
[2026-03-21 20:51:53] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 20:51:53] [INFO]   -> Found value: GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03/21/26 1...
[2026-03-21 20:51:53] [INFO]   -> Set field 'dispatchNotes' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:51:53] [INFO]   -> Set field 'cADLog' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:51:53] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 20:51:53] [INFO]   -> Found value: BAXTER
[2026-03-21 20:51:53] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 20:51:53] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 20:51:53] [INFO]   -> Found value: NASHVILLE
[2026-03-21 20:51:53] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-21 20:51:53] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 20:51:53] [INFO]   -> Found value: HWY
[2026-03-21 20:51:53] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 20:51:53] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 20:51:53] [INFO]   -> Found value: 4833 NASHVILLE HWY
[2026-03-21 20:51:53] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4833 NASHVILLE HWY"
[2026-03-21 20:51:53] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 20:51:53] [INFO] Concatenating street name and type
[2026-03-21 20:51:53] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-21 20:51:53] [INFO] Built locationCoordinates from lat/lng: 36.17108,-85.59968
[2026-03-21 20:51:53] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000763","dispatchRunNumber":"2026000763","incidentTypeValue1":"NATURAL GAS LEAK","incidentLocationStreetNumber":4833,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1710800000000034515323932282626628875732421875,"nERISIncidentLongitude":-85.599680000000006430127541534602642059326171875,"alarm":"2026-03-21 15:48:05","dispatched":"2026-03-21 15:51:49","incidentLocationCross":"DOUBLE SPRINGS RD\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-21 15:51:49","policeReportNumber":"20260030655","dispatchNotes":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","cADLog":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"4833 NASHVILLE HWY","locationCoordinates":"36.17108,-85.59968"}
[2026-03-21 20:51:53] [INFO] Number of extracted fields: 21
[2026-03-21 20:51:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 20:51:53] [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-21 20:51:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 20:51:53] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 20:51:53] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 20:51:54] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-21 20:51:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-21 20:51:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 20:51:54] [INFO] Found existing IncidentTypeMapping with ID: 695276993a4d83287
[2026-03-21 20:52:05] [INFO] Created new Dispatches record with ID: 69bf04ea6f95b00ff
[2026-03-21 20:52:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205153.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030655_20260321_205153.XML
[2026-03-21 20:52:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205153.XML
[2026-03-21 20:53:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205305.XML
[2026-03-21 20:53:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205305.XML for user: 68f1466aed072ad4a
[2026-03-21 20:53:05] [INFO] File size: 4923 bytes
[2026-03-21 20:53:06] [INFO] Created FTPFiles record with ID: 69bf05320225e2a39
[2026-03-21 20:53:06] [INFO] About to extract fields from XML. File size: 4923 bytes
[2026-03-21 20:53:06] [INFO] Number of mappings: 28
[2026-03-21 20:53:06] [INFO] Starting XML parsing. Content length: 4923
[2026-03-21 20:53:06] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 20:53:06] [INFO] Processing 28 field mappings
[2026-03-21 20:53:06] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 20:53:06] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 20:53:06] [INFO]   -> Found value: PCFD
[2026-03-21 20:53:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 20:53:06] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 20:53:06] [INFO]   -> Found value: 2026000763
[2026-03-21 20:53:06] [INFO]   -> Set field 'incidentInternalId' = "2026000763"
[2026-03-21 20:53:06] [INFO]   -> Set field 'dispatchRunNumber' = "2026000763"
[2026-03-21 20:53:06] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 20:53:06] [INFO]   -> Found value: NATURAL GAS LEAK
[2026-03-21 20:53:06] [INFO]   -> Set field 'incidentTypeValue1' = "NATURAL GAS LEAK"
[2026-03-21 20:53:06] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 20:53:06] [INFO]   -> Found value: 4833
[2026-03-21 20:53:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4833
[2026-03-21 20:53:06] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 20:53:06] [INFO]   -> Found value: TN
[2026-03-21 20:53:06] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 20:53:06] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 20:53:06] [INFO]   -> Found value: 38544
[2026-03-21 20:53:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 20:53:06] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 20:53:06] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:06] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 20:53:06] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:06] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 20:53:06] [INFO]   -> Found value: 36.17108
[2026-03-21 20:53:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1710800000000034515323932282626628875732421875
[2026-03-21 20:53:06] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 20:53:06] [INFO]   -> Found value: -85.59968
[2026-03-21 20:53:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.599680000000006430127541534602642059326171875
[2026-03-21 20:53:06] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 20:53:06] [INFO]   -> Found value: 2026-03-21 15:48:05
[2026-03-21 20:53:06] [INFO]   -> Set field 'alarm' = "2026-03-21 15:48:05"
[2026-03-21 20:53:06] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 20:53:06] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:53:06] [INFO]   -> Set field 'dispatched' = "2026-03-21 15:51:49"
[2026-03-21 20:53:06] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 20:53:06] [INFO]   -> Found value: 2026-03-21 15:53:02
[2026-03-21 20:53:06] [INFO]   -> Set field 'enroute' = "2026-03-21 15:53:02"
[2026-03-21 20:53:06] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 20:53:06] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:06] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 20:53:06] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:06] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 20:53:06] [INFO]   -> Found value: DOUBLE SPRINGS RD/WEST GATE RD
[2026-03-21 20:53:06] [INFO]   -> Set field 'incidentLocationCross' = "DOUBLE SPRINGS RD\/WEST GATE RD"
[2026-03-21 20:53:06] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 20:53:06] [INFO]   -> Found value: TK31
[2026-03-21 20:53:06] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 20:53:06] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 20:53:06] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:53:06] [INFO]   -> Set field 'timedispatch' = "2026-03-21 15:51:49"
[2026-03-21 20:53:06] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 20:53:06] [INFO]   -> Found value: 2026-03-21 15:53:02
[2026-03-21 20:53:06] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 15:53:02"
[2026-03-21 20:53:06] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 20:53:06] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:06] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 20:53:06] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:06] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 20:53:06] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:06] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 20:53:06] [INFO]   -> Found value: 20260030655
[2026-03-21 20:53:06] [INFO]   -> Set field 'policeReportNumber' = "20260030655"
[2026-03-21 20:53:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 20:53:06] [INFO]   -> Found value: GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03/21/26 1...
[2026-03-21 20:53:06] [INFO]   -> Set field 'dispatchNotes' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:53:06] [INFO]   -> Set field 'cADLog' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:53:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 20:53:06] [INFO]   -> Found value: BAXTER
[2026-03-21 20:53:06] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 20:53:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 20:53:06] [INFO]   -> Found value: NASHVILLE
[2026-03-21 20:53:06] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-21 20:53:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 20:53:06] [INFO]   -> Found value: HWY
[2026-03-21 20:53:06] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 20:53:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 20:53:06] [INFO]   -> Found value: 4833 NASHVILLE HWY
[2026-03-21 20:53:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4833 NASHVILLE HWY"
[2026-03-21 20:53:06] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 20:53:06] [INFO] Concatenating street name and type
[2026-03-21 20:53:06] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-21 20:53:06] [INFO] Built locationCoordinates from lat/lng: 36.17108,-85.59968
[2026-03-21 20:53:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000763","dispatchRunNumber":"2026000763","incidentTypeValue1":"NATURAL GAS LEAK","incidentLocationStreetNumber":4833,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1710800000000034515323932282626628875732421875,"nERISIncidentLongitude":-85.599680000000006430127541534602642059326171875,"alarm":"2026-03-21 15:48:05","dispatched":"2026-03-21 15:51:49","enroute":"2026-03-21 15:53:02","incidentLocationCross":"DOUBLE SPRINGS RD\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-21 15:51:49","timeenroutetoscene":"2026-03-21 15:53:02","policeReportNumber":"20260030655","dispatchNotes":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","cADLog":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"4833 NASHVILLE HWY","locationCoordinates":"36.17108,-85.59968"}
[2026-03-21 20:53:06] [INFO] Number of extracted fields: 23
[2026-03-21 20:53:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 20:53: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-21 20:53:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 20:53:06] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 20:53:06] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 20:53: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-21 20:53: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-21 20:53:06] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 20:53:06] [INFO] Found existing IncidentTypeMapping with ID: 695276993a4d83287
[2026-03-21 20:53:06] [INFO] Found existing Dispatch with cADNumber '2026000763', ID: 69bf04ea6f95b00ff - will update instead of create
[2026-03-21 20:53:06] [INFO] Updated existing Dispatches record with ID: 69bf04ea6f95b00ff
[2026-03-21 20:53:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205305.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030655_20260321_205305.XML
[2026-03-21 20:53:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205305.XML
[2026-03-21 20:53:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205307.XML
[2026-03-21 20:53:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205307.XML for user: 68f1466aed072ad4a
[2026-03-21 20:53:07] [INFO] File size: 4923 bytes
[2026-03-21 20:53:07] [INFO] Created FTPFiles record with ID: 69bf0533913e7f6c1
[2026-03-21 20:53:07] [INFO] About to extract fields from XML. File size: 4923 bytes
[2026-03-21 20:53:07] [INFO] Number of mappings: 28
[2026-03-21 20:53:07] [INFO] Starting XML parsing. Content length: 4923
[2026-03-21 20:53:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 20:53:07] [INFO] Processing 28 field mappings
[2026-03-21 20:53:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 20:53:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 20:53:07] [INFO]   -> Found value: PCFD
[2026-03-21 20:53:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 20:53:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 20:53:07] [INFO]   -> Found value: 2026000763
[2026-03-21 20:53:07] [INFO]   -> Set field 'incidentInternalId' = "2026000763"
[2026-03-21 20:53:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000763"
[2026-03-21 20:53:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 20:53:07] [INFO]   -> Found value: NATURAL GAS LEAK
[2026-03-21 20:53:07] [INFO]   -> Set field 'incidentTypeValue1' = "NATURAL GAS LEAK"
[2026-03-21 20:53:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 20:53:07] [INFO]   -> Found value: 4833
[2026-03-21 20:53:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4833
[2026-03-21 20:53:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 20:53:07] [INFO]   -> Found value: TN
[2026-03-21 20:53:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 20:53:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 20:53:07] [INFO]   -> Found value: 38544
[2026-03-21 20:53:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 20:53:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 20:53:07] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 20:53:07] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 20:53:07] [INFO]   -> Found value: 36.17108
[2026-03-21 20:53:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1710800000000034515323932282626628875732421875
[2026-03-21 20:53:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 20:53:07] [INFO]   -> Found value: -85.59968
[2026-03-21 20:53:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.599680000000006430127541534602642059326171875
[2026-03-21 20:53:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 20:53:07] [INFO]   -> Found value: 2026-03-21 15:48:05
[2026-03-21 20:53:07] [INFO]   -> Set field 'alarm' = "2026-03-21 15:48:05"
[2026-03-21 20:53:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 20:53:07] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:53:07] [INFO]   -> Set field 'dispatched' = "2026-03-21 15:51:49"
[2026-03-21 20:53:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 20:53:07] [INFO]   -> Found value: 2026-03-21 15:53:02
[2026-03-21 20:53:07] [INFO]   -> Set field 'enroute' = "2026-03-21 15:53:02"
[2026-03-21 20:53:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 20:53:07] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 20:53:07] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 20:53:07] [INFO]   -> Found value: DOUBLE SPRINGS RD/WEST GATE RD
[2026-03-21 20:53:07] [INFO]   -> Set field 'incidentLocationCross' = "DOUBLE SPRINGS RD\/WEST GATE RD"
[2026-03-21 20:53:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 20:53:07] [INFO]   -> Found value: TK31
[2026-03-21 20:53:07] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 20:53:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 20:53:07] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:53:07] [INFO]   -> Set field 'timedispatch' = "2026-03-21 15:51:49"
[2026-03-21 20:53:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 20:53:07] [INFO]   -> Found value: 2026-03-21 15:53:02
[2026-03-21 20:53:07] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 15:53:02"
[2026-03-21 20:53:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 20:53:07] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 20:53:07] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 20:53:07] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 20:53:07] [INFO]   -> Found value: 20260030655
[2026-03-21 20:53:07] [INFO]   -> Set field 'policeReportNumber' = "20260030655"
[2026-03-21 20:53:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 20:53:07] [INFO]   -> Found value: GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03/21/26 1...
[2026-03-21 20:53:07] [INFO]   -> Set field 'dispatchNotes' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:53:07] [INFO]   -> Set field 'cADLog' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:53:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 20:53:07] [INFO]   -> Found value: BAXTER
[2026-03-21 20:53:07] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 20:53:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 20:53:07] [INFO]   -> Found value: NASHVILLE
[2026-03-21 20:53:07] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-21 20:53:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 20:53:07] [INFO]   -> Found value: HWY
[2026-03-21 20:53:07] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 20:53:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 20:53:07] [INFO]   -> Found value: 4833 NASHVILLE HWY
[2026-03-21 20:53:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4833 NASHVILLE HWY"
[2026-03-21 20:53:07] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 20:53:07] [INFO] Concatenating street name and type
[2026-03-21 20:53:07] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-21 20:53:07] [INFO] Built locationCoordinates from lat/lng: 36.17108,-85.59968
[2026-03-21 20:53:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000763","dispatchRunNumber":"2026000763","incidentTypeValue1":"NATURAL GAS LEAK","incidentLocationStreetNumber":4833,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1710800000000034515323932282626628875732421875,"nERISIncidentLongitude":-85.599680000000006430127541534602642059326171875,"alarm":"2026-03-21 15:48:05","dispatched":"2026-03-21 15:51:49","enroute":"2026-03-21 15:53:02","incidentLocationCross":"DOUBLE SPRINGS RD\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-21 15:51:49","timeenroutetoscene":"2026-03-21 15:53:02","policeReportNumber":"20260030655","dispatchNotes":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","cADLog":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"4833 NASHVILLE HWY","locationCoordinates":"36.17108,-85.59968"}
[2026-03-21 20:53:07] [INFO] Number of extracted fields: 23
[2026-03-21 20:53:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 20:53:07] [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-21 20:53:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 20:53:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 20:53:07] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 20:53: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-21 20:53: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-21 20:53:07] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 20:53:08] [INFO] Found existing IncidentTypeMapping with ID: 695276993a4d83287
[2026-03-21 20:53:08] [INFO] Found existing Dispatch with cADNumber '2026000763', ID: 69bf04ea6f95b00ff - will update instead of create
[2026-03-21 20:53:08] [INFO] Updated existing Dispatches record with ID: 69bf04ea6f95b00ff
[2026-03-21 20:53:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205307.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030655_20260321_205307.XML
[2026-03-21 20:53:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205307.XML
[2026-03-21 20:53:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205309.XML
[2026-03-21 20:53:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205309.XML for user: 68f1466aed072ad4a
[2026-03-21 20:53:09] [INFO] File size: 4923 bytes
[2026-03-21 20:53:09] [INFO] Created FTPFiles record with ID: 69bf0535b6f8ca958
[2026-03-21 20:53:09] [INFO] About to extract fields from XML. File size: 4923 bytes
[2026-03-21 20:53:09] [INFO] Number of mappings: 28
[2026-03-21 20:53:09] [INFO] Starting XML parsing. Content length: 4923
[2026-03-21 20:53:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 20:53:09] [INFO] Processing 28 field mappings
[2026-03-21 20:53:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 20:53:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 20:53:09] [INFO]   -> Found value: PCFD
[2026-03-21 20:53:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-21 20:53:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 20:53:09] [INFO]   -> Found value: 2026000763
[2026-03-21 20:53:09] [INFO]   -> Set field 'incidentInternalId' = "2026000763"
[2026-03-21 20:53:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000763"
[2026-03-21 20:53:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 20:53:09] [INFO]   -> Found value: NATURAL GAS LEAK
[2026-03-21 20:53:09] [INFO]   -> Set field 'incidentTypeValue1' = "NATURAL GAS LEAK"
[2026-03-21 20:53:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 20:53:09] [INFO]   -> Found value: 4833
[2026-03-21 20:53:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4833
[2026-03-21 20:53:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 20:53:09] [INFO]   -> Found value: TN
[2026-03-21 20:53:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 20:53:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 20:53:09] [INFO]   -> Found value: 38544
[2026-03-21 20:53:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-21 20:53:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 20:53:09] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 20:53:09] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 20:53:09] [INFO]   -> Found value: 36.17108
[2026-03-21 20:53:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1710800000000034515323932282626628875732421875
[2026-03-21 20:53:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 20:53:09] [INFO]   -> Found value: -85.59968
[2026-03-21 20:53:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.599680000000006430127541534602642059326171875
[2026-03-21 20:53:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 20:53:09] [INFO]   -> Found value: 2026-03-21 15:48:05
[2026-03-21 20:53:09] [INFO]   -> Set field 'alarm' = "2026-03-21 15:48:05"
[2026-03-21 20:53:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 20:53:09] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:53:09] [INFO]   -> Set field 'dispatched' = "2026-03-21 15:51:49"
[2026-03-21 20:53:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 20:53:09] [INFO]   -> Found value: 2026-03-21 15:53:02
[2026-03-21 20:53:09] [INFO]   -> Set field 'enroute' = "2026-03-21 15:53:02"
[2026-03-21 20:53:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 20:53:09] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 20:53:09] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 20:53:09] [INFO]   -> Found value: DOUBLE SPRINGS RD/WEST GATE RD
[2026-03-21 20:53:09] [INFO]   -> Set field 'incidentLocationCross' = "DOUBLE SPRINGS RD\/WEST GATE RD"
[2026-03-21 20:53:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 20:53:09] [INFO]   -> Found value: TK31
[2026-03-21 20:53:09] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-21 20:53:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 20:53:09] [INFO]   -> Found value: 2026-03-21 15:51:49
[2026-03-21 20:53:09] [INFO]   -> Set field 'timedispatch' = "2026-03-21 15:51:49"
[2026-03-21 20:53:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 20:53:09] [INFO]   -> Found value: 2026-03-21 15:53:02
[2026-03-21 20:53:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 15:53:02"
[2026-03-21 20:53:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 20:53:09] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 20:53:09] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 20:53:09] [INFO]   -> No value found (null or empty)
[2026-03-21 20:53:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 20:53:09] [INFO]   -> Found value: 20260030655
[2026-03-21 20:53:09] [INFO]   -> Set field 'policeReportNumber' = "20260030655"
[2026-03-21 20:53:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 20:53:09] [INFO]   -> Found value: GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03/21/26 1...
[2026-03-21 20:53:09] [INFO]   -> Set field 'dispatchNotes' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:53:09] [INFO]   -> Set field 'cADLog' = "GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]"
[2026-03-21 20:53:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 20:53:09] [INFO]   -> Found value: BAXTER
[2026-03-21 20:53:09] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-21 20:53:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 20:53:09] [INFO]   -> Found value: NASHVILLE
[2026-03-21 20:53:09] [INFO]   -> Set field 'streetName' = "NASHVILLE"
[2026-03-21 20:53:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 20:53:09] [INFO]   -> Found value: HWY
[2026-03-21 20:53:09] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-21 20:53:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 20:53:09] [INFO]   -> Found value: 4833 NASHVILLE HWY
[2026-03-21 20:53:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4833 NASHVILLE HWY"
[2026-03-21 20:53:09] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 20:53:09] [INFO] Concatenating street name and type
[2026-03-21 20:53:09] [INFO]   -> Combined street name: NASHVILLE HWY
[2026-03-21 20:53:09] [INFO] Built locationCoordinates from lat/lng: 36.17108,-85.59968
[2026-03-21 20:53:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000763","dispatchRunNumber":"2026000763","incidentTypeValue1":"NATURAL GAS LEAK","incidentLocationStreetNumber":4833,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1710800000000034515323932282626628875732421875,"nERISIncidentLongitude":-85.599680000000006430127541534602642059326171875,"alarm":"2026-03-21 15:48:05","dispatched":"2026-03-21 15:51:49","enroute":"2026-03-21 15:53:02","incidentLocationCross":"DOUBLE SPRINGS RD\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-21 15:51:49","timeenroutetoscene":"2026-03-21 15:53:02","policeReportNumber":"20260030655","dispatchNotes":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","cADLog":"GAS LINE IN HIS BACK YARD   HISSING AND LEAKING  DOES NOT EVEN HAVE GAS RUN TO HIS HOME  [03\/21\/26 15:51:16 KELLIS]","incidentLocationCity":"BAXTER","streetName":"NASHVILLE HWY","incidentAddressTextVersionStreet":"4833 NASHVILLE HWY","locationCoordinates":"36.17108,-85.59968"}
[2026-03-21 20:53:09] [INFO] Number of extracted fields: 23
[2026-03-21 20:53:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-21 20:53:09] [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-21 20:53:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-21 20:53:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 20:53:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 20:53: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-21 20:53: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-21 20:53:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 20:53:10] [INFO] Found existing IncidentTypeMapping with ID: 695276993a4d83287
[2026-03-21 20:53:10] [INFO] Found existing Dispatch with cADNumber '2026000763', ID: 69bf04ea6f95b00ff - will update instead of create
[2026-03-21 20:53:10] [INFO] Updated existing Dispatches record with ID: 69bf04ea6f95b00ff
[2026-03-21 20:53:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205309.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030655_20260321_205309.XML
[2026-03-21 20:53:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030655_20260321_205309.XML
[2026-03-21 22:08:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_220805.XML
[2026-03-21 22:08:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_220805.XML for user: 68f1466aed072ad4a
[2026-03-21 22:08:05] [INFO] File size: 5350 bytes
[2026-03-21 22:08:06] [INFO] Created FTPFiles record with ID: 69bf16c65aa8086f8
[2026-03-21 22:08:06] [INFO] About to extract fields from XML. File size: 5350 bytes
[2026-03-21 22:08:06] [INFO] Number of mappings: 28
[2026-03-21 22:08:06] [INFO] Starting XML parsing. Content length: 5350
[2026-03-21 22:08:06] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 22:08:06] [INFO] Processing 28 field mappings
[2026-03-21 22:08:06] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 22:08:06] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 22:08:06] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 22:08:06] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-21 22:08:06] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-21 22:08:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-21 22:08:06] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 22:08:06] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-21 22:08:06] [INFO]   -> Found value: 2026000764
[2026-03-21 22:08:06] [INFO]   -> Set field 'incidentInternalId' = "2026000764"
[2026-03-21 22:08:06] [INFO]   -> Set field 'dispatchRunNumber' = "2026000764"
[2026-03-21 22:08:06] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 22:08:06] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 22:08:06] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 22:08:06] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 22:08:06] [INFO]   -> Found value: 5349
[2026-03-21 22:08:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5349
[2026-03-21 22:08:06] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 22:08:06] [INFO]   -> Found value: TN
[2026-03-21 22:08:06] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 22:08:06] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 22:08:06] [INFO]   -> Found value: 38506
[2026-03-21 22:08:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 22:08:06] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 22:08:06] [INFO]   -> Found value: 36.12797
[2026-03-21 22:08:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12796999999999769670466776005923748016357421875
[2026-03-21 22:08:06] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 22:08:06] [INFO]   -> Found value: -85.60733
[2026-03-21 22:08:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6073300000000045884007704444229602813720703125
[2026-03-21 22:08:06] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 22:08:06] [INFO]   -> Found value: 2026-03-21 17:07:12
[2026-03-21 22:08:06] [INFO]   -> Set field 'alarm' = "2026-03-21 17:07:12"
[2026-03-21 22:08:06] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 22:08:06] [INFO]   -> Found value: 2026-03-21 17:08:02
[2026-03-21 22:08:06] [INFO]   -> Set field 'dispatched' = "2026-03-21 17:08:02"
[2026-03-21 22:08:06] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 22:08:06] [INFO]   -> Found value: LANDSCAPE RD/DITTY RD
[2026-03-21 22:08:06] [INFO]   -> Set field 'incidentLocationCross' = "LANDSCAPE RD\/DITTY RD"
[2026-03-21 22:08:06] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 22:08:06] [INFO]   -> Found value: PCFR
[2026-03-21 22:08:06] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 22:08:06] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 22:08:06] [INFO]   -> Found value: 2026-03-21 17:08:02
[2026-03-21 22:08:06] [INFO]   -> Set field 'timedispatch' = "2026-03-21 17:08:02"
[2026-03-21 22:08:06] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 22:08:06] [INFO]   -> No value found (null or empty)
[2026-03-21 22:08:06] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 22:08:06] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 22:08:06] [INFO]   -> Found value: 20260030677
[2026-03-21 22:08:06] [INFO]   -> Set field 'policeReportNumber' = "20260030677"
[2026-03-21 22:08:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 22:08:06] [INFO]   -> Found value: [EMS] JACK DUNCAN  8/12/1955  [03/21/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03/21/2...
[2026-03-21 22:08:06] [INFO]   -> Set field 'dispatchNotes' = "[EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:08:06] [INFO]   -> Set field 'cADLog' = "[EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:08:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 22:08:06] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 22:08:06] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 22:08:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 22:08:06] [INFO]   -> Found value: ACADEMY
[2026-03-21 22:08:06] [INFO]   -> Set field 'streetName' = "ACADEMY"
[2026-03-21 22:08:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 22:08:06] [INFO]   -> Found value: RD
[2026-03-21 22:08:06] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 22:08:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 22:08:06] [INFO]   -> Found value: 5349 ACADEMY RD
[2026-03-21 22:08:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5349 ACADEMY RD"
[2026-03-21 22:08:06] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-21 22:08:06] [INFO] Concatenating street name and type
[2026-03-21 22:08:06] [INFO]   -> Combined street name: ACADEMY RD
[2026-03-21 22:08:06] [INFO] Built locationCoordinates from lat/lng: 36.12797,-85.60733
[2026-03-21 22:08:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000764","dispatchRunNumber":"2026000764","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":5349,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12796999999999769670466776005923748016357421875,"nERISIncidentLongitude":-85.6073300000000045884007704444229602813720703125,"alarm":"2026-03-21 17:07:12","dispatched":"2026-03-21 17:08:02","incidentLocationCross":"LANDSCAPE RD\/DITTY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-21 17:08:02","policeReportNumber":"20260030677","dispatchNotes":"[EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","cADLog":"[EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"ACADEMY RD","incidentAddressTextVersionStreet":"5349 ACADEMY RD","locationCoordinates":"36.12797,-85.60733"}
[2026-03-21 22:08:06] [INFO] Number of extracted fields: 21
[2026-03-21 22:08:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-21 22:08:06] [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-21 22:08:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-21 22:08:06] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 22:08:06] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 22:08:06] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-21 22:08: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-21 22:08: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-21 22:08:06] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 22:08:06] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 22:08:06] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 22:08:07] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-21 22:08:18] [INFO] Created new Dispatches record with ID: 69bf16c77d4e07a20
[2026-03-21 22:08:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_220805.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030677_20260321_220805.XML
[2026-03-21 22:08:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_220805.XML
[2026-03-21 22:10:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221006.XML
[2026-03-21 22:10:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221006.XML for user: 68f1466aed072ad4a
[2026-03-21 22:10:06] [INFO] File size: 6384 bytes
[2026-03-21 22:10:07] [INFO] Created FTPFiles record with ID: 69bf173f105795119
[2026-03-21 22:10:07] [INFO] About to extract fields from XML. File size: 6384 bytes
[2026-03-21 22:10:07] [INFO] Number of mappings: 28
[2026-03-21 22:10:07] [INFO] Starting XML parsing. Content length: 6384
[2026-03-21 22:10:07] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 22:10:07] [INFO] Processing 28 field mappings
[2026-03-21 22:10:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 22:10:07] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 22:10:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 22:10:07] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-21 22:10:07] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-21 22:10:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-21 22:10:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 22:10:07] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-21 22:10:07] [INFO]   -> Found value: 2026000764
[2026-03-21 22:10:07] [INFO]   -> Set field 'incidentInternalId' = "2026000764"
[2026-03-21 22:10:07] [INFO]   -> Set field 'dispatchRunNumber' = "2026000764"
[2026-03-21 22:10:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 22:10:07] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 22:10:07] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 22:10:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 22:10:07] [INFO]   -> Found value: 5349
[2026-03-21 22:10:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5349
[2026-03-21 22:10:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 22:10:07] [INFO]   -> Found value: TN
[2026-03-21 22:10:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 22:10:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 22:10:07] [INFO]   -> Found value: 38506
[2026-03-21 22:10:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 22:10:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 22:10:07] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 22:10:07] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 22:10:07] [INFO]   -> Found value: 36.12797
[2026-03-21 22:10:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12796999999999769670466776005923748016357421875
[2026-03-21 22:10:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 22:10:07] [INFO]   -> Found value: -85.60733
[2026-03-21 22:10:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6073300000000045884007704444229602813720703125
[2026-03-21 22:10:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 22:10:07] [INFO]   -> Found value: 2026-03-21 17:07:12
[2026-03-21 22:10:07] [INFO]   -> Set field 'alarm' = "2026-03-21 17:07:12"
[2026-03-21 22:10:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 22:10:07] [INFO]   -> Found value: 2026-03-21 17:08:02
[2026-03-21 22:10:07] [INFO]   -> Set field 'dispatched' = "2026-03-21 17:08:02"
[2026-03-21 22:10:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 22:10:07] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 22:10:07] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 22:10:07] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 22:10:07] [INFO]   -> Found value: LANDSCAPE RD/DITTY RD
[2026-03-21 22:10:07] [INFO]   -> Set field 'incidentLocationCross' = "LANDSCAPE RD\/DITTY RD"
[2026-03-21 22:10:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 22:10:07] [INFO]   -> Found value: PCFR
[2026-03-21 22:10:07] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-21 22:10:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 22:10:07] [INFO]   -> Found value: 2026-03-21 17:08:02
[2026-03-21 22:10:07] [INFO]   -> Set field 'timedispatch' = "2026-03-21 17:08:02"
[2026-03-21 22:10:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 22:10:07] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 22:10:07] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 22:10:07] [INFO]   -> Found value: 2026-03-21 17:10:01
[2026-03-21 22:10:07] [INFO]   -> Set field 'timeunitclear' = "2026-03-21 17:10:01"
[2026-03-21 22:10:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 22:10:07] [INFO]   -> Found value: 2026-03-21 17:10:01
[2026-03-21 22:10:07] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-21 17:10:01"
[2026-03-21 22:10:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 22:10:07] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 22:10:07] [INFO]   -> Found value: 20260030677
[2026-03-21 22:10:07] [INFO]   -> Set field 'policeReportNumber' = "20260030677"
[2026-03-21 22:10:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 22:10:07] [INFO]   -> Found value: [EMS] 167/88 67 BPM  [03/21/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03/21/26 17:08:34 DSTEPHENS] [...
[2026-03-21 22:10:07] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:07] [INFO]   -> Set field 'cADLog' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 22:10:07] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 22:10:07] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 22:10:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 22:10:07] [INFO]   -> Found value: ACADEMY
[2026-03-21 22:10:07] [INFO]   -> Set field 'streetName' = "ACADEMY"
[2026-03-21 22:10:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 22:10:07] [INFO]   -> Found value: RD
[2026-03-21 22:10:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 22:10:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 22:10:07] [INFO]   -> Found value: 5349 ACADEMY RD
[2026-03-21 22:10:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5349 ACADEMY RD"
[2026-03-21 22:10:07] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 22:10:07] [INFO] Concatenating street name and type
[2026-03-21 22:10:07] [INFO]   -> Combined street name: ACADEMY RD
[2026-03-21 22:10:07] [INFO] Built locationCoordinates from lat/lng: 36.12797,-85.60733
[2026-03-21 22:10:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000764","dispatchRunNumber":"2026000764","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":5349,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12796999999999769670466776005923748016357421875,"nERISIncidentLongitude":-85.6073300000000045884007704444229602813720703125,"alarm":"2026-03-21 17:07:12","dispatched":"2026-03-21 17:08:02","incidentLocationCross":"LANDSCAPE RD\/DITTY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-21 17:08:02","timeunitclear":"2026-03-21 17:10:01","timecanceledenroute":"2026-03-21 17:10:01","policeReportNumber":"20260030677","dispatchNotes":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","cADLog":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"ACADEMY RD","incidentAddressTextVersionStreet":"5349 ACADEMY RD","locationCoordinates":"36.12797,-85.60733"}
[2026-03-21 22:10:07] [INFO] Number of extracted fields: 23
[2026-03-21 22:10:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-21 22:10:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-21 22:10:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-21 22:10:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 22:10:07] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 22:10:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-21 22:10: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-21 22:10: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-21 22:10:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 22:10:07] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 22:10:07] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 22:10:07] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-21 22:10:08] [INFO] Found existing Dispatch with cADNumber '2026000764', ID: 69bf16c77d4e07a20 - will update instead of create
[2026-03-21 22:10:08] [INFO] Updated existing Dispatches record with ID: 69bf16c77d4e07a20
[2026-03-21 22:10:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221006.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030677_20260321_221006.XML
[2026-03-21 22:10:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221006.XML
[2026-03-21 22:10:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221008.XML
[2026-03-21 22:10:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221008.XML for user: 68f1466aed072ad4a
[2026-03-21 22:10:08] [INFO] File size: 6451 bytes
[2026-03-21 22:10:09] [INFO] Created FTPFiles record with ID: 69bf1740ebf46d899
[2026-03-21 22:10:09] [INFO] About to extract fields from XML. File size: 6451 bytes
[2026-03-21 22:10:09] [INFO] Number of mappings: 28
[2026-03-21 22:10:09] [INFO] Starting XML parsing. Content length: 6451
[2026-03-21 22:10:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 22:10:09] [INFO] Processing 28 field mappings
[2026-03-21 22:10:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 22:10:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 22:10:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 22:10:09] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-21 22:10:09] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-21 22:10:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-21 22:10:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 22:10:09] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-21 22:10:09] [INFO]   -> Found value: 2026000764
[2026-03-21 22:10:09] [INFO]   -> Set field 'incidentInternalId' = "2026000764"
[2026-03-21 22:10:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000764"
[2026-03-21 22:10:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 22:10:09] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 22:10:09] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 22:10:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 22:10:09] [INFO]   -> Found value: 5349
[2026-03-21 22:10:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5349
[2026-03-21 22:10:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 22:10:09] [INFO]   -> Found value: TN
[2026-03-21 22:10:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 22:10:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 22:10:09] [INFO]   -> Found value: 38506
[2026-03-21 22:10:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 22:10:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 22:10:09] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 22:10:09] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 22:10:09] [INFO]   -> Found value: 36.12797
[2026-03-21 22:10:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12796999999999769670466776005923748016357421875
[2026-03-21 22:10:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 22:10:09] [INFO]   -> Found value: -85.60733
[2026-03-21 22:10:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6073300000000045884007704444229602813720703125
[2026-03-21 22:10:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 22:10:09] [INFO]   -> Found value: 2026-03-21 17:07:12
[2026-03-21 22:10:09] [INFO]   -> Set field 'alarm' = "2026-03-21 17:07:12"
[2026-03-21 22:10:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 22:10:09] [INFO]   -> Found value: 2026-03-21 17:08:02
[2026-03-21 22:10:09] [INFO]   -> Set field 'dispatched' = "2026-03-21 17:08:02"
[2026-03-21 22:10:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 22:10:09] [INFO]   -> Found value: 2026-03-21 17:10:04
[2026-03-21 22:10:09] [INFO]   -> Set field 'enroute' = "2026-03-21 17:10:04"
[2026-03-21 22:10:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 22:10:09] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 22:10:09] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 22:10:09] [INFO]   -> Found value: LANDSCAPE RD/DITTY RD
[2026-03-21 22:10:09] [INFO]   -> Set field 'incidentLocationCross' = "LANDSCAPE RD\/DITTY RD"
[2026-03-21 22:10:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 22:10:09] [INFO]   -> Found value: SQ11
[2026-03-21 22:10:09] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-21 22:10:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 22:10:09] [INFO]   -> Found value: 2026-03-21 17:10:01
[2026-03-21 22:10:09] [INFO]   -> Set field 'timedispatch' = "2026-03-21 17:10:01"
[2026-03-21 22:10:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 22:10:09] [INFO]   -> Found value: 2026-03-21 17:10:04
[2026-03-21 22:10:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 17:10:04"
[2026-03-21 22:10:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 22:10:09] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 22:10:09] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 22:10:09] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 22:10:09] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 22:10:09] [INFO]   -> Found value: 20260030677
[2026-03-21 22:10:09] [INFO]   -> Set field 'policeReportNumber' = "20260030677"
[2026-03-21 22:10:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 22:10:09] [INFO]   -> Found value: [EMS] 167/88 67 BPM  [03/21/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03/21/26 17:08:34 DSTEPHENS] [...
[2026-03-21 22:10:09] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:09] [INFO]   -> Set field 'cADLog' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 22:10:09] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 22:10:09] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 22:10:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 22:10:09] [INFO]   -> Found value: ACADEMY
[2026-03-21 22:10:09] [INFO]   -> Set field 'streetName' = "ACADEMY"
[2026-03-21 22:10:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 22:10:09] [INFO]   -> Found value: RD
[2026-03-21 22:10:09] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 22:10:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 22:10:09] [INFO]   -> Found value: 5349 ACADEMY RD
[2026-03-21 22:10:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5349 ACADEMY RD"
[2026-03-21 22:10:09] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 22:10:09] [INFO] Concatenating street name and type
[2026-03-21 22:10:09] [INFO]   -> Combined street name: ACADEMY RD
[2026-03-21 22:10:09] [INFO] Built locationCoordinates from lat/lng: 36.12797,-85.60733
[2026-03-21 22:10:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000764","dispatchRunNumber":"2026000764","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":5349,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12796999999999769670466776005923748016357421875,"nERISIncidentLongitude":-85.6073300000000045884007704444229602813720703125,"alarm":"2026-03-21 17:07:12","dispatched":"2026-03-21 17:08:02","enroute":"2026-03-21 17:10:04","incidentLocationCross":"LANDSCAPE RD\/DITTY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-21 17:10:01","timeenroutetoscene":"2026-03-21 17:10:04","policeReportNumber":"20260030677","dispatchNotes":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","cADLog":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"ACADEMY RD","incidentAddressTextVersionStreet":"5349 ACADEMY RD","locationCoordinates":"36.12797,-85.60733"}
[2026-03-21 22:10:09] [INFO] Number of extracted fields: 23
[2026-03-21 22:10:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-21 22:10:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-21 22:10:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-21 22:10:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 22:10:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 22:10:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-21 22:10: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-21 22:10: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-21 22:10:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 22:10:09] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 22:10:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 22:10:09] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-21 22:10:09] [INFO] Found existing Dispatch with cADNumber '2026000764', ID: 69bf16c77d4e07a20 - will update instead of create
[2026-03-21 22:10:10] [INFO] Updated existing Dispatches record with ID: 69bf16c77d4e07a20
[2026-03-21 22:10:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221008.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030677_20260321_221008.XML
[2026-03-21 22:10:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221008.XML
[2026-03-21 22:10:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221009.XML
[2026-03-21 22:10:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221009.XML for user: 68f1466aed072ad4a
[2026-03-21 22:10:10] [INFO] File size: 6451 bytes
[2026-03-21 22:10:10] [INFO] Created FTPFiles record with ID: 69bf1742b0aa436f0
[2026-03-21 22:10:10] [INFO] About to extract fields from XML. File size: 6451 bytes
[2026-03-21 22:10:10] [INFO] Number of mappings: 28
[2026-03-21 22:10:10] [INFO] Starting XML parsing. Content length: 6451
[2026-03-21 22:10:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 22:10:10] [INFO] Processing 28 field mappings
[2026-03-21 22:10:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 22:10:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 22:10:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 22:10:10] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-21 22:10:10] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-21 22:10:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-21 22:10:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 22:10:10] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-21 22:10:10] [INFO]   -> Found value: 2026000764
[2026-03-21 22:10:10] [INFO]   -> Set field 'incidentInternalId' = "2026000764"
[2026-03-21 22:10:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000764"
[2026-03-21 22:10:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 22:10:10] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 22:10:10] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 22:10:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 22:10:10] [INFO]   -> Found value: 5349
[2026-03-21 22:10:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5349
[2026-03-21 22:10:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 22:10:10] [INFO]   -> Found value: TN
[2026-03-21 22:10:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 22:10:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 22:10:10] [INFO]   -> Found value: 38506
[2026-03-21 22:10:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 22:10:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 22:10:10] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 22:10:10] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 22:10:10] [INFO]   -> Found value: 36.12797
[2026-03-21 22:10:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12796999999999769670466776005923748016357421875
[2026-03-21 22:10:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 22:10:10] [INFO]   -> Found value: -85.60733
[2026-03-21 22:10:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6073300000000045884007704444229602813720703125
[2026-03-21 22:10:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 22:10:10] [INFO]   -> Found value: 2026-03-21 17:07:12
[2026-03-21 22:10:10] [INFO]   -> Set field 'alarm' = "2026-03-21 17:07:12"
[2026-03-21 22:10:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 22:10:10] [INFO]   -> Found value: 2026-03-21 17:08:02
[2026-03-21 22:10:10] [INFO]   -> Set field 'dispatched' = "2026-03-21 17:08:02"
[2026-03-21 22:10:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 22:10:10] [INFO]   -> Found value: 2026-03-21 17:10:04
[2026-03-21 22:10:10] [INFO]   -> Set field 'enroute' = "2026-03-21 17:10:04"
[2026-03-21 22:10:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 22:10:10] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 22:10:10] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 22:10:10] [INFO]   -> Found value: LANDSCAPE RD/DITTY RD
[2026-03-21 22:10:10] [INFO]   -> Set field 'incidentLocationCross' = "LANDSCAPE RD\/DITTY RD"
[2026-03-21 22:10:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 22:10:10] [INFO]   -> Found value: SQ11
[2026-03-21 22:10:10] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-21 22:10:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 22:10:10] [INFO]   -> Found value: 2026-03-21 17:10:01
[2026-03-21 22:10:10] [INFO]   -> Set field 'timedispatch' = "2026-03-21 17:10:01"
[2026-03-21 22:10:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 22:10:10] [INFO]   -> Found value: 2026-03-21 17:10:04
[2026-03-21 22:10:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 17:10:04"
[2026-03-21 22:10:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 22:10:10] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 22:10:10] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 22:10:10] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 22:10:10] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 22:10:10] [INFO]   -> Found value: 20260030677
[2026-03-21 22:10:10] [INFO]   -> Set field 'policeReportNumber' = "20260030677"
[2026-03-21 22:10:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 22:10:10] [INFO]   -> Found value: [EMS] 167/88 67 BPM  [03/21/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03/21/26 17:08:34 DSTEPHENS] [...
[2026-03-21 22:10:10] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:10] [INFO]   -> Set field 'cADLog' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 22:10:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 22:10:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 22:10:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 22:10:10] [INFO]   -> Found value: ACADEMY
[2026-03-21 22:10:10] [INFO]   -> Set field 'streetName' = "ACADEMY"
[2026-03-21 22:10:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 22:10:10] [INFO]   -> Found value: RD
[2026-03-21 22:10:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 22:10:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 22:10:10] [INFO]   -> Found value: 5349 ACADEMY RD
[2026-03-21 22:10:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5349 ACADEMY RD"
[2026-03-21 22:10:10] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 22:10:10] [INFO] Concatenating street name and type
[2026-03-21 22:10:10] [INFO]   -> Combined street name: ACADEMY RD
[2026-03-21 22:10:10] [INFO] Built locationCoordinates from lat/lng: 36.12797,-85.60733
[2026-03-21 22:10:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000764","dispatchRunNumber":"2026000764","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":5349,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12796999999999769670466776005923748016357421875,"nERISIncidentLongitude":-85.6073300000000045884007704444229602813720703125,"alarm":"2026-03-21 17:07:12","dispatched":"2026-03-21 17:08:02","enroute":"2026-03-21 17:10:04","incidentLocationCross":"LANDSCAPE RD\/DITTY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-21 17:10:01","timeenroutetoscene":"2026-03-21 17:10:04","policeReportNumber":"20260030677","dispatchNotes":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","cADLog":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"ACADEMY RD","incidentAddressTextVersionStreet":"5349 ACADEMY RD","locationCoordinates":"36.12797,-85.60733"}
[2026-03-21 22:10:10] [INFO] Number of extracted fields: 23
[2026-03-21 22:10:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-21 22:10:10] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-21 22:10:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-21 22:10:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 22:10:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 22:10:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-21 22:10: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-21 22:10: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-21 22:10:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 22:10:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 22:10:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 22:10:11] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-21 22:10:11] [INFO] Found existing Dispatch with cADNumber '2026000764', ID: 69bf16c77d4e07a20 - will update instead of create
[2026-03-21 22:10:11] [INFO] Updated existing Dispatches record with ID: 69bf16c77d4e07a20
[2026-03-21 22:10:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221009.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030677_20260321_221009.XML
[2026-03-21 22:10:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221009.XML
[2026-03-21 22:10:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221013.XML
[2026-03-21 22:10:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221013.XML for user: 68f1466aed072ad4a
[2026-03-21 22:10:13] [INFO] File size: 6451 bytes
[2026-03-21 22:10:13] [INFO] Created FTPFiles record with ID: 69bf1745a3e088486
[2026-03-21 22:10:13] [INFO] About to extract fields from XML. File size: 6451 bytes
[2026-03-21 22:10:13] [INFO] Number of mappings: 28
[2026-03-21 22:10:13] [INFO] Starting XML parsing. Content length: 6451
[2026-03-21 22:10:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-21 22:10:13] [INFO] Processing 28 field mappings
[2026-03-21 22:10:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-21 22:10:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-21 22:10:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-21 22:10:13] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-21 22:10:13] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-21 22:10:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-21 22:10:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-21 22:10:13] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-21 22:10:13] [INFO]   -> Found value: 2026000764
[2026-03-21 22:10:13] [INFO]   -> Set field 'incidentInternalId' = "2026000764"
[2026-03-21 22:10:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000764"
[2026-03-21 22:10:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-21 22:10:13] [INFO]   -> Found value: CHEST PAIN
[2026-03-21 22:10:13] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-21 22:10:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-21 22:10:13] [INFO]   -> Found value: 5349
[2026-03-21 22:10:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5349
[2026-03-21 22:10:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-21 22:10:13] [INFO]   -> Found value: TN
[2026-03-21 22:10:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-21 22:10:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-21 22:10:13] [INFO]   -> Found value: 38506
[2026-03-21 22:10:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-21 22:10:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-21 22:10:13] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-21 22:10:13] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-21 22:10:13] [INFO]   -> Found value: 36.12797
[2026-03-21 22:10:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12796999999999769670466776005923748016357421875
[2026-03-21 22:10:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-21 22:10:13] [INFO]   -> Found value: -85.60733
[2026-03-21 22:10:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6073300000000045884007704444229602813720703125
[2026-03-21 22:10:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-21 22:10:13] [INFO]   -> Found value: 2026-03-21 17:07:12
[2026-03-21 22:10:13] [INFO]   -> Set field 'alarm' = "2026-03-21 17:07:12"
[2026-03-21 22:10:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-21 22:10:13] [INFO]   -> Found value: 2026-03-21 17:08:02
[2026-03-21 22:10:13] [INFO]   -> Set field 'dispatched' = "2026-03-21 17:08:02"
[2026-03-21 22:10:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-21 22:10:13] [INFO]   -> Found value: 2026-03-21 17:10:04
[2026-03-21 22:10:13] [INFO]   -> Set field 'enroute' = "2026-03-21 17:10:04"
[2026-03-21 22:10:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-21 22:10:13] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-21 22:10:13] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-21 22:10:13] [INFO]   -> Found value: LANDSCAPE RD/DITTY RD
[2026-03-21 22:10:13] [INFO]   -> Set field 'incidentLocationCross' = "LANDSCAPE RD\/DITTY RD"
[2026-03-21 22:10:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-21 22:10:13] [INFO]   -> Found value: SQ11
[2026-03-21 22:10:13] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-21 22:10:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-21 22:10:13] [INFO]   -> Found value: 2026-03-21 17:10:01
[2026-03-21 22:10:13] [INFO]   -> Set field 'timedispatch' = "2026-03-21 17:10:01"
[2026-03-21 22:10:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-21 22:10:13] [INFO]   -> Found value: 2026-03-21 17:10:04
[2026-03-21 22:10:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-21 17:10:04"
[2026-03-21 22:10:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-21 22:10:13] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-21 22:10:13] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-21 22:10:13] [INFO]   -> No value found (null or empty)
[2026-03-21 22:10:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-21 22:10:13] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-21 22:10:13] [INFO]   -> Found value: 20260030677
[2026-03-21 22:10:13] [INFO]   -> Set field 'policeReportNumber' = "20260030677"
[2026-03-21 22:10:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-21 22:10:13] [INFO]   -> Found value: [EMS] 167/88 67 BPM  [03/21/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03/21/26 17:08:34 DSTEPHENS] [...
[2026-03-21 22:10:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:13] [INFO]   -> Set field 'cADLog' = "[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]"
[2026-03-21 22:10:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-21 22:10:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-21 22:10:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-21 22:10:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-21 22:10:13] [INFO]   -> Found value: ACADEMY
[2026-03-21 22:10:13] [INFO]   -> Set field 'streetName' = "ACADEMY"
[2026-03-21 22:10:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-21 22:10:13] [INFO]   -> Found value: RD
[2026-03-21 22:10:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-21 22:10:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-21 22:10:13] [INFO]   -> Found value: 5349 ACADEMY RD
[2026-03-21 22:10:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5349 ACADEMY RD"
[2026-03-21 22:10:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-21 22:10:13] [INFO] Concatenating street name and type
[2026-03-21 22:10:13] [INFO]   -> Combined street name: ACADEMY RD
[2026-03-21 22:10:13] [INFO] Built locationCoordinates from lat/lng: 36.12797,-85.60733
[2026-03-21 22:10:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000764","dispatchRunNumber":"2026000764","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":5349,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.12796999999999769670466776005923748016357421875,"nERISIncidentLongitude":-85.6073300000000045884007704444229602813720703125,"alarm":"2026-03-21 17:07:12","dispatched":"2026-03-21 17:08:02","enroute":"2026-03-21 17:10:04","incidentLocationCross":"LANDSCAPE RD\/DITTY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-21 17:10:01","timeenroutetoscene":"2026-03-21 17:10:04","policeReportNumber":"20260030677","dispatchNotes":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","cADLog":"[EMS] 167\/88 67 BPM  [03\/21\/26 17:09:22 DSTEPHENS] [EMS] 8 ON SCALE  [03\/21\/26 17:08:34 DSTEPHENS] [EMS] HX: HEART PROBLEMS   [03\/21\/26 17:08:06 DSTEPHENS] [EMS] JACK DUNCAN  8\/12\/1955  [03\/21\/26 17:07:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/21\/2026 17:07:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"ACADEMY RD","incidentAddressTextVersionStreet":"5349 ACADEMY RD","locationCoordinates":"36.12797,-85.60733"}
[2026-03-21 22:10:13] [INFO] Number of extracted fields: 23
[2026-03-21 22:10:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-21 22:10:13] [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-21 22:10:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-21 22:10:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-21 22:10:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-21 22:10:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-21 22:10: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-21 22:10: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-21 22:10:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-21 22:10:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-21 22:10:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-21 22:10:14] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-21 22:10:14] [INFO] Found existing Dispatch with cADNumber '2026000764', ID: 69bf16c77d4e07a20 - will update instead of create
[2026-03-21 22:10:14] [INFO] Updated existing Dispatches record with ID: 69bf16c77d4e07a20
[2026-03-21 22:10:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221013.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-21/PCFD_20260030677_20260321_221013.XML
[2026-03-21 22:10:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260030677_20260321_221013.XML
[2026-03-21 23:30:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:38Z.xml
[2026-03-21 23:30:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:38Z.xml
[2026-03-21 23:30:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:38Z.xml
[2026-03-21 23:30:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:38Z.xml
[2026-03-21 23:30:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:39Z.xml
[2026-03-21 23:30:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:39Z.xml
[2026-03-21 23:30:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:39Z.xml
[2026-03-21 23:30:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:39Z.xml
[2026-03-21 23:30:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:39Z.xml
[2026-03-21 23:30:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:39Z.xml
[2026-03-21 23:30:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:40Z.xml
[2026-03-21 23:30:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:40Z.xml
[2026-03-21 23:30:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:40Z.xml
[2026-03-21 23:30:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:40Z.xml
[2026-03-21 23:30:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:42Z.xml
[2026-03-21 23:30:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:42Z.xml
[2026-03-21 23:30:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:42Z.xml
[2026-03-21 23:30:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:42Z.xml
[2026-03-21 23:30:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:42Z.xml
[2026-03-21 23:30:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:42Z.xml
[2026-03-21 23:30:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:43Z.xml
[2026-03-21 23:30:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:30:43Z.xml
[2026-03-21 23:31:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:31:02Z.xml
[2026-03-21 23:31:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:31:02Z.xml
[2026-03-21 23:31:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:31:02Z.xml
[2026-03-21 23:31:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:31:02Z.xml
[2026-03-21 23:31:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:31:19Z.xml
[2026-03-21 23:31:20] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-013307_2026-03-21 18:31:19Z.xml
