[2026-03-07 00:00:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000003.XML
[2026-03-07 00:00:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000003.XML for user: 68f1466aed072ad4a
[2026-03-07 00:00:03] [INFO] File size: 5488 bytes
[2026-03-07 00:00:03] [INFO] Created FTPFiles record with ID: 69ab6a83a8df45ecc
[2026-03-07 00:00:03] [INFO] About to extract fields from XML. File size: 5488 bytes
[2026-03-07 00:00:03] [INFO] Number of mappings: 28
[2026-03-07 00:00:03] [INFO] Starting XML parsing. Content length: 5488
[2026-03-07 00:00:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:00:03] [INFO] Processing 28 field mappings
[2026-03-07 00:00:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:00:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:00:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:00:03] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 00:00:03] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 00:00:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 00:00:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:00:03] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:00:03] [INFO]   -> Found value: 2026000078
[2026-03-07 00:00:03] [INFO]   -> Set field 'incidentInternalId' = "2026000078"
[2026-03-07 00:00:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000078"
[2026-03-07 00:00:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:00:03] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 00:00:03] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 00:00:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:00:03] [INFO]   -> Found value: 530
[2026-03-07 00:00:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-07 00:00:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:00:03] [INFO]   -> Found value: TN
[2026-03-07 00:00:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:00:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:00:03] [INFO]   -> Found value: 38544
[2026-03-07 00:00:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 00:00:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:00:03] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:00:03] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:00:03] [INFO]   -> Found value: 36.16570
[2026-03-07 00:00:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1657000000000010686562745831906795501708984375
[2026-03-07 00:00:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:00:03] [INFO]   -> Found value: -85.65327
[2026-03-07 00:00:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6532700000000062345861806534230709075927734375
[2026-03-07 00:00:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:00:03] [INFO]   -> Found value: 2026-03-06 17:57:30
[2026-03-07 00:00:03] [INFO]   -> Set field 'alarm' = "2026-03-06 17:57:30"
[2026-03-07 00:00:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:00:03] [INFO]   -> Found value: 2026-03-06 17:58:07
[2026-03-07 00:00:03] [INFO]   -> Set field 'dispatched' = "2026-03-06 17:58:07"
[2026-03-07 00:00:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:00:03] [INFO]   -> Found value: 2026-03-06 17:59:58
[2026-03-07 00:00:03] [INFO]   -> Set field 'enroute' = "2026-03-06 17:59:58"
[2026-03-07 00:00:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:00:03] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:00:03] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:00:03] [INFO]   -> Found value: CHESTNUT ST/NASHVILLE HWY
[2026-03-07 00:00:03] [INFO]   -> Set field 'incidentLocationCross' = "CHESTNUT ST\/NASHVILLE HWY"
[2026-03-07 00:00:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:00:03] [INFO]   -> Found value: BEN2
[2026-03-07 00:00:03] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 00:00:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:00:03] [INFO]   -> Found value: 2026-03-06 17:58:07
[2026-03-07 00:00:03] [INFO]   -> Set field 'timedispatch' = "2026-03-06 17:58:07"
[2026-03-07 00:00:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:00:03] [INFO]   -> Found value: 2026-03-06 17:59:58
[2026-03-07 00:00:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 17:59:58"
[2026-03-07 00:00:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:00:03] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:00:03] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:00:03] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:00:03] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:00:03] [INFO]   -> Found value: 20260024869
[2026-03-07 00:00:03] [INFO]   -> Set field 'policeReportNumber' = "20260024869"
[2026-03-07 00:00:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:00:03] [INFO]   -> Found value: [EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03/06/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY ...
[2026-03-07 00:00:03] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]"
[2026-03-07 00:00:03] [INFO]   -> Set field 'cADLog' = "[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]"
[2026-03-07 00:00:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:00:03] [INFO]   -> Found value: BAXTER
[2026-03-07 00:00:03] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 00:00:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:00:03] [INFO]   -> Found value: FIRST
[2026-03-07 00:00:03] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-07 00:00:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:00:03] [INFO]   -> Found value: AVE
[2026-03-07 00:00:03] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 00:00:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:00:03] [INFO]   -> Found value: 530 FIRST AVE N
[2026-03-07 00:00:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 FIRST AVE N"
[2026-03-07 00:00:03] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 00:00:03] [INFO] Concatenating street name and type
[2026-03-07 00:00:03] [INFO]   -> Combined street name: FIRST AVE
[2026-03-07 00:00:03] [INFO] Built locationCoordinates from lat/lng: 36.1657,-85.65327
[2026-03-07 00:00:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000078","dispatchRunNumber":"2026000078","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1657000000000010686562745831906795501708984375,"nERISIncidentLongitude":-85.6532700000000062345861806534230709075927734375,"alarm":"2026-03-06 17:57:30","dispatched":"2026-03-06 17:58:07","enroute":"2026-03-06 17:59:58","incidentLocationCross":"CHESTNUT ST\/NASHVILLE HWY","cADVehicleID":"BEN2","timedispatch":"2026-03-06 17:58:07","timeenroutetoscene":"2026-03-06 17:59:58","policeReportNumber":"20260024869","dispatchNotes":"[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]","cADLog":"[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"530 FIRST AVE N","locationCoordinates":"36.1657,-85.65327"}
[2026-03-07 00:00:03] [INFO] Number of extracted fields: 23
[2026-03-07 00:00:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 00:00:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 00:00:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 00:00:03] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:00:03] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 00:00:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 00:00:04] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 00:00:04] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 00:00:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 00:00:04] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 00:00:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 00:00:04] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 00:00:04] [INFO] Found existing Dispatch with cADNumber '2026000078', ID: 69ab6a14a8c4db54f - will update instead of create
[2026-03-07 00:00:04] [INFO] Updated existing Dispatches record with ID: 69ab6a14a8c4db54f
[2026-03-07 00:00:04] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07
[2026-03-07 00:00:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000003.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260024869_20260307_000003.XML
[2026-03-07 00:00:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000003.XML
[2026-03-07 00:00:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000008.XML
[2026-03-07 00:00:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000008.XML for user: 68f1466aed072ad4a
[2026-03-07 00:00:08] [INFO] File size: 5488 bytes
[2026-03-07 00:00:09] [INFO] Created FTPFiles record with ID: 69ab6a89129bfc68b
[2026-03-07 00:00:09] [INFO] About to extract fields from XML. File size: 5488 bytes
[2026-03-07 00:00:09] [INFO] Number of mappings: 28
[2026-03-07 00:00:09] [INFO] Starting XML parsing. Content length: 5488
[2026-03-07 00:00:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:00:09] [INFO] Processing 28 field mappings
[2026-03-07 00:00:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:00:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:00:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:00:09] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 00:00:09] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 00:00:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 00:00:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:00:09] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:00:09] [INFO]   -> Found value: 2026000078
[2026-03-07 00:00:09] [INFO]   -> Set field 'incidentInternalId' = "2026000078"
[2026-03-07 00:00:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000078"
[2026-03-07 00:00:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:00:09] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 00:00:09] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 00:00:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:00:09] [INFO]   -> Found value: 530
[2026-03-07 00:00:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-07 00:00:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:00:09] [INFO]   -> Found value: TN
[2026-03-07 00:00:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:00:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:00:09] [INFO]   -> Found value: 38544
[2026-03-07 00:00:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 00:00:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:00:09] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:00:09] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:00:09] [INFO]   -> Found value: 36.16570
[2026-03-07 00:00:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1657000000000010686562745831906795501708984375
[2026-03-07 00:00:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:00:09] [INFO]   -> Found value: -85.65327
[2026-03-07 00:00:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6532700000000062345861806534230709075927734375
[2026-03-07 00:00:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:00:09] [INFO]   -> Found value: 2026-03-06 17:57:30
[2026-03-07 00:00:09] [INFO]   -> Set field 'alarm' = "2026-03-06 17:57:30"
[2026-03-07 00:00:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:00:09] [INFO]   -> Found value: 2026-03-06 17:58:07
[2026-03-07 00:00:09] [INFO]   -> Set field 'dispatched' = "2026-03-06 17:58:07"
[2026-03-07 00:00:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:00:09] [INFO]   -> Found value: 2026-03-06 17:59:58
[2026-03-07 00:00:09] [INFO]   -> Set field 'enroute' = "2026-03-06 17:59:58"
[2026-03-07 00:00:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:00:09] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:00:09] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:00:09] [INFO]   -> Found value: CHESTNUT ST/NASHVILLE HWY
[2026-03-07 00:00:09] [INFO]   -> Set field 'incidentLocationCross' = "CHESTNUT ST\/NASHVILLE HWY"
[2026-03-07 00:00:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:00:09] [INFO]   -> Found value: BEN2
[2026-03-07 00:00:09] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 00:00:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:00:09] [INFO]   -> Found value: 2026-03-06 17:58:07
[2026-03-07 00:00:09] [INFO]   -> Set field 'timedispatch' = "2026-03-06 17:58:07"
[2026-03-07 00:00:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:00:09] [INFO]   -> Found value: 2026-03-06 17:59:58
[2026-03-07 00:00:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 17:59:58"
[2026-03-07 00:00:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:00:09] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:00:09] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:00:09] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:00:09] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:00:09] [INFO]   -> Found value: 20260024869
[2026-03-07 00:00:09] [INFO]   -> Set field 'policeReportNumber' = "20260024869"
[2026-03-07 00:00:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:00:09] [INFO]   -> Found value: [EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03/06/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY ...
[2026-03-07 00:00:09] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]"
[2026-03-07 00:00:09] [INFO]   -> Set field 'cADLog' = "[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]"
[2026-03-07 00:00:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:00:09] [INFO]   -> Found value: BAXTER
[2026-03-07 00:00:09] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 00:00:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:00:09] [INFO]   -> Found value: FIRST
[2026-03-07 00:00:09] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-07 00:00:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:00:09] [INFO]   -> Found value: AVE
[2026-03-07 00:00:09] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 00:00:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:00:09] [INFO]   -> Found value: 530 FIRST AVE N
[2026-03-07 00:00:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 FIRST AVE N"
[2026-03-07 00:00:09] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 00:00:09] [INFO] Concatenating street name and type
[2026-03-07 00:00:09] [INFO]   -> Combined street name: FIRST AVE
[2026-03-07 00:00:09] [INFO] Built locationCoordinates from lat/lng: 36.1657,-85.65327
[2026-03-07 00:00:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000078","dispatchRunNumber":"2026000078","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1657000000000010686562745831906795501708984375,"nERISIncidentLongitude":-85.6532700000000062345861806534230709075927734375,"alarm":"2026-03-06 17:57:30","dispatched":"2026-03-06 17:58:07","enroute":"2026-03-06 17:59:58","incidentLocationCross":"CHESTNUT ST\/NASHVILLE HWY","cADVehicleID":"BEN2","timedispatch":"2026-03-06 17:58:07","timeenroutetoscene":"2026-03-06 17:59:58","policeReportNumber":"20260024869","dispatchNotes":"[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]","cADLog":"[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"530 FIRST AVE N","locationCoordinates":"36.1657,-85.65327"}
[2026-03-07 00:00:09] [INFO] Number of extracted fields: 23
[2026-03-07 00:00:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 00:00:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 00:00:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 00:00:09] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:00:09] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 00:00:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 00:00:09] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 00:00:09] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 00:00:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 00:00:09] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 00:00:09] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 00:00:09] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 00:00:09] [INFO] Found existing Dispatch with cADNumber '2026000078', ID: 69ab6a14a8c4db54f - will update instead of create
[2026-03-07 00:00:10] [INFO] Updated existing Dispatches record with ID: 69ab6a14a8c4db54f
[2026-03-07 00:00:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000008.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260024869_20260307_000008.XML
[2026-03-07 00:00:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000008.XML
[2026-03-07 00:00:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000010.XML
[2026-03-07 00:00:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000010.XML for user: 68f1466aed072ad4a
[2026-03-07 00:00:10] [INFO] File size: 5488 bytes
[2026-03-07 00:00:10] [INFO] Created FTPFiles record with ID: 69ab6a8aa6f84a3a9
[2026-03-07 00:00:10] [INFO] About to extract fields from XML. File size: 5488 bytes
[2026-03-07 00:00:10] [INFO] Number of mappings: 28
[2026-03-07 00:00:10] [INFO] Starting XML parsing. Content length: 5488
[2026-03-07 00:00:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:00:10] [INFO] Processing 28 field mappings
[2026-03-07 00:00:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:00:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:00:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:00:10] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 00:00:10] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 00:00:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 00:00:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:00:10] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:00:10] [INFO]   -> Found value: 2026000078
[2026-03-07 00:00:10] [INFO]   -> Set field 'incidentInternalId' = "2026000078"
[2026-03-07 00:00:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000078"
[2026-03-07 00:00:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:00:10] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 00:00:10] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 00:00:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:00:10] [INFO]   -> Found value: 530
[2026-03-07 00:00:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-07 00:00:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:00:10] [INFO]   -> Found value: TN
[2026-03-07 00:00:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:00:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:00:10] [INFO]   -> Found value: 38544
[2026-03-07 00:00:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 00:00:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:00:10] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:00:10] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:00:10] [INFO]   -> Found value: 36.16570
[2026-03-07 00:00:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1657000000000010686562745831906795501708984375
[2026-03-07 00:00:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:00:10] [INFO]   -> Found value: -85.65327
[2026-03-07 00:00:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6532700000000062345861806534230709075927734375
[2026-03-07 00:00:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:00:10] [INFO]   -> Found value: 2026-03-06 17:57:30
[2026-03-07 00:00:10] [INFO]   -> Set field 'alarm' = "2026-03-06 17:57:30"
[2026-03-07 00:00:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:00:10] [INFO]   -> Found value: 2026-03-06 17:58:07
[2026-03-07 00:00:10] [INFO]   -> Set field 'dispatched' = "2026-03-06 17:58:07"
[2026-03-07 00:00:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:00:10] [INFO]   -> Found value: 2026-03-06 17:59:58
[2026-03-07 00:00:10] [INFO]   -> Set field 'enroute' = "2026-03-06 17:59:58"
[2026-03-07 00:00:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:00:10] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:00:10] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:00:10] [INFO]   -> Found value: CHESTNUT ST/NASHVILLE HWY
[2026-03-07 00:00:10] [INFO]   -> Set field 'incidentLocationCross' = "CHESTNUT ST\/NASHVILLE HWY"
[2026-03-07 00:00:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:00:10] [INFO]   -> Found value: BEN2
[2026-03-07 00:00:10] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 00:00:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:00:10] [INFO]   -> Found value: 2026-03-06 17:58:07
[2026-03-07 00:00:10] [INFO]   -> Set field 'timedispatch' = "2026-03-06 17:58:07"
[2026-03-07 00:00:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:00:10] [INFO]   -> Found value: 2026-03-06 17:59:58
[2026-03-07 00:00:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 17:59:58"
[2026-03-07 00:00:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:00:10] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:00:10] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:00:10] [INFO]   -> No value found (null or empty)
[2026-03-07 00:00:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:00:10] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:00:10] [INFO]   -> Found value: 20260024869
[2026-03-07 00:00:10] [INFO]   -> Set field 'policeReportNumber' = "20260024869"
[2026-03-07 00:00:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:00:10] [INFO]   -> Found value: [EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03/06/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY ...
[2026-03-07 00:00:10] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]"
[2026-03-07 00:00:10] [INFO]   -> Set field 'cADLog' = "[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]"
[2026-03-07 00:00:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:00:10] [INFO]   -> Found value: BAXTER
[2026-03-07 00:00:10] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 00:00:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:00:10] [INFO]   -> Found value: FIRST
[2026-03-07 00:00:10] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-03-07 00:00:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:00:10] [INFO]   -> Found value: AVE
[2026-03-07 00:00:10] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 00:00:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:00:10] [INFO]   -> Found value: 530 FIRST AVE N
[2026-03-07 00:00:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 FIRST AVE N"
[2026-03-07 00:00:10] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 00:00:10] [INFO] Concatenating street name and type
[2026-03-07 00:00:10] [INFO]   -> Combined street name: FIRST AVE
[2026-03-07 00:00:10] [INFO] Built locationCoordinates from lat/lng: 36.1657,-85.65327
[2026-03-07 00:00:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000078","dispatchRunNumber":"2026000078","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1657000000000010686562745831906795501708984375,"nERISIncidentLongitude":-85.6532700000000062345861806534230709075927734375,"alarm":"2026-03-06 17:57:30","dispatched":"2026-03-06 17:58:07","enroute":"2026-03-06 17:59:58","incidentLocationCross":"CHESTNUT ST\/NASHVILLE HWY","cADVehicleID":"BEN2","timedispatch":"2026-03-06 17:58:07","timeenroutetoscene":"2026-03-06 17:59:58","policeReportNumber":"20260024869","dispatchNotes":"[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]","cADLog":"[EMS] HX: MENTAL ISSUES  HEART PROBLEMS  [03\/06\/26 17:59:04 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 17:58:06 RMAYNARD] [EMS] CRYSTAL SANDELL   10\/22\/1977  [03\/06\/26 17:58:05 DSTEPHENS] [EMS] HEART ATTACK 2022  [03\/06\/26 17:57:46 DSTEPHENS] Event spawned from CHEST PAIN.  [03\/06\/2026 17:57:30 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"530 FIRST AVE N","locationCoordinates":"36.1657,-85.65327"}
[2026-03-07 00:00:10] [INFO] Number of extracted fields: 23
[2026-03-07 00:00:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 00:00:10] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 00:00:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 00:00:10] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:00:10] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 00:00:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 00:00:11] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 00:00:11] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 00:00:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 00:00:11] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 00:00:11] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 00:00:11] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 00:00:11] [INFO] Found existing Dispatch with cADNumber '2026000078', ID: 69ab6a14a8c4db54f - will update instead of create
[2026-03-07 00:00:11] [INFO] Updated existing Dispatches record with ID: 69ab6a14a8c4db54f
[2026-03-07 00:00:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000010.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260024869_20260307_000010.XML
[2026-03-07 00:00:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260024869_20260307_000010.XML
[2026-03-07 00:49:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_004929.XML
[2026-03-07 00:49:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_004929.XML for user: 68f1466aed072ad4a
[2026-03-07 00:49:29] [INFO] File size: 5333 bytes
[2026-03-07 00:49:31] [INFO] Created FTPFiles record with ID: 69ab761b01e746572
[2026-03-07 00:49:31] [INFO] About to extract fields from XML. File size: 5333 bytes
[2026-03-07 00:49:31] [INFO] Number of mappings: 28
[2026-03-07 00:49:31] [INFO] Starting XML parsing. Content length: 5333
[2026-03-07 00:49:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:49:31] [INFO] Processing 28 field mappings
[2026-03-07 00:49:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:49:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:49:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:49:31] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 00:49:31] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 00:49:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 00:49:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:49:31] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:49:31] [INFO]   -> Found value: 2026000611
[2026-03-07 00:49:31] [INFO]   -> Set field 'incidentInternalId' = "2026000611"
[2026-03-07 00:49:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000611"
[2026-03-07 00:49:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:49:31] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-07 00:49:31] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-07 00:49:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:49:31] [INFO]   -> Found value: 8170
[2026-03-07 00:49:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8170
[2026-03-07 00:49:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:49:31] [INFO]   -> Found value: TN
[2026-03-07 00:49:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:49:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:49:31] [INFO]   -> Found value: 38501
[2026-03-07 00:49:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 00:49:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:49:31] [INFO]   -> Found value: 36.28086
[2026-03-07 00:49:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.28085999999999700094122090376913547515869140625
[2026-03-07 00:49:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:49:31] [INFO]   -> Found value: -85.48509
[2026-03-07 00:49:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4850899999999995770849636755883693695068359375
[2026-03-07 00:49:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:49:31] [INFO]   -> Found value: 2026-03-06 18:49:12
[2026-03-07 00:49:31] [INFO]   -> Set field 'alarm' = "2026-03-06 18:49:12"
[2026-03-07 00:49:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:49:31] [INFO]   -> Found value: 2026-03-06 18:49:22
[2026-03-07 00:49:31] [INFO]   -> Set field 'dispatched' = "2026-03-06 18:49:22"
[2026-03-07 00:49:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:49:31] [INFO]   -> Found value: GRIMSLEY RD/E THOMAS ALLEN RD
[2026-03-07 00:49:31] [INFO]   -> Set field 'incidentLocationCross' = "GRIMSLEY RD\/E THOMAS ALLEN RD"
[2026-03-07 00:49:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:49:31] [INFO]   -> Found value: PCFR
[2026-03-07 00:49:31] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 00:49:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:49:31] [INFO]   -> Found value: 2026-03-06 18:49:22
[2026-03-07 00:49:31] [INFO]   -> Set field 'timedispatch' = "2026-03-06 18:49:22"
[2026-03-07 00:49:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:49:31] [INFO]   -> No value found (null or empty)
[2026-03-07 00:49:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:49:31] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:49:31] [INFO]   -> Found value: 20260024883
[2026-03-07 00:49:31] [INFO]   -> Set field 'policeReportNumber' = "20260024883"
[2026-03-07 00:49:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:49:31] [INFO]   -> Found value: Event spawned from UNCONSCIOUS.  [03/06/2026 18:49:12 DSTEPHENS]
[2026-03-07 00:49:31] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:49:31] [INFO]   -> Set field 'cADLog' = "Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:49:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:49:31] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 00:49:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 00:49:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:49:31] [INFO]   -> Found value: FAIRVIEW
[2026-03-07 00:49:31] [INFO]   -> Set field 'streetName' = "FAIRVIEW"
[2026-03-07 00:49:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:49:31] [INFO]   -> Found value: RD
[2026-03-07 00:49:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 00:49:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:49:31] [INFO]   -> Found value: 8170 FAIRVIEW RD
[2026-03-07 00:49:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8170 FAIRVIEW RD"
[2026-03-07 00:49:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 00:49:31] [INFO] Concatenating street name and type
[2026-03-07 00:49:31] [INFO]   -> Combined street name: FAIRVIEW RD
[2026-03-07 00:49:31] [INFO] Built locationCoordinates from lat/lng: 36.28086,-85.48509
[2026-03-07 00:49:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000611","dispatchRunNumber":"2026000611","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":8170,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.28085999999999700094122090376913547515869140625,"nERISIncidentLongitude":-85.4850899999999995770849636755883693695068359375,"alarm":"2026-03-06 18:49:12","dispatched":"2026-03-06 18:49:22","incidentLocationCross":"GRIMSLEY RD\/E THOMAS ALLEN RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 18:49:22","policeReportNumber":"20260024883","dispatchNotes":"Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","cADLog":"Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"FAIRVIEW RD","incidentAddressTextVersionStreet":"8170 FAIRVIEW RD","locationCoordinates":"36.28086,-85.48509"}
[2026-03-07 00:49:31] [INFO] Number of extracted fields: 21
[2026-03-07 00:49:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 00:49:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 00:49:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 00:49:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:49:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 00:49:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 00:49:31] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 00:49:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 00:49:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 00:49:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 00:49:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 00:49:31] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-07 00:49:41] [INFO] Created new Dispatches record with ID: 69ab761c2a02e1b9a
[2026-03-07 00:49:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_004929.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024883_20260307_004929.XML
[2026-03-07 00:49:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_004929.XML
[2026-03-07 00:50:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005049.XML
[2026-03-07 00:50:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005049.XML for user: 68f1466aed072ad4a
[2026-03-07 00:50:49] [INFO] File size: 6239 bytes
[2026-03-07 00:50:50] [INFO] Created FTPFiles record with ID: 69ab766a40d08ecb4
[2026-03-07 00:50:50] [INFO] About to extract fields from XML. File size: 6239 bytes
[2026-03-07 00:50:50] [INFO] Number of mappings: 28
[2026-03-07 00:50:50] [INFO] Starting XML parsing. Content length: 6239
[2026-03-07 00:50:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:50:50] [INFO] Processing 28 field mappings
[2026-03-07 00:50:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:50:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:50:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:50:50] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 00:50:50] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 00:50:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 00:50:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:50:50] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:50:50] [INFO]   -> Found value: 2026000611
[2026-03-07 00:50:50] [INFO]   -> Set field 'incidentInternalId' = "2026000611"
[2026-03-07 00:50:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000611"
[2026-03-07 00:50:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:50:50] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-07 00:50:50] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-07 00:50:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:50:50] [INFO]   -> Found value: 8170
[2026-03-07 00:50:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8170
[2026-03-07 00:50:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:50:50] [INFO]   -> Found value: TN
[2026-03-07 00:50:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:50:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:50:50] [INFO]   -> Found value: 38501
[2026-03-07 00:50:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 00:50:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:50:50] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:50:50] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:50:50] [INFO]   -> Found value: 36.28086
[2026-03-07 00:50:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.28085999999999700094122090376913547515869140625
[2026-03-07 00:50:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:50:50] [INFO]   -> Found value: -85.48509
[2026-03-07 00:50:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4850899999999995770849636755883693695068359375
[2026-03-07 00:50:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:50:50] [INFO]   -> Found value: 2026-03-06 18:49:12
[2026-03-07 00:50:50] [INFO]   -> Set field 'alarm' = "2026-03-06 18:49:12"
[2026-03-07 00:50:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:50:50] [INFO]   -> Found value: 2026-03-06 18:49:22
[2026-03-07 00:50:50] [INFO]   -> Set field 'dispatched' = "2026-03-06 18:49:22"
[2026-03-07 00:50:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:50:50] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:50] [INFO]   -> Set field 'enroute' = "2026-03-06 18:50:43"
[2026-03-07 00:50:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:50:50] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:50:50] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:50:50] [INFO]   -> Found value: GRIMSLEY RD/E THOMAS ALLEN RD
[2026-03-07 00:50:50] [INFO]   -> Set field 'incidentLocationCross' = "GRIMSLEY RD\/E THOMAS ALLEN RD"
[2026-03-07 00:50:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:50:50] [INFO]   -> Found value: TK12
[2026-03-07 00:50:50] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 00:50:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:50:50] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:50] [INFO]   -> Set field 'timedispatch' = "2026-03-06 18:50:43"
[2026-03-07 00:50:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:50:50] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:50] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 18:50:43"
[2026-03-07 00:50:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:50:50] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:50:50] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:50:50] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:50:50] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:50:50] [INFO]   -> Found value: 20260024883
[2026-03-07 00:50:50] [INFO]   -> Set field 'policeReportNumber' = "20260024883"
[2026-03-07 00:50:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:50:50] [INFO]   -> Found value: [EMS] HX: SEIZURES  [03/06/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/06/26 1...
[2026-03-07 00:50:50] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:50] [INFO]   -> Set field 'cADLog' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:50:50] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 00:50:50] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 00:50:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:50:50] [INFO]   -> Found value: FAIRVIEW
[2026-03-07 00:50:50] [INFO]   -> Set field 'streetName' = "FAIRVIEW"
[2026-03-07 00:50:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:50:50] [INFO]   -> Found value: RD
[2026-03-07 00:50:50] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 00:50:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:50:50] [INFO]   -> Found value: 8170 FAIRVIEW RD
[2026-03-07 00:50:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8170 FAIRVIEW RD"
[2026-03-07 00:50:50] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 00:50:50] [INFO] Concatenating street name and type
[2026-03-07 00:50:50] [INFO]   -> Combined street name: FAIRVIEW RD
[2026-03-07 00:50:50] [INFO] Built locationCoordinates from lat/lng: 36.28086,-85.48509
[2026-03-07 00:50:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000611","dispatchRunNumber":"2026000611","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":8170,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.28085999999999700094122090376913547515869140625,"nERISIncidentLongitude":-85.4850899999999995770849636755883693695068359375,"alarm":"2026-03-06 18:49:12","dispatched":"2026-03-06 18:49:22","enroute":"2026-03-06 18:50:43","incidentLocationCross":"GRIMSLEY RD\/E THOMAS ALLEN RD","cADVehicleID":"TK12","timedispatch":"2026-03-06 18:50:43","timeenroutetoscene":"2026-03-06 18:50:43","policeReportNumber":"20260024883","dispatchNotes":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","cADLog":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"FAIRVIEW RD","incidentAddressTextVersionStreet":"8170 FAIRVIEW RD","locationCoordinates":"36.28086,-85.48509"}
[2026-03-07 00:50:50] [INFO] Number of extracted fields: 23
[2026-03-07 00:50:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 00:50:50] [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-07 00:50:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 00:50:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:50:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 00:50:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 00:50:50] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 00:50:50] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 00:50:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 00:50:50] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 00:50:50] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 00:50:50] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-07 00:50:50] [INFO] Found existing Dispatch with cADNumber '2026000611', ID: 69ab761c2a02e1b9a - will update instead of create
[2026-03-07 00:50:51] [INFO] Updated existing Dispatches record with ID: 69ab761c2a02e1b9a
[2026-03-07 00:50:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005049.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024883_20260307_005049.XML
[2026-03-07 00:50:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005049.XML
[2026-03-07 00:50:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051.XML
[2026-03-07 00:50:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051.XML for user: 68f1466aed072ad4a
[2026-03-07 00:50:51] [INFO] File size: 6239 bytes
[2026-03-07 00:50:51] [INFO] Created FTPFiles record with ID: 69ab766bb6a272895
[2026-03-07 00:50:51] [INFO] About to extract fields from XML. File size: 6239 bytes
[2026-03-07 00:50:51] [INFO] Number of mappings: 28
[2026-03-07 00:50:51] [INFO] Starting XML parsing. Content length: 6239
[2026-03-07 00:50:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:50:51] [INFO] Processing 28 field mappings
[2026-03-07 00:50:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:50:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:50:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:50:51] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 00:50:51] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 00:50:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 00:50:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:50:51] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:50:51] [INFO]   -> Found value: 2026000611
[2026-03-07 00:50:51] [INFO]   -> Set field 'incidentInternalId' = "2026000611"
[2026-03-07 00:50:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000611"
[2026-03-07 00:50:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:50:51] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-07 00:50:51] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-07 00:50:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:50:51] [INFO]   -> Found value: 8170
[2026-03-07 00:50:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8170
[2026-03-07 00:50:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:50:51] [INFO]   -> Found value: TN
[2026-03-07 00:50:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:50:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:50:51] [INFO]   -> Found value: 38501
[2026-03-07 00:50:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 00:50:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:50:51] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:50:51] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:50:51] [INFO]   -> Found value: 36.28086
[2026-03-07 00:50:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.28085999999999700094122090376913547515869140625
[2026-03-07 00:50:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:50:51] [INFO]   -> Found value: -85.48509
[2026-03-07 00:50:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4850899999999995770849636755883693695068359375
[2026-03-07 00:50:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:50:51] [INFO]   -> Found value: 2026-03-06 18:49:12
[2026-03-07 00:50:51] [INFO]   -> Set field 'alarm' = "2026-03-06 18:49:12"
[2026-03-07 00:50:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:50:51] [INFO]   -> Found value: 2026-03-06 18:49:22
[2026-03-07 00:50:51] [INFO]   -> Set field 'dispatched' = "2026-03-06 18:49:22"
[2026-03-07 00:50:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:50:51] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:51] [INFO]   -> Set field 'enroute' = "2026-03-06 18:50:43"
[2026-03-07 00:50:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:50:51] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:50:51] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:50:51] [INFO]   -> Found value: GRIMSLEY RD/E THOMAS ALLEN RD
[2026-03-07 00:50:51] [INFO]   -> Set field 'incidentLocationCross' = "GRIMSLEY RD\/E THOMAS ALLEN RD"
[2026-03-07 00:50:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:50:51] [INFO]   -> Found value: TK12
[2026-03-07 00:50:51] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 00:50:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:50:51] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:51] [INFO]   -> Set field 'timedispatch' = "2026-03-06 18:50:43"
[2026-03-07 00:50:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:50:51] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:51] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 18:50:43"
[2026-03-07 00:50:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:50:51] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:50:51] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:50:51] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:50:51] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:50:51] [INFO]   -> Found value: 20260024883
[2026-03-07 00:50:51] [INFO]   -> Set field 'policeReportNumber' = "20260024883"
[2026-03-07 00:50:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:50:51] [INFO]   -> Found value: [EMS] HX: SEIZURES  [03/06/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/06/26 1...
[2026-03-07 00:50:51] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:51] [INFO]   -> Set field 'cADLog' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:50:51] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 00:50:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 00:50:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:50:51] [INFO]   -> Found value: FAIRVIEW
[2026-03-07 00:50:51] [INFO]   -> Set field 'streetName' = "FAIRVIEW"
[2026-03-07 00:50:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:50:51] [INFO]   -> Found value: RD
[2026-03-07 00:50:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 00:50:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:50:51] [INFO]   -> Found value: 8170 FAIRVIEW RD
[2026-03-07 00:50:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8170 FAIRVIEW RD"
[2026-03-07 00:50:51] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 00:50:51] [INFO] Concatenating street name and type
[2026-03-07 00:50:51] [INFO]   -> Combined street name: FAIRVIEW RD
[2026-03-07 00:50:51] [INFO] Built locationCoordinates from lat/lng: 36.28086,-85.48509
[2026-03-07 00:50:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000611","dispatchRunNumber":"2026000611","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":8170,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.28085999999999700094122090376913547515869140625,"nERISIncidentLongitude":-85.4850899999999995770849636755883693695068359375,"alarm":"2026-03-06 18:49:12","dispatched":"2026-03-06 18:49:22","enroute":"2026-03-06 18:50:43","incidentLocationCross":"GRIMSLEY RD\/E THOMAS ALLEN RD","cADVehicleID":"TK12","timedispatch":"2026-03-06 18:50:43","timeenroutetoscene":"2026-03-06 18:50:43","policeReportNumber":"20260024883","dispatchNotes":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","cADLog":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"FAIRVIEW RD","incidentAddressTextVersionStreet":"8170 FAIRVIEW RD","locationCoordinates":"36.28086,-85.48509"}
[2026-03-07 00:50:51] [INFO] Number of extracted fields: 23
[2026-03-07 00:50:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 00:50:51] [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-07 00:50:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 00:50:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:50:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 00:50:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 00:50:52] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 00:50:52] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 00:50:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 00:50:52] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 00:50:52] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 00:50:52] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-07 00:50:52] [INFO] Found existing Dispatch with cADNumber '2026000611', ID: 69ab761c2a02e1b9a - will update instead of create
[2026-03-07 00:50:52] [INFO] Updated existing Dispatches record with ID: 69ab761c2a02e1b9a
[2026-03-07 00:50:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024883_20260307_005051.XML
[2026-03-07 00:50:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051.XML
[2026-03-07 00:50:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051_1.XML
[2026-03-07 00:50:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051_1.XML for user: 68f1466aed072ad4a
[2026-03-07 00:50:52] [INFO] File size: 6239 bytes
[2026-03-07 00:50:52] [INFO] Created FTPFiles record with ID: 69ab766cdefadef70
[2026-03-07 00:50:52] [INFO] About to extract fields from XML. File size: 6239 bytes
[2026-03-07 00:50:52] [INFO] Number of mappings: 28
[2026-03-07 00:50:52] [INFO] Starting XML parsing. Content length: 6239
[2026-03-07 00:50:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:50:52] [INFO] Processing 28 field mappings
[2026-03-07 00:50:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:50:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:50:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:50:52] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 00:50:52] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 00:50:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 00:50:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:50:52] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:50:52] [INFO]   -> Found value: 2026000611
[2026-03-07 00:50:52] [INFO]   -> Set field 'incidentInternalId' = "2026000611"
[2026-03-07 00:50:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000611"
[2026-03-07 00:50:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:50:52] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-07 00:50:52] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-07 00:50:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:50:52] [INFO]   -> Found value: 8170
[2026-03-07 00:50:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8170
[2026-03-07 00:50:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:50:52] [INFO]   -> Found value: TN
[2026-03-07 00:50:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:50:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:50:52] [INFO]   -> Found value: 38501
[2026-03-07 00:50:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 00:50:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:50:52] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:50:52] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:50:52] [INFO]   -> Found value: 36.28086
[2026-03-07 00:50:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.28085999999999700094122090376913547515869140625
[2026-03-07 00:50:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:50:52] [INFO]   -> Found value: -85.48509
[2026-03-07 00:50:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4850899999999995770849636755883693695068359375
[2026-03-07 00:50:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:50:52] [INFO]   -> Found value: 2026-03-06 18:49:12
[2026-03-07 00:50:52] [INFO]   -> Set field 'alarm' = "2026-03-06 18:49:12"
[2026-03-07 00:50:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:50:52] [INFO]   -> Found value: 2026-03-06 18:49:22
[2026-03-07 00:50:52] [INFO]   -> Set field 'dispatched' = "2026-03-06 18:49:22"
[2026-03-07 00:50:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:50:52] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:52] [INFO]   -> Set field 'enroute' = "2026-03-06 18:50:43"
[2026-03-07 00:50:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:50:52] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:50:52] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:50:52] [INFO]   -> Found value: GRIMSLEY RD/E THOMAS ALLEN RD
[2026-03-07 00:50:52] [INFO]   -> Set field 'incidentLocationCross' = "GRIMSLEY RD\/E THOMAS ALLEN RD"
[2026-03-07 00:50:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:50:52] [INFO]   -> Found value: TK12
[2026-03-07 00:50:52] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 00:50:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:50:52] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:52] [INFO]   -> Set field 'timedispatch' = "2026-03-06 18:50:43"
[2026-03-07 00:50:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:50:52] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 18:50:43"
[2026-03-07 00:50:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:50:52] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:50:52] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:50:52] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:50:52] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:50:52] [INFO]   -> Found value: 20260024883
[2026-03-07 00:50:52] [INFO]   -> Set field 'policeReportNumber' = "20260024883"
[2026-03-07 00:50:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:50:52] [INFO]   -> Found value: [EMS] HX: SEIZURES  [03/06/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/06/26 1...
[2026-03-07 00:50:52] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:52] [INFO]   -> Set field 'cADLog' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:50:52] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 00:50:52] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 00:50:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:50:52] [INFO]   -> Found value: FAIRVIEW
[2026-03-07 00:50:52] [INFO]   -> Set field 'streetName' = "FAIRVIEW"
[2026-03-07 00:50:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:50:52] [INFO]   -> Found value: RD
[2026-03-07 00:50:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 00:50:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:50:52] [INFO]   -> Found value: 8170 FAIRVIEW RD
[2026-03-07 00:50:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8170 FAIRVIEW RD"
[2026-03-07 00:50:52] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 00:50:52] [INFO] Concatenating street name and type
[2026-03-07 00:50:52] [INFO]   -> Combined street name: FAIRVIEW RD
[2026-03-07 00:50:52] [INFO] Built locationCoordinates from lat/lng: 36.28086,-85.48509
[2026-03-07 00:50:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000611","dispatchRunNumber":"2026000611","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":8170,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.28085999999999700094122090376913547515869140625,"nERISIncidentLongitude":-85.4850899999999995770849636755883693695068359375,"alarm":"2026-03-06 18:49:12","dispatched":"2026-03-06 18:49:22","enroute":"2026-03-06 18:50:43","incidentLocationCross":"GRIMSLEY RD\/E THOMAS ALLEN RD","cADVehicleID":"TK12","timedispatch":"2026-03-06 18:50:43","timeenroutetoscene":"2026-03-06 18:50:43","policeReportNumber":"20260024883","dispatchNotes":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","cADLog":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"FAIRVIEW RD","incidentAddressTextVersionStreet":"8170 FAIRVIEW RD","locationCoordinates":"36.28086,-85.48509"}
[2026-03-07 00:50:52] [INFO] Number of extracted fields: 23
[2026-03-07 00:50:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 00:50:52] [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-07 00:50:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 00:50:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:50:53] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 00:50:53] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 00:50:53] [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-07 00:50:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 00:50:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 00:50:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 00:50:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 00:50:53] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-07 00:50:53] [INFO] Found existing Dispatch with cADNumber '2026000611', ID: 69ab761c2a02e1b9a - will update instead of create
[2026-03-07 00:50:53] [INFO] Updated existing Dispatches record with ID: 69ab761c2a02e1b9a
[2026-03-07 00:50:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024883_20260307_005051_1.XML
[2026-03-07 00:50:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005051_1.XML
[2026-03-07 00:50:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005053.XML
[2026-03-07 00:50:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005053.XML for user: 68f1466aed072ad4a
[2026-03-07 00:50:53] [INFO] File size: 6239 bytes
[2026-03-07 00:50:54] [INFO] Created FTPFiles record with ID: 69ab766e1098f2a32
[2026-03-07 00:50:54] [INFO] About to extract fields from XML. File size: 6239 bytes
[2026-03-07 00:50:54] [INFO] Number of mappings: 28
[2026-03-07 00:50:54] [INFO] Starting XML parsing. Content length: 6239
[2026-03-07 00:50:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 00:50:54] [INFO] Processing 28 field mappings
[2026-03-07 00:50:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 00:50:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 00:50:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 00:50:54] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 00:50:54] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 00:50:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 00:50:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 00:50:54] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 00:50:54] [INFO]   -> Found value: 2026000611
[2026-03-07 00:50:54] [INFO]   -> Set field 'incidentInternalId' = "2026000611"
[2026-03-07 00:50:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000611"
[2026-03-07 00:50:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 00:50:54] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-07 00:50:54] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-07 00:50:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 00:50:54] [INFO]   -> Found value: 8170
[2026-03-07 00:50:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8170
[2026-03-07 00:50:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 00:50:54] [INFO]   -> Found value: TN
[2026-03-07 00:50:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 00:50:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 00:50:54] [INFO]   -> Found value: 38501
[2026-03-07 00:50:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 00:50:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 00:50:54] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 00:50:54] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 00:50:54] [INFO]   -> Found value: 36.28086
[2026-03-07 00:50:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.28085999999999700094122090376913547515869140625
[2026-03-07 00:50:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 00:50:54] [INFO]   -> Found value: -85.48509
[2026-03-07 00:50:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4850899999999995770849636755883693695068359375
[2026-03-07 00:50:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 00:50:54] [INFO]   -> Found value: 2026-03-06 18:49:12
[2026-03-07 00:50:54] [INFO]   -> Set field 'alarm' = "2026-03-06 18:49:12"
[2026-03-07 00:50:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 00:50:54] [INFO]   -> Found value: 2026-03-06 18:49:22
[2026-03-07 00:50:54] [INFO]   -> Set field 'dispatched' = "2026-03-06 18:49:22"
[2026-03-07 00:50:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 00:50:54] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:54] [INFO]   -> Set field 'enroute' = "2026-03-06 18:50:43"
[2026-03-07 00:50:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 00:50:54] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 00:50:54] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 00:50:54] [INFO]   -> Found value: GRIMSLEY RD/E THOMAS ALLEN RD
[2026-03-07 00:50:54] [INFO]   -> Set field 'incidentLocationCross' = "GRIMSLEY RD\/E THOMAS ALLEN RD"
[2026-03-07 00:50:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 00:50:54] [INFO]   -> Found value: TK12
[2026-03-07 00:50:54] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 00:50:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 00:50:54] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:54] [INFO]   -> Set field 'timedispatch' = "2026-03-06 18:50:43"
[2026-03-07 00:50:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 00:50:54] [INFO]   -> Found value: 2026-03-06 18:50:43
[2026-03-07 00:50:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 18:50:43"
[2026-03-07 00:50:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 00:50:54] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 00:50:54] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 00:50:54] [INFO]   -> No value found (null or empty)
[2026-03-07 00:50:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 00:50:54] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 00:50:54] [INFO]   -> Found value: 20260024883
[2026-03-07 00:50:54] [INFO]   -> Set field 'policeReportNumber' = "20260024883"
[2026-03-07 00:50:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 00:50:54] [INFO]   -> Found value: [EMS] HX: SEIZURES  [03/06/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/06/26 1...
[2026-03-07 00:50:54] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:54] [INFO]   -> Set field 'cADLog' = "[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]"
[2026-03-07 00:50:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 00:50:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 00:50:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 00:50:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 00:50:54] [INFO]   -> Found value: FAIRVIEW
[2026-03-07 00:50:54] [INFO]   -> Set field 'streetName' = "FAIRVIEW"
[2026-03-07 00:50:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 00:50:54] [INFO]   -> Found value: RD
[2026-03-07 00:50:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 00:50:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 00:50:54] [INFO]   -> Found value: 8170 FAIRVIEW RD
[2026-03-07 00:50:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8170 FAIRVIEW RD"
[2026-03-07 00:50:54] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 00:50:54] [INFO] Concatenating street name and type
[2026-03-07 00:50:54] [INFO]   -> Combined street name: FAIRVIEW RD
[2026-03-07 00:50:54] [INFO] Built locationCoordinates from lat/lng: 36.28086,-85.48509
[2026-03-07 00:50:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000611","dispatchRunNumber":"2026000611","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":8170,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.28085999999999700094122090376913547515869140625,"nERISIncidentLongitude":-85.4850899999999995770849636755883693695068359375,"alarm":"2026-03-06 18:49:12","dispatched":"2026-03-06 18:49:22","enroute":"2026-03-06 18:50:43","incidentLocationCross":"GRIMSLEY RD\/E THOMAS ALLEN RD","cADVehicleID":"TK12","timedispatch":"2026-03-06 18:50:43","timeenroutetoscene":"2026-03-06 18:50:43","policeReportNumber":"20260024883","dispatchNotes":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","cADLog":"[EMS] HX: SEIZURES  [03\/06\/26 18:50:00 DSTEPHENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/06\/26 18:49:31 RMAYNARD] Event spawned from UNCONSCIOUS.  [03\/06\/2026 18:49:12 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"FAIRVIEW RD","incidentAddressTextVersionStreet":"8170 FAIRVIEW RD","locationCoordinates":"36.28086,-85.48509"}
[2026-03-07 00:50:54] [INFO] Number of extracted fields: 23
[2026-03-07 00:50:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 00:50:54] [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-07 00:50:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 00:50:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 00:50:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 00:50:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 00:50: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-07 00:50: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-07 00:50:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 00:50:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 00:50:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 00:50:54] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-07 00:50:54] [INFO] Found existing Dispatch with cADNumber '2026000611', ID: 69ab761c2a02e1b9a - will update instead of create
[2026-03-07 00:50:54] [INFO] Updated existing Dispatches record with ID: 69ab761c2a02e1b9a
[2026-03-07 00:50:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005053.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024883_20260307_005053.XML
[2026-03-07 00:50:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024883_20260307_005053.XML
[2026-03-07 02:19:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml
[2026-03-07 02:19:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml for user: 69320e6a9e3e5ef71
[2026-03-07 02:19:21] [INFO] File size: 15407 bytes
[2026-03-07 02:19:22] [INFO] Created FTPFiles record with ID: 69ab8b2a044a96e70
[2026-03-07 02:19:22] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-07 02:19:22] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-07
[2026-03-07 02:19:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-07/cfs_2026-015151.xml
[2026-03-07 02:19:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml
[2026-03-07 02:32:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml
[2026-03-07 02:32:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml for user: 69320e6a9e3e5ef71
[2026-03-07 02:32:33] [INFO] File size: 36302 bytes
[2026-03-07 02:32:34] [INFO] Created FTPFiles record with ID: 69ab8e4214236fd6e
[2026-03-07 02:32:34] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-07 02:32:34] [INFO] File already exists in archive, using unique name: cfs_2026-015151_1772850754.xml
[2026-03-07 02:32:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-07/cfs_2026-015151_1772850754.xml
[2026-03-07 02:32:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml
[2026-03-07 02:32:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml
[2026-03-07 02:32:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml for user: 69320e6a9e3e5ef71
[2026-03-07 02:32:35] [INFO] File size: 37359 bytes
[2026-03-07 02:32:35] [INFO] Created FTPFiles record with ID: 69ab8e43979b7a261
[2026-03-07 02:32:35] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-07 02:32:35] [INFO] File already exists in archive, using unique name: cfs_2026-015151_1772850755.xml
[2026-03-07 02:32:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-07/cfs_2026-015151_1772850755.xml
[2026-03-07 02:32:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-015151.xml
[2026-03-07 03:17:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_031719.XML
[2026-03-07 03:17:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_031719.XML for user: 68f1466aed072ad4a
[2026-03-07 03:17:19] [INFO] File size: 5369 bytes
[2026-03-07 03:17:20] [INFO] Created FTPFiles record with ID: 69ab98c02c1c89ec7
[2026-03-07 03:17:20] [INFO] About to extract fields from XML. File size: 5369 bytes
[2026-03-07 03:17:20] [INFO] Number of mappings: 28
[2026-03-07 03:17:20] [INFO] Starting XML parsing. Content length: 5369
[2026-03-07 03:17:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:17:20] [INFO] Processing 28 field mappings
[2026-03-07 03:17:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:17:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:17:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:17:20] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 03:17:20] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 03:17:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 03:17:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:17:20] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:17:20] [INFO]   -> Found value: 2026000612
[2026-03-07 03:17:20] [INFO]   -> Set field 'incidentInternalId' = "2026000612"
[2026-03-07 03:17:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000612"
[2026-03-07 03:17:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:17:20] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:17:20] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:17:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:17:20] [INFO]   -> Found value: 3850
[2026-03-07 03:17:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3850
[2026-03-07 03:17:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:17:20] [INFO]   -> Found value: TN
[2026-03-07 03:17:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:17:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:17:20] [INFO]   -> Found value: 38501
[2026-03-07 03:17:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:17:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:17:20] [INFO]   -> Found value: JEHOVAHS WITNESS
[2026-03-07 03:17:20] [INFO]   -> Set field 'businessName' = "JEHOVAHS WITNESS"
[2026-03-07 03:17:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:17:20] [INFO]   -> Found value: 36.20791
[2026-03-07 03:17:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.207909999999998262865119613707065582275390625
[2026-03-07 03:17:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:17:20] [INFO]   -> Found value: -85.55251
[2026-03-07 03:17:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5525099999999980582288117147982120513916015625
[2026-03-07 03:17:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:17:20] [INFO]   -> Found value: 2026-03-06 21:16:57
[2026-03-07 03:17:20] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:57"
[2026-03-07 03:17:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:17:20] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:17:20] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:17"
[2026-03-07 03:17:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:17:20] [INFO]   -> Found value: COUNTY FARM RD/CHESTER KING RD
[2026-03-07 03:17:20] [INFO]   -> Set field 'incidentLocationCross' = "COUNTY FARM RD\/CHESTER KING RD"
[2026-03-07 03:17:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:17:20] [INFO]   -> Found value: PCFR
[2026-03-07 03:17:20] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:17:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:17:20] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:17:20] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:17"
[2026-03-07 03:17:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:17:20] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:17:20] [INFO]   -> Found value: 20260024941
[2026-03-07 03:17:20] [INFO]   -> Set field 'policeReportNumber' = "20260024941"
[2026-03-07 03:17:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:17:20] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPIN...
[2026-03-07 03:17:20] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:17:20] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:17:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:17:20] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:17:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:17:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:17:20] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-07 03:17:20] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-07 03:17:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:17:20] [INFO]   -> No value found (null or empty)
[2026-03-07 03:17:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:17:20] [INFO]   -> Found value: 3850 GAINESBORO GRADE
[2026-03-07 03:17:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3850 GAINESBORO GRADE"
[2026-03-07 03:17:20] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 03:17:20] [INFO] Built locationCoordinates from lat/lng: 36.20791,-85.55251
[2026-03-07 03:17:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000612","dispatchRunNumber":"2026000612","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JEHOVAHS WITNESS","nERISIncidentLatitude":36.207909999999998262865119613707065582275390625,"nERISIncidentLongitude":-85.5525099999999980582288117147982120513916015625,"alarm":"2026-03-06 21:16:57","dispatched":"2026-03-06 21:17:17","incidentLocationCross":"COUNTY FARM RD\/CHESTER KING RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:17:17","policeReportNumber":"20260024941","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"3850 GAINESBORO GRADE","locationCoordinates":"36.20791,-85.55251"}
[2026-03-07 03:17:20] [INFO] Number of extracted fields: 22
[2026-03-07 03:17:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 03:17:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 03:17:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 03:17:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:17:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:17:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 03:17: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-07 03:17: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-07 03:17:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 03:17:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:17:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:17:20] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:17:30] [INFO] Created new Dispatches record with ID: 69ab98c0ebbc6f696
[2026-03-07 03:17:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_031719.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024941_20260307_031719.XML
[2026-03-07 03:17:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_031719.XML
[2026-03-07 03:18:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_031805.XML
[2026-03-07 03:18:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_031805.XML for user: 68f1466aed072ad4a
[2026-03-07 03:18:05] [INFO] File size: 5007 bytes
[2026-03-07 03:18:05] [INFO] Created FTPFiles record with ID: 69ab98ed9fe9d1251
[2026-03-07 03:18:05] [INFO] About to extract fields from XML. File size: 5007 bytes
[2026-03-07 03:18:05] [INFO] Number of mappings: 28
[2026-03-07 03:18:05] [INFO] Starting XML parsing. Content length: 5007
[2026-03-07 03:18:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:18:05] [INFO] Processing 28 field mappings
[2026-03-07 03:18:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:18:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:18:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:18:05] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-07 03:18:05] [INFO]   -> Found value: MFD
EMS
[2026-03-07 03:18:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-03-07 03:18:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:18:05] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:18:05] [INFO]   -> Found value: 2026000083
[2026-03-07 03:18:05] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-07 03:18:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-07 03:18:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:18:05] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:18:05] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:18:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:18:05] [INFO]   -> Found value: 701
[2026-03-07 03:18:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:18:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:18:05] [INFO]   -> Found value: TN
[2026-03-07 03:18:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:18:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:18:05] [INFO]   -> Found value: 38574
[2026-03-07 03:18:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:18:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:18:05] [INFO]   -> Found value: 36.14956
[2026-03-07 03:18:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:18:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:18:05] [INFO]   -> Found value: -85.25942
[2026-03-07 03:18:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:18:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:18:05] [INFO]   -> Found value: 2026-03-06 21:16:47
[2026-03-07 03:18:05] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:47"
[2026-03-07 03:18:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:18:05] [INFO]   -> Found value: 2026-03-06 21:17:59
[2026-03-07 03:18:05] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:59"
[2026-03-07 03:18:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:18:05] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:18:05] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:18:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:18:05] [INFO]   -> Found value: MFR
[2026-03-07 03:18:05] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 03:18:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:18:05] [INFO]   -> Found value: 2026-03-06 21:17:59
[2026-03-07 03:18:05] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:59"
[2026-03-07 03:18:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:18:05] [INFO]   -> No value found (null or empty)
[2026-03-07 03:18:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:18:05] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:18:05] [INFO]   -> Found value: 20260024940
[2026-03-07 03:18:05] [INFO]   -> Set field 'policeReportNumber' = "20260024940"
[2026-03-07 03:18:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:18:05] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:16:47 SVOKOUN2]
[2026-03-07 03:18:05] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:18:05] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:18:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:18:05] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:18:05] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:18:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:18:05] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:18:05] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:18:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:18:05] [INFO]   -> Found value: DR
[2026-03-07 03:18:05] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:18:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:18:05] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:18:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:18:05] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 03:18:05] [INFO] Concatenating street name and type
[2026-03-07 03:18:05] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:18:05] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:18:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:16:47","dispatched":"2026-03-06 21:17:59","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"MFR","timedispatch":"2026-03-06 21:17:59","policeReportNumber":"20260024940","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:18:05] [INFO] Number of extracted fields: 21
[2026-03-07 03:18:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-03-07 03:18:05] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-07 03:18:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-03-07 03:18:05] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:18:05] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 03:18:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-07 03:18:05] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 03:18:05] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 03:18:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-07 03:18:05] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 03:18:06] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 03:18:06] [INFO] Found existing IncidentTypeMapping with ID: 694c0ab27eb6ebd01
[2026-03-07 03:18:08] [INFO] Created new Dispatches record with ID: 69ab98ee8d7aede66
[2026-03-07 03:18:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_031805.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260024940_20260307_031805.XML
[2026-03-07 03:18:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_031805.XML
[2026-03-07 03:22:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032210.XML
[2026-03-07 03:22:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032210.XML for user: 68f1466aed072ad4a
[2026-03-07 03:22:10] [INFO] File size: 5634 bytes
[2026-03-07 03:22:11] [INFO] Created FTPFiles record with ID: 69ab99e31e62fb040
[2026-03-07 03:22:11] [INFO] About to extract fields from XML. File size: 5634 bytes
[2026-03-07 03:22:11] [INFO] Number of mappings: 28
[2026-03-07 03:22:11] [INFO] Starting XML parsing. Content length: 5634
[2026-03-07 03:22:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:22:11] [INFO] Processing 28 field mappings
[2026-03-07 03:22:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:22:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:22:11] [INFO]   -> Found value: PCFD
[2026-03-07 03:22:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 03:22:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:22:11] [INFO]   -> Found value: 2026000612
[2026-03-07 03:22:11] [INFO]   -> Set field 'incidentInternalId' = "2026000612"
[2026-03-07 03:22:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000612"
[2026-03-07 03:22:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:22:11] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:22:11] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:22:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:22:11] [INFO]   -> Found value: 3850
[2026-03-07 03:22:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3850
[2026-03-07 03:22:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:22:11] [INFO]   -> Found value: TN
[2026-03-07 03:22:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:22:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:22:11] [INFO]   -> Found value: 38501
[2026-03-07 03:22:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:22:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:22:11] [INFO]   -> Found value: JEHOVAHS WITNESS
[2026-03-07 03:22:11] [INFO]   -> Set field 'businessName' = "JEHOVAHS WITNESS"
[2026-03-07 03:22:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:22:11] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:22:11] [INFO]   -> Found value: 36.20791
[2026-03-07 03:22:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.207909999999998262865119613707065582275390625
[2026-03-07 03:22:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:22:11] [INFO]   -> Found value: -85.55251
[2026-03-07 03:22:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5525099999999980582288117147982120513916015625
[2026-03-07 03:22:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:22:11] [INFO]   -> Found value: 2026-03-06 21:16:57
[2026-03-07 03:22:11] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:57"
[2026-03-07 03:22:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:22:11] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:11] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:17"
[2026-03-07 03:22:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:22:11] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:22:11] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:22:11] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:11] [INFO]   -> Set field 'cleared' = "2026-03-06 21:21:52"
[2026-03-07 03:22:11] [INFO]   -> Set field 'inService' = "2026-03-06 21:21:52"
[2026-03-07 03:22:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:22:11] [INFO]   -> Found value: COUNTY FARM RD/CHESTER KING RD
[2026-03-07 03:22:11] [INFO]   -> Set field 'incidentLocationCross' = "COUNTY FARM RD\/CHESTER KING RD"
[2026-03-07 03:22:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:22:11] [INFO]   -> Found value: PCFR
[2026-03-07 03:22:11] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:22:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:22:11] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:11] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:17"
[2026-03-07 03:22:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:22:11] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:22:11] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:22:11] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:11] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:21:52"
[2026-03-07 03:22:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:22:11] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:22:11] [INFO]   -> Found value: 20260024941
[2026-03-07 03:22:11] [INFO]   -> Set field 'policeReportNumber' = "20260024941"
[2026-03-07 03:22:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:22:11] [INFO]   -> Found value: [EMS] UDTS: {729} UNIT DIRECT  [03/06/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BA...
[2026-03-07 03:22:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:11] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:22:11] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:22:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:22:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:22:11] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-07 03:22:11] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-07 03:22:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:22:11] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:22:11] [INFO]   -> Found value: 3850 GAINESBORO GRADE
[2026-03-07 03:22:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3850 GAINESBORO GRADE"
[2026-03-07 03:22:11] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 03:22:11] [INFO] Built locationCoordinates from lat/lng: 36.20791,-85.55251
[2026-03-07 03:22:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000612","dispatchRunNumber":"2026000612","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JEHOVAHS WITNESS","nERISIncidentLatitude":36.207909999999998262865119613707065582275390625,"nERISIncidentLongitude":-85.5525099999999980582288117147982120513916015625,"alarm":"2026-03-06 21:16:57","dispatched":"2026-03-06 21:17:17","cleared":"2026-03-06 21:21:52","inService":"2026-03-06 21:21:52","incidentLocationCross":"COUNTY FARM RD\/CHESTER KING RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:17:17","timeunitclear":"2026-03-06 21:21:52","policeReportNumber":"20260024941","dispatchNotes":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","cADLog":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"3850 GAINESBORO GRADE","locationCoordinates":"36.20791,-85.55251"}
[2026-03-07 03:22:11] [INFO] Number of extracted fields: 25
[2026-03-07 03:22:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 03:22:11] [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-07 03:22:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 03:22:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:22:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:22: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-07 03:22: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-07 03:22:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:22:11] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:22:11] [INFO] Found existing Dispatch with cADNumber '2026000612', ID: 69ab98c0ebbc6f696 - will update instead of create
[2026-03-07 03:22:11] [INFO] Updated existing Dispatches record with ID: 69ab98c0ebbc6f696
[2026-03-07 03:22:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032210.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024941_20260307_032210.XML
[2026-03-07 03:22:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032210.XML
[2026-03-07 03:22:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032211.XML
[2026-03-07 03:22:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032211.XML for user: 68f1466aed072ad4a
[2026-03-07 03:22:12] [INFO] File size: 5634 bytes
[2026-03-07 03:22:12] [INFO] Created FTPFiles record with ID: 69ab99e446cc68d09
[2026-03-07 03:22:12] [INFO] About to extract fields from XML. File size: 5634 bytes
[2026-03-07 03:22:12] [INFO] Number of mappings: 28
[2026-03-07 03:22:12] [INFO] Starting XML parsing. Content length: 5634
[2026-03-07 03:22:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:22:12] [INFO] Processing 28 field mappings
[2026-03-07 03:22:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:22:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:22:12] [INFO]   -> Found value: PCFD
[2026-03-07 03:22:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 03:22:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:22:12] [INFO]   -> Found value: 2026000612
[2026-03-07 03:22:12] [INFO]   -> Set field 'incidentInternalId' = "2026000612"
[2026-03-07 03:22:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000612"
[2026-03-07 03:22:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:22:12] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:22:12] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:22:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:22:12] [INFO]   -> Found value: 3850
[2026-03-07 03:22:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3850
[2026-03-07 03:22:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:22:12] [INFO]   -> Found value: TN
[2026-03-07 03:22:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:22:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:22:12] [INFO]   -> Found value: 38501
[2026-03-07 03:22:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:22:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:22:12] [INFO]   -> Found value: JEHOVAHS WITNESS
[2026-03-07 03:22:12] [INFO]   -> Set field 'businessName' = "JEHOVAHS WITNESS"
[2026-03-07 03:22:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:22:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:22:12] [INFO]   -> Found value: 36.20791
[2026-03-07 03:22:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.207909999999998262865119613707065582275390625
[2026-03-07 03:22:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:22:12] [INFO]   -> Found value: -85.55251
[2026-03-07 03:22:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5525099999999980582288117147982120513916015625
[2026-03-07 03:22:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:22:12] [INFO]   -> Found value: 2026-03-06 21:16:57
[2026-03-07 03:22:12] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:57"
[2026-03-07 03:22:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:22:12] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:12] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:17"
[2026-03-07 03:22:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:22:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:22:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:22:12] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:12] [INFO]   -> Set field 'cleared' = "2026-03-06 21:21:52"
[2026-03-07 03:22:12] [INFO]   -> Set field 'inService' = "2026-03-06 21:21:52"
[2026-03-07 03:22:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:22:12] [INFO]   -> Found value: COUNTY FARM RD/CHESTER KING RD
[2026-03-07 03:22:12] [INFO]   -> Set field 'incidentLocationCross' = "COUNTY FARM RD\/CHESTER KING RD"
[2026-03-07 03:22:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:22:12] [INFO]   -> Found value: PCFR
[2026-03-07 03:22:12] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:22:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:22:12] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:12] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:17"
[2026-03-07 03:22:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:22:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:22:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:22:12] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:12] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:21:52"
[2026-03-07 03:22:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:22:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:22:12] [INFO]   -> Found value: 20260024941
[2026-03-07 03:22:12] [INFO]   -> Set field 'policeReportNumber' = "20260024941"
[2026-03-07 03:22:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:22:12] [INFO]   -> Found value: [EMS] UDTS: {729} UNIT DIRECT  [03/06/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BA...
[2026-03-07 03:22:12] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:12] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:22:12] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:22:12] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:22:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:22:12] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-07 03:22:12] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-07 03:22:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:22:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:22:12] [INFO]   -> Found value: 3850 GAINESBORO GRADE
[2026-03-07 03:22:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3850 GAINESBORO GRADE"
[2026-03-07 03:22:12] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 03:22:12] [INFO] Built locationCoordinates from lat/lng: 36.20791,-85.55251
[2026-03-07 03:22:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000612","dispatchRunNumber":"2026000612","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JEHOVAHS WITNESS","nERISIncidentLatitude":36.207909999999998262865119613707065582275390625,"nERISIncidentLongitude":-85.5525099999999980582288117147982120513916015625,"alarm":"2026-03-06 21:16:57","dispatched":"2026-03-06 21:17:17","cleared":"2026-03-06 21:21:52","inService":"2026-03-06 21:21:52","incidentLocationCross":"COUNTY FARM RD\/CHESTER KING RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:17:17","timeunitclear":"2026-03-06 21:21:52","policeReportNumber":"20260024941","dispatchNotes":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","cADLog":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"3850 GAINESBORO GRADE","locationCoordinates":"36.20791,-85.55251"}
[2026-03-07 03:22:12] [INFO] Number of extracted fields: 25
[2026-03-07 03:22:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 03:22: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-07 03:22:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 03:22:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:22:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:22: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-07 03:22: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-07 03:22:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:22:15] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:22:15] [INFO] Found existing Dispatch with cADNumber '2026000612', ID: 69ab98c0ebbc6f696 - will update instead of create
[2026-03-07 03:22:16] [INFO] Updated existing Dispatches record with ID: 69ab98c0ebbc6f696
[2026-03-07 03:22:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032211.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024941_20260307_032211.XML
[2026-03-07 03:22:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032211.XML
[2026-03-07 03:22:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215.XML
[2026-03-07 03:22:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215.XML for user: 68f1466aed072ad4a
[2026-03-07 03:22:16] [INFO] File size: 5634 bytes
[2026-03-07 03:22:16] [INFO] Created FTPFiles record with ID: 69ab99e84fae7afeb
[2026-03-07 03:22:16] [INFO] About to extract fields from XML. File size: 5634 bytes
[2026-03-07 03:22:16] [INFO] Number of mappings: 28
[2026-03-07 03:22:16] [INFO] Starting XML parsing. Content length: 5634
[2026-03-07 03:22:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:22:16] [INFO] Processing 28 field mappings
[2026-03-07 03:22:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:22:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:22:16] [INFO]   -> Found value: PCFD
[2026-03-07 03:22:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 03:22:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:22:16] [INFO]   -> Found value: 2026000612
[2026-03-07 03:22:16] [INFO]   -> Set field 'incidentInternalId' = "2026000612"
[2026-03-07 03:22:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000612"
[2026-03-07 03:22:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:22:16] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:22:16] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:22:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:22:16] [INFO]   -> Found value: 3850
[2026-03-07 03:22:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3850
[2026-03-07 03:22:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:22:16] [INFO]   -> Found value: TN
[2026-03-07 03:22:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:22:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:22:16] [INFO]   -> Found value: 38501
[2026-03-07 03:22:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:22:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:22:16] [INFO]   -> Found value: JEHOVAHS WITNESS
[2026-03-07 03:22:16] [INFO]   -> Set field 'businessName' = "JEHOVAHS WITNESS"
[2026-03-07 03:22:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:22:16] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:22:16] [INFO]   -> Found value: 36.20791
[2026-03-07 03:22:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.207909999999998262865119613707065582275390625
[2026-03-07 03:22:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:22:16] [INFO]   -> Found value: -85.55251
[2026-03-07 03:22:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5525099999999980582288117147982120513916015625
[2026-03-07 03:22:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:22:16] [INFO]   -> Found value: 2026-03-06 21:16:57
[2026-03-07 03:22:16] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:57"
[2026-03-07 03:22:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:22:16] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:16] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:17"
[2026-03-07 03:22:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:22:16] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:22:16] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:22:16] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:16] [INFO]   -> Set field 'cleared' = "2026-03-06 21:21:52"
[2026-03-07 03:22:16] [INFO]   -> Set field 'inService' = "2026-03-06 21:21:52"
[2026-03-07 03:22:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:22:16] [INFO]   -> Found value: COUNTY FARM RD/CHESTER KING RD
[2026-03-07 03:22:16] [INFO]   -> Set field 'incidentLocationCross' = "COUNTY FARM RD\/CHESTER KING RD"
[2026-03-07 03:22:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:22:16] [INFO]   -> Found value: PCFR
[2026-03-07 03:22:16] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:22:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:22:16] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:16] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:17"
[2026-03-07 03:22:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:22:16] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:22:16] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:22:16] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:16] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:21:52"
[2026-03-07 03:22:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:22:16] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:22:16] [INFO]   -> Found value: 20260024941
[2026-03-07 03:22:16] [INFO]   -> Set field 'policeReportNumber' = "20260024941"
[2026-03-07 03:22:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:22:16] [INFO]   -> Found value: [EMS] UDTS: {729} UNIT DIRECT  [03/06/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BA...
[2026-03-07 03:22:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:16] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:22:16] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:22:16] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:22:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:22:16] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-07 03:22:16] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-07 03:22:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:22:16] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:22:16] [INFO]   -> Found value: 3850 GAINESBORO GRADE
[2026-03-07 03:22:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3850 GAINESBORO GRADE"
[2026-03-07 03:22:16] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 03:22:16] [INFO] Built locationCoordinates from lat/lng: 36.20791,-85.55251
[2026-03-07 03:22:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000612","dispatchRunNumber":"2026000612","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JEHOVAHS WITNESS","nERISIncidentLatitude":36.207909999999998262865119613707065582275390625,"nERISIncidentLongitude":-85.5525099999999980582288117147982120513916015625,"alarm":"2026-03-06 21:16:57","dispatched":"2026-03-06 21:17:17","cleared":"2026-03-06 21:21:52","inService":"2026-03-06 21:21:52","incidentLocationCross":"COUNTY FARM RD\/CHESTER KING RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:17:17","timeunitclear":"2026-03-06 21:21:52","policeReportNumber":"20260024941","dispatchNotes":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","cADLog":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"3850 GAINESBORO GRADE","locationCoordinates":"36.20791,-85.55251"}
[2026-03-07 03:22:16] [INFO] Number of extracted fields: 25
[2026-03-07 03:22:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 03:22: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-07 03:22:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 03:22:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:22:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:22: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-07 03:22: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-07 03:22:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:22:16] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:22:17] [INFO] Found existing Dispatch with cADNumber '2026000612', ID: 69ab98c0ebbc6f696 - will update instead of create
[2026-03-07 03:22:17] [INFO] Updated existing Dispatches record with ID: 69ab98c0ebbc6f696
[2026-03-07 03:22:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024941_20260307_032215.XML
[2026-03-07 03:22:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215.XML
[2026-03-07 03:22:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215_1.XML
[2026-03-07 03:22:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215_1.XML for user: 68f1466aed072ad4a
[2026-03-07 03:22:17] [INFO] File size: 5634 bytes
[2026-03-07 03:22:17] [INFO] Created FTPFiles record with ID: 69ab99e99bfbcc261
[2026-03-07 03:22:17] [INFO] About to extract fields from XML. File size: 5634 bytes
[2026-03-07 03:22:17] [INFO] Number of mappings: 28
[2026-03-07 03:22:17] [INFO] Starting XML parsing. Content length: 5634
[2026-03-07 03:22:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:22:17] [INFO] Processing 28 field mappings
[2026-03-07 03:22:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:22:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:22:17] [INFO]   -> Found value: PCFD
[2026-03-07 03:22:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 03:22:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:22:17] [INFO]   -> Found value: 2026000612
[2026-03-07 03:22:17] [INFO]   -> Set field 'incidentInternalId' = "2026000612"
[2026-03-07 03:22:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000612"
[2026-03-07 03:22:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:22:17] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:22:17] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:22:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:22:17] [INFO]   -> Found value: 3850
[2026-03-07 03:22:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3850
[2026-03-07 03:22:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:22:17] [INFO]   -> Found value: TN
[2026-03-07 03:22:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:22:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:22:17] [INFO]   -> Found value: 38501
[2026-03-07 03:22:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:22:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:22:17] [INFO]   -> Found value: JEHOVAHS WITNESS
[2026-03-07 03:22:17] [INFO]   -> Set field 'businessName' = "JEHOVAHS WITNESS"
[2026-03-07 03:22:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:22:17] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:22:17] [INFO]   -> Found value: 36.20791
[2026-03-07 03:22:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.207909999999998262865119613707065582275390625
[2026-03-07 03:22:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:22:17] [INFO]   -> Found value: -85.55251
[2026-03-07 03:22:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5525099999999980582288117147982120513916015625
[2026-03-07 03:22:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:22:17] [INFO]   -> Found value: 2026-03-06 21:16:57
[2026-03-07 03:22:17] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:57"
[2026-03-07 03:22:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:22:17] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:17] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:17"
[2026-03-07 03:22:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:22:17] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:22:17] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:22:17] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:17] [INFO]   -> Set field 'cleared' = "2026-03-06 21:21:52"
[2026-03-07 03:22:17] [INFO]   -> Set field 'inService' = "2026-03-06 21:21:52"
[2026-03-07 03:22:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:22:17] [INFO]   -> Found value: COUNTY FARM RD/CHESTER KING RD
[2026-03-07 03:22:17] [INFO]   -> Set field 'incidentLocationCross' = "COUNTY FARM RD\/CHESTER KING RD"
[2026-03-07 03:22:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:22:17] [INFO]   -> Found value: PCFR
[2026-03-07 03:22:17] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:22:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:22:17] [INFO]   -> Found value: 2026-03-06 21:17:17
[2026-03-07 03:22:17] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:17"
[2026-03-07 03:22:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:22:17] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:22:17] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:22:17] [INFO]   -> Found value: 2026-03-06 21:21:52
[2026-03-07 03:22:17] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:21:52"
[2026-03-07 03:22:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:22:17] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:22:17] [INFO]   -> Found value: 20260024941
[2026-03-07 03:22:17] [INFO]   -> Set field 'policeReportNumber' = "20260024941"
[2026-03-07 03:22:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:22:17] [INFO]   -> Found value: [EMS] UDTS: {729} UNIT DIRECT  [03/06/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BA...
[2026-03-07 03:22:17] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:17] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]"
[2026-03-07 03:22:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:22:17] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:22:17] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:22:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:22:17] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-07 03:22:17] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-07 03:22:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:22:17] [INFO]   -> No value found (null or empty)
[2026-03-07 03:22:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:22:17] [INFO]   -> Found value: 3850 GAINESBORO GRADE
[2026-03-07 03:22:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3850 GAINESBORO GRADE"
[2026-03-07 03:22:17] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 03:22:17] [INFO] Built locationCoordinates from lat/lng: 36.20791,-85.55251
[2026-03-07 03:22:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000612","dispatchRunNumber":"2026000612","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3850,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JEHOVAHS WITNESS","nERISIncidentLatitude":36.207909999999998262865119613707065582275390625,"nERISIncidentLongitude":-85.5525099999999980582288117147982120513916015625,"alarm":"2026-03-06 21:16:57","dispatched":"2026-03-06 21:17:17","cleared":"2026-03-06 21:21:52","inService":"2026-03-06 21:21:52","incidentLocationCross":"COUNTY FARM RD\/CHESTER KING RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:17:17","timeunitclear":"2026-03-06 21:21:52","policeReportNumber":"20260024941","dispatchNotes":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","cADLog":"[EMS] UDTS: {729} UNIT DIRECT  [03\/06\/26 21:21:18 BPICHE] [EMS] COULD HEAR THE BABY CRYING IN THE BACKGROUND  [03\/06\/26 21:18:29 TSCOTT] [EMS] CALLER WILL BE IN A BLK NISS ROGUE  [03\/06\/26 21:17:47 TSCOTT] [EMS] HAS RECENTLY HAD HAND  FOOT  AND MOUTH - BABY WAS FINE BEFORE SHE WAS BEING LAID DOWN FOR BED  [03\/06\/26 21:17:37 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:57 TSCOTT] 9 MONTH OLD FEMALE  WAS SLEEPING IN HER CRIB FOR THE LAST TWO HOURS  BABY IS CRYING - UNSURE WHAT IS GOING ON  SOUNDS LIKE THERE IS SOMETHING IN HER AIRWAY  [03\/06\/26 21:16:56 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"3850 GAINESBORO GRADE","locationCoordinates":"36.20791,-85.55251"}
[2026-03-07 03:22:17] [INFO] Number of extracted fields: 25
[2026-03-07 03:22:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 03:22: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-07 03:22:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 03:22:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:22:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:22: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-07 03:22: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-07 03:22:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:22:18] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:22:18] [INFO] Found existing Dispatch with cADNumber '2026000612', ID: 69ab98c0ebbc6f696 - will update instead of create
[2026-03-07 03:22:18] [INFO] Updated existing Dispatches record with ID: 69ab98c0ebbc6f696
[2026-03-07 03:22:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024941_20260307_032215_1.XML
[2026-03-07 03:22:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024941_20260307_032215_1.XML
[2026-03-07 03:23:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032311.XML
[2026-03-07 03:23:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032311.XML for user: 68f1466aed072ad4a
[2026-03-07 03:23:11] [INFO] File size: 5575 bytes
[2026-03-07 03:23:12] [INFO] Created FTPFiles record with ID: 69ab9a2040731ef75
[2026-03-07 03:23:12] [INFO] About to extract fields from XML. File size: 5575 bytes
[2026-03-07 03:23:12] [INFO] Number of mappings: 28
[2026-03-07 03:23:12] [INFO] Starting XML parsing. Content length: 5575
[2026-03-07 03:23:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:23:12] [INFO] Processing 28 field mappings
[2026-03-07 03:23:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:23:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:23:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:23:12] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 03:23:12] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-07 03:23:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-07 03:23:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:23:12] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:23:12] [INFO]   -> Found value: 2026000613
[2026-03-07 03:23:12] [INFO]   -> Set field 'incidentInternalId' = "2026000613"
[2026-03-07 03:23:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000613"
[2026-03-07 03:23:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:23:12] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:23:12] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:23:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:23:12] [INFO]   -> Found value: 701
[2026-03-07 03:23:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:23:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:23:12] [INFO]   -> Found value: TN
[2026-03-07 03:23:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:23:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:23:12] [INFO]   -> Found value: 38574
[2026-03-07 03:23:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:23:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:23:12] [INFO]   -> Found value: 36.14956
[2026-03-07 03:23:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:23:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:23:12] [INFO]   -> Found value: -85.25942
[2026-03-07 03:23:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:23:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:23:12] [INFO]   -> Found value: 2026-03-06 21:21:42
[2026-03-07 03:23:12] [INFO]   -> Set field 'alarm' = "2026-03-06 21:21:42"
[2026-03-07 03:23:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:23:12] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:12] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:23:09"
[2026-03-07 03:23:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:23:12] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:23:12] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:23:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:23:12] [INFO]   -> Found value: PCFR
[2026-03-07 03:23:12] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:23:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:23:12] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:12] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:23:09"
[2026-03-07 03:23:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:23:12] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:23:12] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:23:12] [INFO]   -> Found value: 20260024945
[2026-03-07 03:23:12] [INFO]   -> Set field 'policeReportNumber' = "20260024945"
[2026-03-07 03:23:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:23:12] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOO...
[2026-03-07 03:23:12] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:12] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:23:12] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:23:12] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:23:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:23:12] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:23:12] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:23:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:23:12] [INFO]   -> Found value: DR
[2026-03-07 03:23:12] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:23:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:23:12] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:23:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:23:12] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 03:23:12] [INFO] Concatenating street name and type
[2026-03-07 03:23:12] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:23:12] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:23:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000613","dispatchRunNumber":"2026000613","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:21:42","dispatched":"2026-03-06 21:23:09","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:23:09","policeReportNumber":"20260024945","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:23:12] [INFO] Number of extracted fields: 21
[2026-03-07 03:23:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-07 03:23:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 03:23:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-07 03:23:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:23:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:23:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-07 03:23:12] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 03:23:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 03:23:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 03:23:12] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:23:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:23:12] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:23:22] [INFO] Created new Dispatches record with ID: 69ab9a210b15af4e2
[2026-03-07 03:23:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032311.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024945_20260307_032311.XML
[2026-03-07 03:23:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032311.XML
[2026-03-07 03:23:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032322.XML
[2026-03-07 03:23:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032322.XML for user: 68f1466aed072ad4a
[2026-03-07 03:23:22] [INFO] File size: 6567 bytes
[2026-03-07 03:23:23] [INFO] Created FTPFiles record with ID: 69ab9a2b2acd817ca
[2026-03-07 03:23:23] [INFO] About to extract fields from XML. File size: 6567 bytes
[2026-03-07 03:23:23] [INFO] Number of mappings: 28
[2026-03-07 03:23:23] [INFO] Starting XML parsing. Content length: 6567
[2026-03-07 03:23:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:23:23] [INFO] Processing 28 field mappings
[2026-03-07 03:23:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:23:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:23:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:23:23] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 03:23:23] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-07 03:23:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-07 03:23:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:23:23] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:23:23] [INFO]   -> Found value: 2026000613
[2026-03-07 03:23:23] [INFO]   -> Set field 'incidentInternalId' = "2026000613"
[2026-03-07 03:23:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000613"
[2026-03-07 03:23:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:23:23] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:23:23] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:23:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:23:23] [INFO]   -> Found value: 701
[2026-03-07 03:23:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:23:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:23:23] [INFO]   -> Found value: TN
[2026-03-07 03:23:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:23:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:23:23] [INFO]   -> Found value: 38574
[2026-03-07 03:23:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:23:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:23:23] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:23:23] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:23:23] [INFO]   -> Found value: 36.14956
[2026-03-07 03:23:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:23:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:23:23] [INFO]   -> Found value: -85.25942
[2026-03-07 03:23:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:23:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:23:23] [INFO]   -> Found value: 2026-03-06 21:21:42
[2026-03-07 03:23:23] [INFO]   -> Set field 'alarm' = "2026-03-06 21:21:42"
[2026-03-07 03:23:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:23:23] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:23] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:23:09"
[2026-03-07 03:23:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:23:23] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:23:23] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:23:23] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:23:23] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:23:23] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:23:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:23:23] [INFO]   -> Found value: PCFR
[2026-03-07 03:23:23] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:23:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:23:23] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:23] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:23:09"
[2026-03-07 03:23:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:23:23] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:23:23] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:23:23] [INFO]   -> Found value: 2026-03-06 21:23:19
[2026-03-07 03:23:23] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:23:19"
[2026-03-07 03:23:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:23:23] [INFO]   -> Found value: 2026-03-06 21:23:19
[2026-03-07 03:23:23] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-06 21:23:19"
[2026-03-07 03:23:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:23:23] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:23:23] [INFO]   -> Found value: 20260024945
[2026-03-07 03:23:23] [INFO]   -> Set field 'policeReportNumber' = "20260024945"
[2026-03-07 03:23:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:23:23] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOO...
[2026-03-07 03:23:23] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:23] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:23:23] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:23:23] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:23:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:23:23] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:23:23] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:23:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:23:23] [INFO]   -> Found value: DR
[2026-03-07 03:23:23] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:23:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:23:23] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:23:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:23:23] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:23:23] [INFO] Concatenating street name and type
[2026-03-07 03:23:23] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:23:23] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:23:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000613","dispatchRunNumber":"2026000613","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:21:42","dispatched":"2026-03-06 21:23:09","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:23:09","timeunitclear":"2026-03-06 21:23:19","timecanceledenroute":"2026-03-06 21:23:19","policeReportNumber":"20260024945","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:23:23] [INFO] Number of extracted fields: 23
[2026-03-07 03:23:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-07 03:23:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 03:23:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-07 03:23:23] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:23:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:23:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-07 03:23: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-07 03:23: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-07 03:23:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 03:23:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:23:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:23:23] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:23:23] [INFO] Found existing Dispatch with cADNumber '2026000613', ID: 69ab9a210b15af4e2 - will update instead of create
[2026-03-07 03:23:24] [INFO] Updated existing Dispatches record with ID: 69ab9a210b15af4e2
[2026-03-07 03:23:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032322.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024945_20260307_032322.XML
[2026-03-07 03:23:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032322.XML
[2026-03-07 03:23:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032324.XML
[2026-03-07 03:23:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032324.XML for user: 68f1466aed072ad4a
[2026-03-07 03:23:24] [INFO] File size: 6567 bytes
[2026-03-07 03:23:24] [INFO] Created FTPFiles record with ID: 69ab9a2cbae797ca9
[2026-03-07 03:23:24] [INFO] About to extract fields from XML. File size: 6567 bytes
[2026-03-07 03:23:24] [INFO] Number of mappings: 28
[2026-03-07 03:23:24] [INFO] Starting XML parsing. Content length: 6567
[2026-03-07 03:23:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:23:24] [INFO] Processing 28 field mappings
[2026-03-07 03:23:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:23:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:23:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:23:24] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 03:23:24] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-07 03:23:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-07 03:23:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:23:24] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:23:24] [INFO]   -> Found value: 2026000613
[2026-03-07 03:23:24] [INFO]   -> Set field 'incidentInternalId' = "2026000613"
[2026-03-07 03:23:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000613"
[2026-03-07 03:23:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:23:24] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:23:24] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:23:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:23:24] [INFO]   -> Found value: 701
[2026-03-07 03:23:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:23:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:23:24] [INFO]   -> Found value: TN
[2026-03-07 03:23:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:23:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:23:24] [INFO]   -> Found value: 38574
[2026-03-07 03:23:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:23:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:23:24] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:23:24] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:23:24] [INFO]   -> Found value: 36.14956
[2026-03-07 03:23:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:23:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:23:24] [INFO]   -> Found value: -85.25942
[2026-03-07 03:23:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:23:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:23:24] [INFO]   -> Found value: 2026-03-06 21:21:42
[2026-03-07 03:23:24] [INFO]   -> Set field 'alarm' = "2026-03-06 21:21:42"
[2026-03-07 03:23:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:23:24] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:24] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:23:09"
[2026-03-07 03:23:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:23:24] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:23:24] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:23:24] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:23:24] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:23:24] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:23:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:23:24] [INFO]   -> Found value: PCFR
[2026-03-07 03:23:24] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:23:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:23:24] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:24] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:23:09"
[2026-03-07 03:23:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:23:24] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:23:24] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:23:24] [INFO]   -> Found value: 2026-03-06 21:23:19
[2026-03-07 03:23:24] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:23:19"
[2026-03-07 03:23:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:23:24] [INFO]   -> Found value: 2026-03-06 21:23:19
[2026-03-07 03:23:24] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-06 21:23:19"
[2026-03-07 03:23:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:23:24] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:23:24] [INFO]   -> Found value: 20260024945
[2026-03-07 03:23:24] [INFO]   -> Set field 'policeReportNumber' = "20260024945"
[2026-03-07 03:23:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:23:24] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOO...
[2026-03-07 03:23:24] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:24] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:23:24] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:23:24] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:23:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:23:24] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:23:24] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:23:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:23:24] [INFO]   -> Found value: DR
[2026-03-07 03:23:24] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:23:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:23:24] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:23:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:23:24] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:23:24] [INFO] Concatenating street name and type
[2026-03-07 03:23:24] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:23:24] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:23:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000613","dispatchRunNumber":"2026000613","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:21:42","dispatched":"2026-03-06 21:23:09","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:23:09","timeunitclear":"2026-03-06 21:23:19","timecanceledenroute":"2026-03-06 21:23:19","policeReportNumber":"20260024945","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:23:24] [INFO] Number of extracted fields: 23
[2026-03-07 03:23:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-07 03:23:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 03:23:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-07 03:23:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:23:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:23:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-07 03:23: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-07 03:23: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-07 03:23:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 03:23:25] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:23:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:23:25] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:23:25] [INFO] Found existing Dispatch with cADNumber '2026000613', ID: 69ab9a210b15af4e2 - will update instead of create
[2026-03-07 03:23:25] [INFO] Updated existing Dispatches record with ID: 69ab9a210b15af4e2
[2026-03-07 03:23:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032324.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024945_20260307_032324.XML
[2026-03-07 03:23:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032324.XML
[2026-03-07 03:23:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032329.XML
[2026-03-07 03:23:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032329.XML for user: 68f1466aed072ad4a
[2026-03-07 03:23:29] [INFO] File size: 6634 bytes
[2026-03-07 03:23:30] [INFO] Created FTPFiles record with ID: 69ab9a322e33a756b
[2026-03-07 03:23:30] [INFO] About to extract fields from XML. File size: 6634 bytes
[2026-03-07 03:23:30] [INFO] Number of mappings: 28
[2026-03-07 03:23:30] [INFO] Starting XML parsing. Content length: 6634
[2026-03-07 03:23:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:23:30] [INFO] Processing 28 field mappings
[2026-03-07 03:23:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:23:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:23:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:23:30] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 03:23:30] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-07 03:23:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-07 03:23:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:23:30] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:23:30] [INFO]   -> Found value: 2026000613
[2026-03-07 03:23:30] [INFO]   -> Set field 'incidentInternalId' = "2026000613"
[2026-03-07 03:23:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000613"
[2026-03-07 03:23:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:23:30] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:23:30] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:23:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:23:30] [INFO]   -> Found value: 701
[2026-03-07 03:23:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:23:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:23:30] [INFO]   -> Found value: TN
[2026-03-07 03:23:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:23:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:23:30] [INFO]   -> Found value: 38574
[2026-03-07 03:23:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:23:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:23:30] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:23:30] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:23:30] [INFO]   -> Found value: 36.14956
[2026-03-07 03:23:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:23:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:23:30] [INFO]   -> Found value: -85.25942
[2026-03-07 03:23:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:23:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:23:30] [INFO]   -> Found value: 2026-03-06 21:21:42
[2026-03-07 03:23:30] [INFO]   -> Set field 'alarm' = "2026-03-06 21:21:42"
[2026-03-07 03:23:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:23:30] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:30] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:23:09"
[2026-03-07 03:23:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:23:30] [INFO]   -> Found value: 2026-03-06 21:23:26
[2026-03-07 03:23:30] [INFO]   -> Set field 'enroute' = "2026-03-06 21:23:26"
[2026-03-07 03:23:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:23:30] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:23:30] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:23:30] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:23:30] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:23:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:23:30] [INFO]   -> Found value: TK21
[2026-03-07 03:23:30] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 03:23:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:23:30] [INFO]   -> Found value: 2026-03-06 21:23:19
[2026-03-07 03:23:30] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:23:19"
[2026-03-07 03:23:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:23:30] [INFO]   -> Found value: 2026-03-06 21:23:26
[2026-03-07 03:23:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 21:23:26"
[2026-03-07 03:23:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:23:30] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:23:30] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:23:30] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:23:30] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:23:30] [INFO]   -> Found value: 20260024945
[2026-03-07 03:23:30] [INFO]   -> Set field 'policeReportNumber' = "20260024945"
[2026-03-07 03:23:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:23:30] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOO...
[2026-03-07 03:23:30] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:30] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:23:30] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:23:30] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:23:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:23:30] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:23:30] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:23:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:23:30] [INFO]   -> Found value: DR
[2026-03-07 03:23:30] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:23:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:23:30] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:23:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:23:30] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:23:30] [INFO] Concatenating street name and type
[2026-03-07 03:23:30] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:23:30] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:23:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000613","dispatchRunNumber":"2026000613","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:21:42","dispatched":"2026-03-06 21:23:09","enroute":"2026-03-06 21:23:26","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"TK21","timedispatch":"2026-03-06 21:23:19","timeenroutetoscene":"2026-03-06 21:23:26","policeReportNumber":"20260024945","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:23:30] [INFO] Number of extracted fields: 23
[2026-03-07 03:23:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-07 03:23:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 03:23:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-07 03:23:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:23:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:23:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-07 03:23: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-07 03:23: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-07 03:23:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 03:23:30] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:23:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:23:30] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:23:30] [INFO] Found existing Dispatch with cADNumber '2026000613', ID: 69ab9a210b15af4e2 - will update instead of create
[2026-03-07 03:23:31] [INFO] Updated existing Dispatches record with ID: 69ab9a210b15af4e2
[2026-03-07 03:23:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032329.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024945_20260307_032329.XML
[2026-03-07 03:23:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032329.XML
[2026-03-07 03:23:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032331.XML
[2026-03-07 03:23:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032331.XML for user: 68f1466aed072ad4a
[2026-03-07 03:23:31] [INFO] File size: 6634 bytes
[2026-03-07 03:23:32] [INFO] Created FTPFiles record with ID: 69ab9a33f27c58837
[2026-03-07 03:23:32] [INFO] About to extract fields from XML. File size: 6634 bytes
[2026-03-07 03:23:32] [INFO] Number of mappings: 28
[2026-03-07 03:23:32] [INFO] Starting XML parsing. Content length: 6634
[2026-03-07 03:23:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:23:32] [INFO] Processing 28 field mappings
[2026-03-07 03:23:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:23:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:23:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:23:32] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 03:23:32] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-03-07 03:23:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-03-07 03:23:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:23:32] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:23:32] [INFO]   -> Found value: 2026000613
[2026-03-07 03:23:32] [INFO]   -> Set field 'incidentInternalId' = "2026000613"
[2026-03-07 03:23:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000613"
[2026-03-07 03:23:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:23:32] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:23:32] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:23:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:23:32] [INFO]   -> Found value: 701
[2026-03-07 03:23:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:23:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:23:32] [INFO]   -> Found value: TN
[2026-03-07 03:23:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:23:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:23:32] [INFO]   -> Found value: 38574
[2026-03-07 03:23:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:23:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:23:32] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:23:32] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:23:32] [INFO]   -> Found value: 36.14956
[2026-03-07 03:23:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:23:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:23:32] [INFO]   -> Found value: -85.25942
[2026-03-07 03:23:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:23:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:23:32] [INFO]   -> Found value: 2026-03-06 21:21:42
[2026-03-07 03:23:32] [INFO]   -> Set field 'alarm' = "2026-03-06 21:21:42"
[2026-03-07 03:23:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:23:32] [INFO]   -> Found value: 2026-03-06 21:23:09
[2026-03-07 03:23:32] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:23:09"
[2026-03-07 03:23:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:23:32] [INFO]   -> Found value: 2026-03-06 21:23:26
[2026-03-07 03:23:32] [INFO]   -> Set field 'enroute' = "2026-03-06 21:23:26"
[2026-03-07 03:23:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:23:32] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:23:32] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:23:32] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:23:32] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:23:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:23:32] [INFO]   -> Found value: TK21
[2026-03-07 03:23:32] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 03:23:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:23:32] [INFO]   -> Found value: 2026-03-06 21:23:19
[2026-03-07 03:23:32] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:23:19"
[2026-03-07 03:23:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:23:32] [INFO]   -> Found value: 2026-03-06 21:23:26
[2026-03-07 03:23:32] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 21:23:26"
[2026-03-07 03:23:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:23:32] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:23:32] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:23:32] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:23:32] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:23:32] [INFO]   -> Found value: 20260024945
[2026-03-07 03:23:32] [INFO]   -> Set field 'policeReportNumber' = "20260024945"
[2026-03-07 03:23:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:23:32] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOO...
[2026-03-07 03:23:32] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:32] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:23:32] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:23:32] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:23:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:23:32] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:23:32] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:23:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:23:32] [INFO]   -> Found value: DR
[2026-03-07 03:23:32] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:23:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:23:32] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:23:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:23:32] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:23:32] [INFO] Concatenating street name and type
[2026-03-07 03:23:32] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:23:32] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:23:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000613","dispatchRunNumber":"2026000613","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:21:42","dispatched":"2026-03-06 21:23:09","enroute":"2026-03-06 21:23:26","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"TK21","timedispatch":"2026-03-06 21:23:19","timeenroutetoscene":"2026-03-06 21:23:26","policeReportNumber":"20260024945","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:23:32] [INFO] Number of extracted fields: 23
[2026-03-07 03:23:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-03-07 03:23:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 03:23:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-03-07 03:23:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:23:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:23:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-03-07 03:23:32] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 03:23:32] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 03:23:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 03:23:32] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:23:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:23:32] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:23:32] [INFO] Found existing Dispatch with cADNumber '2026000613', ID: 69ab9a210b15af4e2 - will update instead of create
[2026-03-07 03:23:32] [INFO] Updated existing Dispatches record with ID: 69ab9a210b15af4e2
[2026-03-07 03:23:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032331.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024945_20260307_032331.XML
[2026-03-07 03:23:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024945_20260307_032331.XML
[2026-03-07 03:23:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032349.XML
[2026-03-07 03:23:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032349.XML for user: 68f1466aed072ad4a
[2026-03-07 03:23:49] [INFO] File size: 5600 bytes
[2026-03-07 03:23:50] [INFO] Created FTPFiles record with ID: 69ab9a462500dd70e
[2026-03-07 03:23:50] [INFO] About to extract fields from XML. File size: 5600 bytes
[2026-03-07 03:23:50] [INFO] Number of mappings: 28
[2026-03-07 03:23:50] [INFO] Starting XML parsing. Content length: 5600
[2026-03-07 03:23:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:23:50] [INFO] Processing 28 field mappings
[2026-03-07 03:23:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:23:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:23:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:23:50] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-07 03:23:50] [INFO]   -> Found value: MFD
RESC
[2026-03-07 03:23:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC"
[2026-03-07 03:23:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:23:50] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:23:50] [INFO]   -> Found value: 2026000083
[2026-03-07 03:23:50] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-07 03:23:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-07 03:23:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:23:50] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:23:50] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:23:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:23:50] [INFO]   -> Found value: 701
[2026-03-07 03:23:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:23:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:23:50] [INFO]   -> Found value: TN
[2026-03-07 03:23:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:23:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:23:50] [INFO]   -> Found value: 38574
[2026-03-07 03:23:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:23:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:23:50] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:23:50] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:23:50] [INFO]   -> Found value: 36.14956
[2026-03-07 03:23:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:23:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:23:50] [INFO]   -> Found value: -85.25942
[2026-03-07 03:23:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:23:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:23:50] [INFO]   -> Found value: 2026-03-06 21:16:47
[2026-03-07 03:23:50] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:47"
[2026-03-07 03:23:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:23:50] [INFO]   -> Found value: 2026-03-06 21:17:59
[2026-03-07 03:23:50] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:59"
[2026-03-07 03:23:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:23:50] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:23:50] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:23:50] [INFO]   -> Found value: 2026-03-06 21:23:38
[2026-03-07 03:23:50] [INFO]   -> Set field 'cleared' = "2026-03-06 21:23:38"
[2026-03-07 03:23:50] [INFO]   -> Set field 'inService' = "2026-03-06 21:23:38"
[2026-03-07 03:23:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:23:50] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:23:50] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:23:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:23:50] [INFO]   -> Found value: MFR
[2026-03-07 03:23:50] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 03:23:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:23:50] [INFO]   -> Found value: 2026-03-06 21:17:59
[2026-03-07 03:23:50] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:59"
[2026-03-07 03:23:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:23:50] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:23:50] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:23:50] [INFO]   -> Found value: 2026-03-06 21:23:38
[2026-03-07 03:23:50] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:23:38"
[2026-03-07 03:23:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:23:50] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:23:50] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:23:50] [INFO]   -> Found value: 20260024940
[2026-03-07 03:23:50] [INFO]   -> Set field 'policeReportNumber' = "20260024940"
[2026-03-07 03:23:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:23:50] [INFO]   -> Found value: Event spawned for RESC Event ID:20260024946  CallRef:175  [03/06/26 21:21:55 SVOKOUN2] Event spawned...
[2026-03-07 03:23:50] [INFO]   -> Set field 'dispatchNotes' = "Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:50] [INFO]   -> Set field 'cADLog' = "Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:23:50] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:23:50] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:23:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:23:50] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:23:50] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:23:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:23:50] [INFO]   -> Found value: DR
[2026-03-07 03:23:50] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:23:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:23:50] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:23:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:23:50] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 03:23:50] [INFO] Concatenating street name and type
[2026-03-07 03:23:50] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:23:50] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:23:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:16:47","dispatched":"2026-03-06 21:17:59","cleared":"2026-03-06 21:23:38","inService":"2026-03-06 21:23:38","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"MFR","timedispatch":"2026-03-06 21:17:59","timeunitclear":"2026-03-06 21:23:38","policeReportNumber":"20260024940","dispatchNotes":"Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:23:50] [INFO] Number of extracted fields: 24
[2026-03-07 03:23:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC'
[2026-03-07 03:23:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC', Parsed IDs = ["MFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-07 03:23:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC"]
[2026-03-07 03:23:50] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:23:50] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 03:23:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-07 03:23:50] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 03:23:50] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 03:23:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-07 03:23:50] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 03:23:50] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 03:23:50] [INFO] Found existing IncidentTypeMapping with ID: 694c0ab27eb6ebd01
[2026-03-07 03:23:50] [INFO] Found existing Dispatch with cADNumber '2026000083', ID: 69ab98ee8d7aede66 - will update instead of create
[2026-03-07 03:23:51] [INFO] Updated existing Dispatches record with ID: 69ab98ee8d7aede66
[2026-03-07 03:23:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032349.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260024940_20260307_032349.XML
[2026-03-07 03:23:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032349.XML
[2026-03-07 03:23:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032350.XML
[2026-03-07 03:23:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032350.XML for user: 68f1466aed072ad4a
[2026-03-07 03:23:51] [INFO] File size: 5600 bytes
[2026-03-07 03:23:51] [INFO] Created FTPFiles record with ID: 69ab9a475bfededd4
[2026-03-07 03:23:51] [INFO] About to extract fields from XML. File size: 5600 bytes
[2026-03-07 03:23:51] [INFO] Number of mappings: 28
[2026-03-07 03:23:51] [INFO] Starting XML parsing. Content length: 5600
[2026-03-07 03:23:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:23:51] [INFO] Processing 28 field mappings
[2026-03-07 03:23:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:23:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:23:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:23:51] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-07 03:23:51] [INFO]   -> Found value: MFD
RESC
[2026-03-07 03:23:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC"
[2026-03-07 03:23:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:23:51] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:23:51] [INFO]   -> Found value: 2026000083
[2026-03-07 03:23:51] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-03-07 03:23:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-03-07 03:23:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:23:51] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:23:51] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:23:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:23:51] [INFO]   -> Found value: 701
[2026-03-07 03:23:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 701
[2026-03-07 03:23:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:23:51] [INFO]   -> Found value: TN
[2026-03-07 03:23:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:23:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:23:51] [INFO]   -> Found value: 38574
[2026-03-07 03:23:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 03:23:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:23:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:23:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:23:51] [INFO]   -> Found value: 36.14956
[2026-03-07 03:23:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14956000000000102545527624897658824920654296875
[2026-03-07 03:23:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:23:51] [INFO]   -> Found value: -85.25942
[2026-03-07 03:23:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.259420000000005757101462222635746002197265625
[2026-03-07 03:23:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:23:51] [INFO]   -> Found value: 2026-03-06 21:16:47
[2026-03-07 03:23:51] [INFO]   -> Set field 'alarm' = "2026-03-06 21:16:47"
[2026-03-07 03:23:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:23:51] [INFO]   -> Found value: 2026-03-06 21:17:59
[2026-03-07 03:23:51] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:17:59"
[2026-03-07 03:23:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:23:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:23:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:23:51] [INFO]   -> Found value: 2026-03-06 21:23:38
[2026-03-07 03:23:51] [INFO]   -> Set field 'cleared' = "2026-03-06 21:23:38"
[2026-03-07 03:23:51] [INFO]   -> Set field 'inService' = "2026-03-06 21:23:38"
[2026-03-07 03:23:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:23:51] [INFO]   -> Found value: E LOUIS AVE/PETER AVE
[2026-03-07 03:23:51] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/PETER AVE"
[2026-03-07 03:23:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:23:51] [INFO]   -> Found value: MFR
[2026-03-07 03:23:51] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 03:23:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:23:51] [INFO]   -> Found value: 2026-03-06 21:17:59
[2026-03-07 03:23:51] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:17:59"
[2026-03-07 03:23:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:23:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:23:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:23:51] [INFO]   -> Found value: 2026-03-06 21:23:38
[2026-03-07 03:23:51] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 21:23:38"
[2026-03-07 03:23:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:23:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:23:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:23:51] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:23:51] [INFO]   -> Found value: 20260024940
[2026-03-07 03:23:51] [INFO]   -> Set field 'policeReportNumber' = "20260024940"
[2026-03-07 03:23:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:23:51] [INFO]   -> Found value: Event spawned for RESC Event ID:20260024946  CallRef:175  [03/06/26 21:21:55 SVOKOUN2] Event spawned...
[2026-03-07 03:23:51] [INFO]   -> Set field 'dispatchNotes' = "Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:51] [INFO]   -> Set field 'cADLog' = "Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]"
[2026-03-07 03:23:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:23:51] [INFO]   -> Found value: MONTEREY
[2026-03-07 03:23:51] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 03:23:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:23:51] [INFO]   -> Found value: STANDING STONE
[2026-03-07 03:23:51] [INFO]   -> Set field 'streetName' = "STANDING STONE"
[2026-03-07 03:23:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:23:51] [INFO]   -> Found value: DR
[2026-03-07 03:23:51] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-07 03:23:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:23:51] [INFO]   -> Found value: 701 STANDING STONE DR
[2026-03-07 03:23:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "701 STANDING STONE DR"
[2026-03-07 03:23:51] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 03:23:51] [INFO] Concatenating street name and type
[2026-03-07 03:23:51] [INFO]   -> Combined street name: STANDING STONE DR
[2026-03-07 03:23:51] [INFO] Built locationCoordinates from lat/lng: 36.14956,-85.25942
[2026-03-07 03:23:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":701,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14956000000000102545527624897658824920654296875,"nERISIncidentLongitude":-85.259420000000005757101462222635746002197265625,"alarm":"2026-03-06 21:16:47","dispatched":"2026-03-06 21:17:59","cleared":"2026-03-06 21:23:38","inService":"2026-03-06 21:23:38","incidentLocationCross":"E LOUIS AVE\/PETER AVE","cADVehicleID":"MFR","timedispatch":"2026-03-06 21:17:59","timeunitclear":"2026-03-06 21:23:38","policeReportNumber":"20260024940","dispatchNotes":"Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","cADLog":"Event spawned for RESC Event ID:20260024946  CallRef:175  [03\/06\/26 21:21:55 SVOKOUN2] Event spawned for PCFD Event ID:20260024945  CallRef:174  [03\/06\/26 21:21:42 SVOKOUN2] [EMS] HEATHER ALIEA 38YOF TOOK X2 5MG HYDROCODONE THAT ARE OLD AND NOW SHE IS HAVING A HARD TIME BREATHING  [03\/06\/26 21:18:16 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:16:47 SVOKOUN2]","incidentLocationCity":"MONTEREY","streetName":"STANDING STONE DR","incidentAddressTextVersionStreet":"701 STANDING STONE DR","locationCoordinates":"36.14956,-85.25942"}
[2026-03-07 03:23:51] [INFO] Number of extracted fields: 24
[2026-03-07 03:23:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC'
[2026-03-07 03:23:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC', Parsed IDs = ["MFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-07 03:23:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC"]
[2026-03-07 03:23:51] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:23:51] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 03:23:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-07 03:23:51] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 03:23:51] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 03:23:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-07 03:23:51] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 03:23:51] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 03:23:52] [INFO] Found existing IncidentTypeMapping with ID: 694c0ab27eb6ebd01
[2026-03-07 03:23:52] [INFO] Found existing Dispatch with cADNumber '2026000083', ID: 69ab98ee8d7aede66 - will update instead of create
[2026-03-07 03:23:52] [INFO] Updated existing Dispatches record with ID: 69ab98ee8d7aede66
[2026-03-07 03:23:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032350.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260024940_20260307_032350.XML
[2026-03-07 03:23:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260024940_20260307_032350.XML
[2026-03-07 03:51:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035109.XML
[2026-03-07 03:51:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035109.XML for user: 68f1466aed072ad4a
[2026-03-07 03:51:09] [INFO] File size: 5091 bytes
[2026-03-07 03:51:10] [INFO] Created FTPFiles record with ID: 69aba0ae47b864078
[2026-03-07 03:51:10] [INFO] About to extract fields from XML. File size: 5091 bytes
[2026-03-07 03:51:10] [INFO] Number of mappings: 28
[2026-03-07 03:51:10] [INFO] Starting XML parsing. Content length: 5091
[2026-03-07 03:51:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:51:10] [INFO] Processing 28 field mappings
[2026-03-07 03:51:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:51:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:51:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:51:10] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 03:51:10] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 03:51:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 03:51:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:51:10] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:51:10] [INFO]   -> Found value: 2026000614
[2026-03-07 03:51:10] [INFO]   -> Set field 'incidentInternalId' = "2026000614"
[2026-03-07 03:51:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000614"
[2026-03-07 03:51:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:51:10] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:51:10] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:51:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:51:10] [INFO]   -> Found value: 4706
[2026-03-07 03:51:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4706
[2026-03-07 03:51:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:51:10] [INFO]   -> Found value: TN
[2026-03-07 03:51:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:51:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:51:10] [INFO]   -> Found value: 38501
[2026-03-07 03:51:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:51:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:51:10] [INFO]   -> Found value: 36.16738
[2026-03-07 03:51:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.16738000000000141653799801133573055267333984375
[2026-03-07 03:51:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:51:10] [INFO]   -> Found value: -85.60154
[2026-03-07 03:51:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6015399999999999636202119290828704833984375
[2026-03-07 03:51:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:51:10] [INFO]   -> Found value: 2026-03-06 21:50:45
[2026-03-07 03:51:10] [INFO]   -> Set field 'alarm' = "2026-03-06 21:50:45"
[2026-03-07 03:51:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:51:10] [INFO]   -> Found value: 2026-03-06 21:51:06
[2026-03-07 03:51:10] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:51:06"
[2026-03-07 03:51:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:51:10] [INFO]   -> Found value: CHURCH ST/WEST GATE RD
[2026-03-07 03:51:10] [INFO]   -> Set field 'incidentLocationCross' = "CHURCH ST\/WEST GATE RD"
[2026-03-07 03:51:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:51:10] [INFO]   -> Found value: PCFR
[2026-03-07 03:51:10] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 03:51:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:51:10] [INFO]   -> Found value: 2026-03-06 21:51:06
[2026-03-07 03:51:10] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:51:06"
[2026-03-07 03:51:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:51:10] [INFO]   -> No value found (null or empty)
[2026-03-07 03:51:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:51:10] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:51:10] [INFO]   -> Found value: 20260024959
[2026-03-07 03:51:10] [INFO]   -> Set field 'policeReportNumber' = "20260024959"
[2026-03-07 03:51:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:51:10] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/06/2026 21:50:45 TSCOTT]
[2026-03-07 03:51:10] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:51:10] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:51:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:51:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:51:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:51:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:51:10] [INFO]   -> Found value: FRONT
[2026-03-07 03:51:10] [INFO]   -> Set field 'streetName' = "FRONT"
[2026-03-07 03:51:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:51:10] [INFO]   -> Found value: ST
[2026-03-07 03:51:10] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 03:51:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:51:10] [INFO]   -> Found value: 4706 FRONT ST
[2026-03-07 03:51:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4706 FRONT ST"
[2026-03-07 03:51:10] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 03:51:10] [INFO] Concatenating street name and type
[2026-03-07 03:51:10] [INFO]   -> Combined street name: FRONT ST
[2026-03-07 03:51:10] [INFO] Built locationCoordinates from lat/lng: 36.16738,-85.60154
[2026-03-07 03:51:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000614","dispatchRunNumber":"2026000614","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4706,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.16738000000000141653799801133573055267333984375,"nERISIncidentLongitude":-85.6015399999999999636202119290828704833984375,"alarm":"2026-03-06 21:50:45","dispatched":"2026-03-06 21:51:06","incidentLocationCross":"CHURCH ST\/WEST GATE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 21:51:06","policeReportNumber":"20260024959","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"FRONT ST","incidentAddressTextVersionStreet":"4706 FRONT ST","locationCoordinates":"36.16738,-85.60154"}
[2026-03-07 03:51:10] [INFO] Number of extracted fields: 21
[2026-03-07 03:51:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 03:51: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-07 03:51:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 03:51:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:51:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:51:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 03:51: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-07 03:51: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-07 03:51:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 03:51:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:51:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:51:10] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:51:20] [INFO] Created new Dispatches record with ID: 69aba0af1f8e6a215
[2026-03-07 03:51:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035109.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024959_20260307_035109.XML
[2026-03-07 03:51:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035109.XML
[2026-03-07 03:52:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035251.XML
[2026-03-07 03:52:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035251.XML for user: 68f1466aed072ad4a
[2026-03-07 03:52:51] [INFO] File size: 6182 bytes
[2026-03-07 03:52:51] [INFO] Created FTPFiles record with ID: 69aba113634e6332b
[2026-03-07 03:52:51] [INFO] About to extract fields from XML. File size: 6182 bytes
[2026-03-07 03:52:51] [INFO] Number of mappings: 28
[2026-03-07 03:52:51] [INFO] Starting XML parsing. Content length: 6182
[2026-03-07 03:52:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:52:51] [INFO] Processing 28 field mappings
[2026-03-07 03:52:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:52:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:52:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:52:51] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 03:52:51] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 03:52:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 03:52:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:52:51] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:52:51] [INFO]   -> Found value: 2026000614
[2026-03-07 03:52:51] [INFO]   -> Set field 'incidentInternalId' = "2026000614"
[2026-03-07 03:52:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000614"
[2026-03-07 03:52:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:52:51] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:52:51] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:52:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:52:51] [INFO]   -> Found value: 4706
[2026-03-07 03:52:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4706
[2026-03-07 03:52:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:52:51] [INFO]   -> Found value: TN
[2026-03-07 03:52:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:52:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:52:51] [INFO]   -> Found value: 38501
[2026-03-07 03:52:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:52:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:52:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:52:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:52:51] [INFO]   -> Found value: 36.16738
[2026-03-07 03:52:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.16738000000000141653799801133573055267333984375
[2026-03-07 03:52:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:52:51] [INFO]   -> Found value: -85.60154
[2026-03-07 03:52:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6015399999999999636202119290828704833984375
[2026-03-07 03:52:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:52:51] [INFO]   -> Found value: 2026-03-06 21:50:45
[2026-03-07 03:52:51] [INFO]   -> Set field 'alarm' = "2026-03-06 21:50:45"
[2026-03-07 03:52:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:52:51] [INFO]   -> Found value: 2026-03-06 21:51:06
[2026-03-07 03:52:51] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:51:06"
[2026-03-07 03:52:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:52:51] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:51] [INFO]   -> Set field 'enroute' = "2026-03-06 21:52:45"
[2026-03-07 03:52:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:52:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:52:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:52:51] [INFO]   -> Found value: CHURCH ST/WEST GATE RD
[2026-03-07 03:52:51] [INFO]   -> Set field 'incidentLocationCross' = "CHURCH ST\/WEST GATE RD"
[2026-03-07 03:52:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:52:51] [INFO]   -> Found value: TK31
[2026-03-07 03:52:51] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-07 03:52:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:52:51] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:51] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:52:45"
[2026-03-07 03:52:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:52:51] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:51] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 21:52:45"
[2026-03-07 03:52:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:52:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:52:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:52:51] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:52:51] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:52:51] [INFO]   -> Found value: 20260024959
[2026-03-07 03:52:51] [INFO]   -> Set field 'policeReportNumber' = "20260024959"
[2026-03-07 03:52:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:52:51] [INFO]   -> Found value: LARRY HUDDLESTON  [03/06/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03/06/26 21:51:58 TSCOTT] [...
[2026-03-07 03:52:51] [INFO]   -> Set field 'dispatchNotes' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:51] [INFO]   -> Set field 'cADLog' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:52:51] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:52:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:52:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:52:51] [INFO]   -> Found value: FRONT
[2026-03-07 03:52:51] [INFO]   -> Set field 'streetName' = "FRONT"
[2026-03-07 03:52:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:52:51] [INFO]   -> Found value: ST
[2026-03-07 03:52:51] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 03:52:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:52:51] [INFO]   -> Found value: 4706 FRONT ST
[2026-03-07 03:52:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4706 FRONT ST"
[2026-03-07 03:52:51] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:52:51] [INFO] Concatenating street name and type
[2026-03-07 03:52:51] [INFO]   -> Combined street name: FRONT ST
[2026-03-07 03:52:51] [INFO] Built locationCoordinates from lat/lng: 36.16738,-85.60154
[2026-03-07 03:52:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000614","dispatchRunNumber":"2026000614","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4706,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.16738000000000141653799801133573055267333984375,"nERISIncidentLongitude":-85.6015399999999999636202119290828704833984375,"alarm":"2026-03-06 21:50:45","dispatched":"2026-03-06 21:51:06","enroute":"2026-03-06 21:52:45","incidentLocationCross":"CHURCH ST\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-06 21:52:45","timeenroutetoscene":"2026-03-06 21:52:45","policeReportNumber":"20260024959","dispatchNotes":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","cADLog":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"FRONT ST","incidentAddressTextVersionStreet":"4706 FRONT ST","locationCoordinates":"36.16738,-85.60154"}
[2026-03-07 03:52:51] [INFO] Number of extracted fields: 23
[2026-03-07 03:52:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 03:52:51] [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-07 03:52:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 03:52:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:52:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:52:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 03:52:51] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 03:52:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 03:52:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 03:52:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:52:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:52:51] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:52:52] [INFO] Found existing Dispatch with cADNumber '2026000614', ID: 69aba0af1f8e6a215 - will update instead of create
[2026-03-07 03:52:52] [INFO] Updated existing Dispatches record with ID: 69aba0af1f8e6a215
[2026-03-07 03:52:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035251.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024959_20260307_035251.XML
[2026-03-07 03:52:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035251.XML
[2026-03-07 03:52:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035252.XML
[2026-03-07 03:52:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035252.XML for user: 68f1466aed072ad4a
[2026-03-07 03:52:52] [INFO] File size: 6182 bytes
[2026-03-07 03:52:52] [INFO] Created FTPFiles record with ID: 69aba11491cfe4315
[2026-03-07 03:52:52] [INFO] About to extract fields from XML. File size: 6182 bytes
[2026-03-07 03:52:52] [INFO] Number of mappings: 28
[2026-03-07 03:52:52] [INFO] Starting XML parsing. Content length: 6182
[2026-03-07 03:52:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:52:52] [INFO] Processing 28 field mappings
[2026-03-07 03:52:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:52:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:52:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:52:52] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 03:52:52] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 03:52:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 03:52:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:52:52] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:52:52] [INFO]   -> Found value: 2026000614
[2026-03-07 03:52:52] [INFO]   -> Set field 'incidentInternalId' = "2026000614"
[2026-03-07 03:52:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000614"
[2026-03-07 03:52:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:52:52] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:52:52] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:52:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:52:52] [INFO]   -> Found value: 4706
[2026-03-07 03:52:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4706
[2026-03-07 03:52:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:52:52] [INFO]   -> Found value: TN
[2026-03-07 03:52:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:52:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:52:52] [INFO]   -> Found value: 38501
[2026-03-07 03:52:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:52:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:52:52] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:52:52] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:52:52] [INFO]   -> Found value: 36.16738
[2026-03-07 03:52:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.16738000000000141653799801133573055267333984375
[2026-03-07 03:52:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:52:52] [INFO]   -> Found value: -85.60154
[2026-03-07 03:52:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6015399999999999636202119290828704833984375
[2026-03-07 03:52:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:52:52] [INFO]   -> Found value: 2026-03-06 21:50:45
[2026-03-07 03:52:52] [INFO]   -> Set field 'alarm' = "2026-03-06 21:50:45"
[2026-03-07 03:52:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:52:52] [INFO]   -> Found value: 2026-03-06 21:51:06
[2026-03-07 03:52:52] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:51:06"
[2026-03-07 03:52:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:52:52] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:52] [INFO]   -> Set field 'enroute' = "2026-03-06 21:52:45"
[2026-03-07 03:52:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:52:52] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:52:52] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:52:52] [INFO]   -> Found value: CHURCH ST/WEST GATE RD
[2026-03-07 03:52:52] [INFO]   -> Set field 'incidentLocationCross' = "CHURCH ST\/WEST GATE RD"
[2026-03-07 03:52:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:52:52] [INFO]   -> Found value: TK31
[2026-03-07 03:52:52] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-07 03:52:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:52:52] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:52] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:52:45"
[2026-03-07 03:52:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:52:52] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 21:52:45"
[2026-03-07 03:52:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:52:52] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:52:52] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:52:52] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:52:52] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:52:52] [INFO]   -> Found value: 20260024959
[2026-03-07 03:52:52] [INFO]   -> Set field 'policeReportNumber' = "20260024959"
[2026-03-07 03:52:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:52:52] [INFO]   -> Found value: LARRY HUDDLESTON  [03/06/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03/06/26 21:51:58 TSCOTT] [...
[2026-03-07 03:52:52] [INFO]   -> Set field 'dispatchNotes' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:52] [INFO]   -> Set field 'cADLog' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:52:52] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:52:52] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:52:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:52:52] [INFO]   -> Found value: FRONT
[2026-03-07 03:52:52] [INFO]   -> Set field 'streetName' = "FRONT"
[2026-03-07 03:52:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:52:52] [INFO]   -> Found value: ST
[2026-03-07 03:52:52] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 03:52:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:52:52] [INFO]   -> Found value: 4706 FRONT ST
[2026-03-07 03:52:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4706 FRONT ST"
[2026-03-07 03:52:52] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:52:52] [INFO] Concatenating street name and type
[2026-03-07 03:52:52] [INFO]   -> Combined street name: FRONT ST
[2026-03-07 03:52:52] [INFO] Built locationCoordinates from lat/lng: 36.16738,-85.60154
[2026-03-07 03:52:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000614","dispatchRunNumber":"2026000614","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4706,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.16738000000000141653799801133573055267333984375,"nERISIncidentLongitude":-85.6015399999999999636202119290828704833984375,"alarm":"2026-03-06 21:50:45","dispatched":"2026-03-06 21:51:06","enroute":"2026-03-06 21:52:45","incidentLocationCross":"CHURCH ST\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-06 21:52:45","timeenroutetoscene":"2026-03-06 21:52:45","policeReportNumber":"20260024959","dispatchNotes":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","cADLog":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"FRONT ST","incidentAddressTextVersionStreet":"4706 FRONT ST","locationCoordinates":"36.16738,-85.60154"}
[2026-03-07 03:52:52] [INFO] Number of extracted fields: 23
[2026-03-07 03:52:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 03:52:52] [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-07 03:52:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 03:52:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:52:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:52:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 03:52:52] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 03:52:52] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 03:52:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 03:52:52] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:52:52] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:52:53] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:52:53] [INFO] Found existing Dispatch with cADNumber '2026000614', ID: 69aba0af1f8e6a215 - will update instead of create
[2026-03-07 03:52:53] [INFO] Updated existing Dispatches record with ID: 69aba0af1f8e6a215
[2026-03-07 03:52:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035252.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024959_20260307_035252.XML
[2026-03-07 03:52:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035252.XML
[2026-03-07 03:52:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035253.XML
[2026-03-07 03:52:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035253.XML for user: 68f1466aed072ad4a
[2026-03-07 03:52:53] [INFO] File size: 6182 bytes
[2026-03-07 03:52:54] [INFO] Created FTPFiles record with ID: 69aba1160344b6c97
[2026-03-07 03:52:54] [INFO] About to extract fields from XML. File size: 6182 bytes
[2026-03-07 03:52:54] [INFO] Number of mappings: 28
[2026-03-07 03:52:54] [INFO] Starting XML parsing. Content length: 6182
[2026-03-07 03:52:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:52:54] [INFO] Processing 28 field mappings
[2026-03-07 03:52:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:52:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:52:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:52:54] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 03:52:54] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 03:52:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 03:52:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:52:54] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:52:54] [INFO]   -> Found value: 2026000614
[2026-03-07 03:52:54] [INFO]   -> Set field 'incidentInternalId' = "2026000614"
[2026-03-07 03:52:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000614"
[2026-03-07 03:52:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:52:54] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:52:54] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:52:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:52:54] [INFO]   -> Found value: 4706
[2026-03-07 03:52:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4706
[2026-03-07 03:52:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:52:54] [INFO]   -> Found value: TN
[2026-03-07 03:52:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:52:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:52:54] [INFO]   -> Found value: 38501
[2026-03-07 03:52:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:52:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:52:54] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:52:54] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:52:54] [INFO]   -> Found value: 36.16738
[2026-03-07 03:52:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.16738000000000141653799801133573055267333984375
[2026-03-07 03:52:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:52:54] [INFO]   -> Found value: -85.60154
[2026-03-07 03:52:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6015399999999999636202119290828704833984375
[2026-03-07 03:52:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:52:54] [INFO]   -> Found value: 2026-03-06 21:50:45
[2026-03-07 03:52:54] [INFO]   -> Set field 'alarm' = "2026-03-06 21:50:45"
[2026-03-07 03:52:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:52:54] [INFO]   -> Found value: 2026-03-06 21:51:06
[2026-03-07 03:52:54] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:51:06"
[2026-03-07 03:52:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:52:54] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:54] [INFO]   -> Set field 'enroute' = "2026-03-06 21:52:45"
[2026-03-07 03:52:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:52:54] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:52:54] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:52:54] [INFO]   -> Found value: CHURCH ST/WEST GATE RD
[2026-03-07 03:52:54] [INFO]   -> Set field 'incidentLocationCross' = "CHURCH ST\/WEST GATE RD"
[2026-03-07 03:52:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:52:54] [INFO]   -> Found value: TK31
[2026-03-07 03:52:54] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-07 03:52:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:52:54] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:54] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:52:45"
[2026-03-07 03:52:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:52:54] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 21:52:45"
[2026-03-07 03:52:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:52:54] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:52:54] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:52:54] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:52:54] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:52:54] [INFO]   -> Found value: 20260024959
[2026-03-07 03:52:54] [INFO]   -> Set field 'policeReportNumber' = "20260024959"
[2026-03-07 03:52:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:52:54] [INFO]   -> Found value: LARRY HUDDLESTON  [03/06/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03/06/26 21:51:58 TSCOTT] [...
[2026-03-07 03:52:54] [INFO]   -> Set field 'dispatchNotes' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:54] [INFO]   -> Set field 'cADLog' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:52:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:52:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:52:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:52:54] [INFO]   -> Found value: FRONT
[2026-03-07 03:52:54] [INFO]   -> Set field 'streetName' = "FRONT"
[2026-03-07 03:52:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:52:54] [INFO]   -> Found value: ST
[2026-03-07 03:52:54] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 03:52:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:52:54] [INFO]   -> Found value: 4706 FRONT ST
[2026-03-07 03:52:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4706 FRONT ST"
[2026-03-07 03:52:54] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:52:54] [INFO] Concatenating street name and type
[2026-03-07 03:52:54] [INFO]   -> Combined street name: FRONT ST
[2026-03-07 03:52:54] [INFO] Built locationCoordinates from lat/lng: 36.16738,-85.60154
[2026-03-07 03:52:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000614","dispatchRunNumber":"2026000614","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4706,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.16738000000000141653799801133573055267333984375,"nERISIncidentLongitude":-85.6015399999999999636202119290828704833984375,"alarm":"2026-03-06 21:50:45","dispatched":"2026-03-06 21:51:06","enroute":"2026-03-06 21:52:45","incidentLocationCross":"CHURCH ST\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-06 21:52:45","timeenroutetoscene":"2026-03-06 21:52:45","policeReportNumber":"20260024959","dispatchNotes":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","cADLog":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"FRONT ST","incidentAddressTextVersionStreet":"4706 FRONT ST","locationCoordinates":"36.16738,-85.60154"}
[2026-03-07 03:52:54] [INFO] Number of extracted fields: 23
[2026-03-07 03:52:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 03:52:54] [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-07 03:52:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 03:52:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:52:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:52:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 03:52: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-07 03:52: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-07 03:52:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 03:52:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:52:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:52:54] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:52:54] [INFO] Found existing Dispatch with cADNumber '2026000614', ID: 69aba0af1f8e6a215 - will update instead of create
[2026-03-07 03:52:54] [INFO] Updated existing Dispatches record with ID: 69aba0af1f8e6a215
[2026-03-07 03:52:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035253.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024959_20260307_035253.XML
[2026-03-07 03:52:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035253.XML
[2026-03-07 03:52:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035255.XML
[2026-03-07 03:52:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035255.XML for user: 68f1466aed072ad4a
[2026-03-07 03:52:55] [INFO] File size: 6182 bytes
[2026-03-07 03:52:55] [INFO] Created FTPFiles record with ID: 69aba117926ad1f8d
[2026-03-07 03:52:55] [INFO] About to extract fields from XML. File size: 6182 bytes
[2026-03-07 03:52:55] [INFO] Number of mappings: 28
[2026-03-07 03:52:55] [INFO] Starting XML parsing. Content length: 6182
[2026-03-07 03:52:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 03:52:55] [INFO] Processing 28 field mappings
[2026-03-07 03:52:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 03:52:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 03:52:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 03:52:55] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 03:52:55] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 03:52:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 03:52:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 03:52:55] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 03:52:55] [INFO]   -> Found value: 2026000614
[2026-03-07 03:52:55] [INFO]   -> Set field 'incidentInternalId' = "2026000614"
[2026-03-07 03:52:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000614"
[2026-03-07 03:52:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 03:52:55] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-07 03:52:55] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-07 03:52:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 03:52:55] [INFO]   -> Found value: 4706
[2026-03-07 03:52:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4706
[2026-03-07 03:52:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 03:52:55] [INFO]   -> Found value: TN
[2026-03-07 03:52:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 03:52:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 03:52:55] [INFO]   -> Found value: 38501
[2026-03-07 03:52:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 03:52:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 03:52:55] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 03:52:55] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 03:52:55] [INFO]   -> Found value: 36.16738
[2026-03-07 03:52:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.16738000000000141653799801133573055267333984375
[2026-03-07 03:52:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 03:52:55] [INFO]   -> Found value: -85.60154
[2026-03-07 03:52:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6015399999999999636202119290828704833984375
[2026-03-07 03:52:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 03:52:55] [INFO]   -> Found value: 2026-03-06 21:50:45
[2026-03-07 03:52:55] [INFO]   -> Set field 'alarm' = "2026-03-06 21:50:45"
[2026-03-07 03:52:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 03:52:55] [INFO]   -> Found value: 2026-03-06 21:51:06
[2026-03-07 03:52:55] [INFO]   -> Set field 'dispatched' = "2026-03-06 21:51:06"
[2026-03-07 03:52:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 03:52:55] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:55] [INFO]   -> Set field 'enroute' = "2026-03-06 21:52:45"
[2026-03-07 03:52:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 03:52:55] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 03:52:55] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 03:52:55] [INFO]   -> Found value: CHURCH ST/WEST GATE RD
[2026-03-07 03:52:55] [INFO]   -> Set field 'incidentLocationCross' = "CHURCH ST\/WEST GATE RD"
[2026-03-07 03:52:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 03:52:55] [INFO]   -> Found value: TK31
[2026-03-07 03:52:55] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-07 03:52:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 03:52:55] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:55] [INFO]   -> Set field 'timedispatch' = "2026-03-06 21:52:45"
[2026-03-07 03:52:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 03:52:55] [INFO]   -> Found value: 2026-03-06 21:52:45
[2026-03-07 03:52:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 21:52:45"
[2026-03-07 03:52:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 03:52:55] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 03:52:55] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 03:52:55] [INFO]   -> No value found (null or empty)
[2026-03-07 03:52:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 03:52:55] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 03:52:55] [INFO]   -> Found value: 20260024959
[2026-03-07 03:52:55] [INFO]   -> Set field 'policeReportNumber' = "20260024959"
[2026-03-07 03:52:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 03:52:55] [INFO]   -> Found value: LARRY HUDDLESTON  [03/06/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03/06/26 21:51:58 TSCOTT] [...
[2026-03-07 03:52:55] [INFO]   -> Set field 'dispatchNotes' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:55] [INFO]   -> Set field 'cADLog' = "LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]"
[2026-03-07 03:52:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 03:52:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 03:52:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 03:52:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 03:52:55] [INFO]   -> Found value: FRONT
[2026-03-07 03:52:55] [INFO]   -> Set field 'streetName' = "FRONT"
[2026-03-07 03:52:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 03:52:55] [INFO]   -> Found value: ST
[2026-03-07 03:52:55] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 03:52:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 03:52:55] [INFO]   -> Found value: 4706 FRONT ST
[2026-03-07 03:52:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4706 FRONT ST"
[2026-03-07 03:52:55] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 03:52:55] [INFO] Concatenating street name and type
[2026-03-07 03:52:55] [INFO]   -> Combined street name: FRONT ST
[2026-03-07 03:52:55] [INFO] Built locationCoordinates from lat/lng: 36.16738,-85.60154
[2026-03-07 03:52:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000614","dispatchRunNumber":"2026000614","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4706,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.16738000000000141653799801133573055267333984375,"nERISIncidentLongitude":-85.6015399999999999636202119290828704833984375,"alarm":"2026-03-06 21:50:45","dispatched":"2026-03-06 21:51:06","enroute":"2026-03-06 21:52:45","incidentLocationCross":"CHURCH ST\/WEST GATE RD","cADVehicleID":"TK31","timedispatch":"2026-03-06 21:52:45","timeenroutetoscene":"2026-03-06 21:52:45","policeReportNumber":"20260024959","dispatchNotes":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","cADLog":"LARRY HUDDLESTON  [03\/06\/26 21:52:26 TSCOTT] SITTING ON THE BACK PORCH  [03\/06\/26 21:51:58 TSCOTT] [EMS] 71 YOM  PT IS AWAKE AND ABLE TO TALK TO THE CALLER  WAS CLEANING A TRACTOR INSIDE THE CAB WITH A MASK ON BUT IS HAVING A REACTION TO THE CHEMICALS (GLASS CLEANER)  [03\/06\/26 21:51:46 TSCOTT] Event spawned from BREATHING PROBLEMS.  [03\/06\/2026 21:50:45 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"FRONT ST","incidentAddressTextVersionStreet":"4706 FRONT ST","locationCoordinates":"36.16738,-85.60154"}
[2026-03-07 03:52:55] [INFO] Number of extracted fields: 23
[2026-03-07 03:52:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 03:52:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 03:52:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 03:52:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 03:52:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 03:52:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 03:52:55] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 03:52:55] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 03:52:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 03:52:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 03:52:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 03:52:56] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-07 03:52:56] [INFO] Found existing Dispatch with cADNumber '2026000614', ID: 69aba0af1f8e6a215 - will update instead of create
[2026-03-07 03:52:56] [INFO] Updated existing Dispatches record with ID: 69aba0af1f8e6a215
[2026-03-07 03:52:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035255.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024959_20260307_035255.XML
[2026-03-07 03:52:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024959_20260307_035255.XML
[2026-03-07 04:46:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044630.XML
[2026-03-07 04:46:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044630.XML for user: 68f1466aed072ad4a
[2026-03-07 04:46:30] [INFO] File size: 5270 bytes
[2026-03-07 04:46:30] [INFO] Created FTPFiles record with ID: 69abada6519382d49
[2026-03-07 04:46:30] [INFO] About to extract fields from XML. File size: 5270 bytes
[2026-03-07 04:46:30] [INFO] Number of mappings: 28
[2026-03-07 04:46:30] [INFO] Starting XML parsing. Content length: 5270
[2026-03-07 04:46:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 04:46:30] [INFO] Processing 28 field mappings
[2026-03-07 04:46:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 04:46:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 04:46:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 04:46:30] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 04:46:30] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 04:46:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 04:46:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 04:46:30] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 04:46:30] [INFO]   -> Found value: 2026000615
[2026-03-07 04:46:30] [INFO]   -> Set field 'incidentInternalId' = "2026000615"
[2026-03-07 04:46:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000615"
[2026-03-07 04:46:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 04:46:30] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 04:46:30] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 04:46:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 04:46:30] [INFO]   -> Found value: 3467
[2026-03-07 04:46:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3467
[2026-03-07 04:46:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 04:46:30] [INFO]   -> Found value: TN
[2026-03-07 04:46:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 04:46:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 04:46:30] [INFO]   -> Found value: 38506
[2026-03-07 04:46:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 04:46:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 04:46:30] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:46:30] [INFO]   -> Set field 'businessName' = "3467 POPLAR GROVE RD"
[2026-03-07 04:46:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 04:46:30] [INFO]   -> Found value: 36.13495
[2026-03-07 04:46:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1349500000000034560798667371273040771484375
[2026-03-07 04:46:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 04:46:30] [INFO]   -> Found value: -85.43587
[2026-03-07 04:46:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.435869999999994206518749706447124481201171875
[2026-03-07 04:46:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 04:46:30] [INFO]   -> Found value: 2026-03-06 22:46:05
[2026-03-07 04:46:30] [INFO]   -> Set field 'alarm' = "2026-03-06 22:46:05"
[2026-03-07 04:46:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 04:46:30] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:46:30] [INFO]   -> Set field 'dispatched' = "2026-03-06 22:46:27"
[2026-03-07 04:46:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 04:46:30] [INFO]   -> Found value: N POINTE COVE CIR/RODGERS RD
[2026-03-07 04:46:30] [INFO]   -> Set field 'incidentLocationCross' = "N POINTE COVE CIR\/RODGERS RD"
[2026-03-07 04:46:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 04:46:30] [INFO]   -> Found value: PCFR
[2026-03-07 04:46:30] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 04:46:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 04:46:30] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:46:30] [INFO]   -> Set field 'timedispatch' = "2026-03-06 22:46:27"
[2026-03-07 04:46:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 04:46:30] [INFO]   -> No value found (null or empty)
[2026-03-07 04:46:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 04:46:30] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 04:46:30] [INFO]   -> Found value: 20260024982
[2026-03-07 04:46:30] [INFO]   -> Set field 'policeReportNumber' = "20260024982"
[2026-03-07 04:46:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 04:46:30] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/06/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS...
[2026-03-07 04:46:30] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:46:30] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:46:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 04:46:30] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 04:46:30] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 04:46:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 04:46:30] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 04:46:30] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 04:46:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 04:46:30] [INFO]   -> Found value: RD
[2026-03-07 04:46:30] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 04:46:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 04:46:30] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:46:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3467 POPLAR GROVE RD"
[2026-03-07 04:46:30] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-07 04:46:30] [INFO] Concatenating street name and type
[2026-03-07 04:46:30] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 04:46:30] [INFO] Built locationCoordinates from lat/lng: 36.13495,-85.43587
[2026-03-07 04:46:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000615","dispatchRunNumber":"2026000615","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3467,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"3467 POPLAR GROVE RD","nERISIncidentLatitude":36.1349500000000034560798667371273040771484375,"nERISIncidentLongitude":-85.435869999999994206518749706447124481201171875,"alarm":"2026-03-06 22:46:05","dispatched":"2026-03-06 22:46:27","incidentLocationCross":"N POINTE COVE CIR\/RODGERS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 22:46:27","policeReportNumber":"20260024982","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","cADLog":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"3467 POPLAR GROVE RD","locationCoordinates":"36.13495,-85.43587"}
[2026-03-07 04:46:30] [INFO] Number of extracted fields: 22
[2026-03-07 04:46:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 04:46:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 04:46:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 04:46:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 04:46:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 04:46:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 04:46: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-07 04:46: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-07 04:46:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 04:46:30] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 04:46:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 04:46:30] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 04:46:40] [INFO] Created new Dispatches record with ID: 69abada720e66af95
[2026-03-07 04:46:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044630.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024982_20260307_044630.XML
[2026-03-07 04:46:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044630.XML
[2026-03-07 04:48:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044851.XML
[2026-03-07 04:48:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044851.XML for user: 68f1466aed072ad4a
[2026-03-07 04:48:51] [INFO] File size: 6093 bytes
[2026-03-07 04:48:51] [INFO] Created FTPFiles record with ID: 69abae335afb7d811
[2026-03-07 04:48:51] [INFO] About to extract fields from XML. File size: 6093 bytes
[2026-03-07 04:48:51] [INFO] Number of mappings: 28
[2026-03-07 04:48:51] [INFO] Starting XML parsing. Content length: 6093
[2026-03-07 04:48:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 04:48:51] [INFO] Processing 28 field mappings
[2026-03-07 04:48:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 04:48:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 04:48:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 04:48:51] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 04:48:51] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 04:48:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 04:48:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 04:48:51] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 04:48:51] [INFO]   -> Found value: 2026000615
[2026-03-07 04:48:51] [INFO]   -> Set field 'incidentInternalId' = "2026000615"
[2026-03-07 04:48:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000615"
[2026-03-07 04:48:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 04:48:51] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 04:48:51] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 04:48:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 04:48:51] [INFO]   -> Found value: 3467
[2026-03-07 04:48:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3467
[2026-03-07 04:48:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 04:48:51] [INFO]   -> Found value: TN
[2026-03-07 04:48:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 04:48:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 04:48:51] [INFO]   -> Found value: 38506
[2026-03-07 04:48:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 04:48:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 04:48:51] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:51] [INFO]   -> Set field 'businessName' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 04:48:51] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 04:48:51] [INFO]   -> Found value: 36.13495
[2026-03-07 04:48:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1349500000000034560798667371273040771484375
[2026-03-07 04:48:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 04:48:51] [INFO]   -> Found value: -85.43587
[2026-03-07 04:48:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.435869999999994206518749706447124481201171875
[2026-03-07 04:48:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 04:48:51] [INFO]   -> Found value: 2026-03-06 22:46:05
[2026-03-07 04:48:51] [INFO]   -> Set field 'alarm' = "2026-03-06 22:46:05"
[2026-03-07 04:48:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 04:48:51] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:48:51] [INFO]   -> Set field 'dispatched' = "2026-03-06 22:46:27"
[2026-03-07 04:48:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 04:48:51] [INFO]   -> Found value: 2026-03-06 22:48:42
[2026-03-07 04:48:51] [INFO]   -> Set field 'enroute' = "2026-03-06 22:48:42"
[2026-03-07 04:48:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 04:48:51] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 04:48:51] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 04:48:51] [INFO]   -> Found value: N POINTE COVE CIR/RODGERS RD
[2026-03-07 04:48:51] [INFO]   -> Set field 'incidentLocationCross' = "N POINTE COVE CIR\/RODGERS RD"
[2026-03-07 04:48:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 04:48:51] [INFO]   -> Found value: SQ11
[2026-03-07 04:48:51] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 04:48:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 04:48:51] [INFO]   -> Found value: 2026-03-06 22:48:42
[2026-03-07 04:48:51] [INFO]   -> Set field 'timedispatch' = "2026-03-06 22:48:42"
[2026-03-07 04:48:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 04:48:51] [INFO]   -> Found value: 2026-03-06 22:48:42
[2026-03-07 04:48:51] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-06 22:48:42"
[2026-03-07 04:48:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 04:48:51] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 04:48:51] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 04:48:51] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 04:48:51] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 04:48:51] [INFO]   -> Found value: 20260024982
[2026-03-07 04:48:51] [INFO]   -> Set field 'policeReportNumber' = "20260024982"
[2026-03-07 04:48:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 04:48:51] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/06/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS...
[2026-03-07 04:48:51] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:51] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 04:48:51] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 04:48:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 04:48:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 04:48:51] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 04:48:51] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 04:48:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 04:48:51] [INFO]   -> Found value: RD
[2026-03-07 04:48:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 04:48:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 04:48:51] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:51] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 04:48:51] [INFO] Concatenating street name and type
[2026-03-07 04:48:51] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 04:48:51] [INFO] Built locationCoordinates from lat/lng: 36.13495,-85.43587
[2026-03-07 04:48:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000615","dispatchRunNumber":"2026000615","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3467,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"3467 POPLAR GROVE RD","nERISIncidentLatitude":36.1349500000000034560798667371273040771484375,"nERISIncidentLongitude":-85.435869999999994206518749706447124481201171875,"alarm":"2026-03-06 22:46:05","dispatched":"2026-03-06 22:46:27","enroute":"2026-03-06 22:48:42","incidentLocationCross":"N POINTE COVE CIR\/RODGERS RD","cADVehicleID":"SQ11","timedispatch":"2026-03-06 22:48:42","timeenroutetoscene":"2026-03-06 22:48:42","policeReportNumber":"20260024982","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","cADLog":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"3467 POPLAR GROVE RD","locationCoordinates":"36.13495,-85.43587"}
[2026-03-07 04:48:51] [INFO] Number of extracted fields: 24
[2026-03-07 04:48:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 04:48:51] [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-07 04:48:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 04:48:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 04:48:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 04:48:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 04:48:51] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 04:48:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 04:48:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 04:48:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 04:48:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 04:48:51] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 04:48:52] [INFO] Found existing Dispatch with cADNumber '2026000615', ID: 69abada720e66af95 - will update instead of create
[2026-03-07 04:48:52] [INFO] Updated existing Dispatches record with ID: 69abada720e66af95
[2026-03-07 04:48:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044851.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024982_20260307_044851.XML
[2026-03-07 04:48:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044851.XML
[2026-03-07 04:48:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044852.XML
[2026-03-07 04:48:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044852.XML for user: 68f1466aed072ad4a
[2026-03-07 04:48:52] [INFO] File size: 6298 bytes
[2026-03-07 04:48:52] [INFO] Created FTPFiles record with ID: 69abae34be8d96dcf
[2026-03-07 04:48:52] [INFO] About to extract fields from XML. File size: 6298 bytes
[2026-03-07 04:48:52] [INFO] Number of mappings: 28
[2026-03-07 04:48:52] [INFO] Starting XML parsing. Content length: 6298
[2026-03-07 04:48:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 04:48:52] [INFO] Processing 28 field mappings
[2026-03-07 04:48:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 04:48:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 04:48:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 04:48:52] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 04:48:52] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 04:48:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 04:48:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 04:48:52] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 04:48:52] [INFO]   -> Found value: 2026000615
[2026-03-07 04:48:52] [INFO]   -> Set field 'incidentInternalId' = "2026000615"
[2026-03-07 04:48:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000615"
[2026-03-07 04:48:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 04:48:52] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 04:48:52] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 04:48:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 04:48:52] [INFO]   -> Found value: 3467
[2026-03-07 04:48:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3467
[2026-03-07 04:48:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 04:48:52] [INFO]   -> Found value: TN
[2026-03-07 04:48:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 04:48:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 04:48:52] [INFO]   -> Found value: 38506
[2026-03-07 04:48:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 04:48:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 04:48:52] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:52] [INFO]   -> Set field 'businessName' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 04:48:52] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 04:48:52] [INFO]   -> Found value: 36.13495
[2026-03-07 04:48:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1349500000000034560798667371273040771484375
[2026-03-07 04:48:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 04:48:52] [INFO]   -> Found value: -85.43587
[2026-03-07 04:48:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.435869999999994206518749706447124481201171875
[2026-03-07 04:48:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 04:48:52] [INFO]   -> Found value: 2026-03-06 22:46:05
[2026-03-07 04:48:52] [INFO]   -> Set field 'alarm' = "2026-03-06 22:46:05"
[2026-03-07 04:48:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 04:48:52] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:48:52] [INFO]   -> Set field 'dispatched' = "2026-03-06 22:46:27"
[2026-03-07 04:48:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 04:48:52] [INFO]   -> Found value: 2026-03-06 22:48:42
[2026-03-07 04:48:52] [INFO]   -> Set field 'enroute' = "2026-03-06 22:48:42"
[2026-03-07 04:48:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 04:48:52] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 04:48:52] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 04:48:52] [INFO]   -> Found value: N POINTE COVE CIR/RODGERS RD
[2026-03-07 04:48:52] [INFO]   -> Set field 'incidentLocationCross' = "N POINTE COVE CIR\/RODGERS RD"
[2026-03-07 04:48:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 04:48:52] [INFO]   -> Found value: PCFR
[2026-03-07 04:48:52] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 04:48:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 04:48:52] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:48:52] [INFO]   -> Set field 'timedispatch' = "2026-03-06 22:46:27"
[2026-03-07 04:48:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 04:48:52] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 04:48:52] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 04:48:52] [INFO]   -> Found value: 2026-03-06 22:48:45
[2026-03-07 04:48:52] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 22:48:45"
[2026-03-07 04:48:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 04:48:52] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 04:48:52] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 04:48:52] [INFO]   -> Found value: 20260024982
[2026-03-07 04:48:52] [INFO]   -> Set field 'policeReportNumber' = "20260024982"
[2026-03-07 04:48:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 04:48:52] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/06/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS...
[2026-03-07 04:48:52] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:52] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 04:48:52] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 04:48:52] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 04:48:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 04:48:52] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 04:48:52] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 04:48:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 04:48:52] [INFO]   -> Found value: RD
[2026-03-07 04:48:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 04:48:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 04:48:52] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:52] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 04:48:52] [INFO] Concatenating street name and type
[2026-03-07 04:48:52] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 04:48:52] [INFO] Built locationCoordinates from lat/lng: 36.13495,-85.43587
[2026-03-07 04:48:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000615","dispatchRunNumber":"2026000615","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3467,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"3467 POPLAR GROVE RD","nERISIncidentLatitude":36.1349500000000034560798667371273040771484375,"nERISIncidentLongitude":-85.435869999999994206518749706447124481201171875,"alarm":"2026-03-06 22:46:05","dispatched":"2026-03-06 22:46:27","enroute":"2026-03-06 22:48:42","incidentLocationCross":"N POINTE COVE CIR\/RODGERS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 22:46:27","timeunitclear":"2026-03-06 22:48:45","policeReportNumber":"20260024982","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","cADLog":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"3467 POPLAR GROVE RD","locationCoordinates":"36.13495,-85.43587"}
[2026-03-07 04:48:52] [INFO] Number of extracted fields: 24
[2026-03-07 04:48:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 04:48:52] [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-07 04:48:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 04:48:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 04:48:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 04:48:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 04:48:53] [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-07 04:48:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 04:48:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 04:48:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 04:48:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 04:48:53] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 04:48:53] [INFO] Found existing Dispatch with cADNumber '2026000615', ID: 69abada720e66af95 - will update instead of create
[2026-03-07 04:48:53] [INFO] Updated existing Dispatches record with ID: 69abada720e66af95
[2026-03-07 04:48:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044852.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024982_20260307_044852.XML
[2026-03-07 04:48:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044852.XML
[2026-03-07 04:48:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854.XML
[2026-03-07 04:48:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854.XML for user: 68f1466aed072ad4a
[2026-03-07 04:48:54] [INFO] File size: 6298 bytes
[2026-03-07 04:48:54] [INFO] Created FTPFiles record with ID: 69abae36ca81766ca
[2026-03-07 04:48:54] [INFO] About to extract fields from XML. File size: 6298 bytes
[2026-03-07 04:48:54] [INFO] Number of mappings: 28
[2026-03-07 04:48:54] [INFO] Starting XML parsing. Content length: 6298
[2026-03-07 04:48:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 04:48:54] [INFO] Processing 28 field mappings
[2026-03-07 04:48:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 04:48:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 04:48:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 04:48:54] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 04:48:54] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 04:48:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 04:48:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 04:48:54] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 04:48:54] [INFO]   -> Found value: 2026000615
[2026-03-07 04:48:54] [INFO]   -> Set field 'incidentInternalId' = "2026000615"
[2026-03-07 04:48:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000615"
[2026-03-07 04:48:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 04:48:54] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 04:48:54] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 04:48:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 04:48:54] [INFO]   -> Found value: 3467
[2026-03-07 04:48:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3467
[2026-03-07 04:48:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 04:48:54] [INFO]   -> Found value: TN
[2026-03-07 04:48:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 04:48:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 04:48:54] [INFO]   -> Found value: 38506
[2026-03-07 04:48:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 04:48:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 04:48:54] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:54] [INFO]   -> Set field 'businessName' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 04:48:54] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 04:48:54] [INFO]   -> Found value: 36.13495
[2026-03-07 04:48:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1349500000000034560798667371273040771484375
[2026-03-07 04:48:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 04:48:54] [INFO]   -> Found value: -85.43587
[2026-03-07 04:48:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.435869999999994206518749706447124481201171875
[2026-03-07 04:48:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 04:48:54] [INFO]   -> Found value: 2026-03-06 22:46:05
[2026-03-07 04:48:54] [INFO]   -> Set field 'alarm' = "2026-03-06 22:46:05"
[2026-03-07 04:48:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 04:48:54] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:48:54] [INFO]   -> Set field 'dispatched' = "2026-03-06 22:46:27"
[2026-03-07 04:48:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 04:48:54] [INFO]   -> Found value: 2026-03-06 22:48:42
[2026-03-07 04:48:54] [INFO]   -> Set field 'enroute' = "2026-03-06 22:48:42"
[2026-03-07 04:48:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 04:48:54] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 04:48:54] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 04:48:54] [INFO]   -> Found value: N POINTE COVE CIR/RODGERS RD
[2026-03-07 04:48:54] [INFO]   -> Set field 'incidentLocationCross' = "N POINTE COVE CIR\/RODGERS RD"
[2026-03-07 04:48:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 04:48:54] [INFO]   -> Found value: PCFR
[2026-03-07 04:48:54] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 04:48:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 04:48:54] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:48:54] [INFO]   -> Set field 'timedispatch' = "2026-03-06 22:46:27"
[2026-03-07 04:48:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 04:48:54] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 04:48:54] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 04:48:54] [INFO]   -> Found value: 2026-03-06 22:48:45
[2026-03-07 04:48:54] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 22:48:45"
[2026-03-07 04:48:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 04:48:54] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 04:48:54] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 04:48:54] [INFO]   -> Found value: 20260024982
[2026-03-07 04:48:54] [INFO]   -> Set field 'policeReportNumber' = "20260024982"
[2026-03-07 04:48:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 04:48:54] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/06/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS...
[2026-03-07 04:48:54] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:54] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 04:48:54] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 04:48:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 04:48:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 04:48:54] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 04:48:54] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 04:48:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 04:48:54] [INFO]   -> Found value: RD
[2026-03-07 04:48:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 04:48:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 04:48:54] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:54] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 04:48:54] [INFO] Concatenating street name and type
[2026-03-07 04:48:54] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 04:48:54] [INFO] Built locationCoordinates from lat/lng: 36.13495,-85.43587
[2026-03-07 04:48:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000615","dispatchRunNumber":"2026000615","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3467,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"3467 POPLAR GROVE RD","nERISIncidentLatitude":36.1349500000000034560798667371273040771484375,"nERISIncidentLongitude":-85.435869999999994206518749706447124481201171875,"alarm":"2026-03-06 22:46:05","dispatched":"2026-03-06 22:46:27","enroute":"2026-03-06 22:48:42","incidentLocationCross":"N POINTE COVE CIR\/RODGERS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 22:46:27","timeunitclear":"2026-03-06 22:48:45","policeReportNumber":"20260024982","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","cADLog":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"3467 POPLAR GROVE RD","locationCoordinates":"36.13495,-85.43587"}
[2026-03-07 04:48:54] [INFO] Number of extracted fields: 24
[2026-03-07 04:48:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 04:48:54] [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-07 04:48:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 04:48:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 04:48:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 04:48:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 04:48: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-07 04:48: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-07 04:48:55] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 04:48:55] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 04:48:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 04:48:55] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 04:48:55] [INFO] Found existing Dispatch with cADNumber '2026000615', ID: 69abada720e66af95 - will update instead of create
[2026-03-07 04:48:55] [INFO] Updated existing Dispatches record with ID: 69abada720e66af95
[2026-03-07 04:48:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024982_20260307_044854.XML
[2026-03-07 04:48:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854.XML
[2026-03-07 04:48:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854_1.XML
[2026-03-07 04:48:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854_1.XML for user: 68f1466aed072ad4a
[2026-03-07 04:48:55] [INFO] File size: 6298 bytes
[2026-03-07 04:48:55] [INFO] Created FTPFiles record with ID: 69abae37e9ffc51d4
[2026-03-07 04:48:55] [INFO] About to extract fields from XML. File size: 6298 bytes
[2026-03-07 04:48:55] [INFO] Number of mappings: 28
[2026-03-07 04:48:55] [INFO] Starting XML parsing. Content length: 6298
[2026-03-07 04:48:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 04:48:55] [INFO] Processing 28 field mappings
[2026-03-07 04:48:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 04:48:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 04:48:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 04:48:55] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 04:48:55] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 04:48:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 04:48:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 04:48:55] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 04:48:55] [INFO]   -> Found value: 2026000615
[2026-03-07 04:48:55] [INFO]   -> Set field 'incidentInternalId' = "2026000615"
[2026-03-07 04:48:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000615"
[2026-03-07 04:48:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 04:48:55] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 04:48:55] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 04:48:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 04:48:55] [INFO]   -> Found value: 3467
[2026-03-07 04:48:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3467
[2026-03-07 04:48:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 04:48:55] [INFO]   -> Found value: TN
[2026-03-07 04:48:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 04:48:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 04:48:55] [INFO]   -> Found value: 38506
[2026-03-07 04:48:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 04:48:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 04:48:55] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:55] [INFO]   -> Set field 'businessName' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 04:48:55] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 04:48:55] [INFO]   -> Found value: 36.13495
[2026-03-07 04:48:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1349500000000034560798667371273040771484375
[2026-03-07 04:48:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 04:48:55] [INFO]   -> Found value: -85.43587
[2026-03-07 04:48:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.435869999999994206518749706447124481201171875
[2026-03-07 04:48:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 04:48:55] [INFO]   -> Found value: 2026-03-06 22:46:05
[2026-03-07 04:48:55] [INFO]   -> Set field 'alarm' = "2026-03-06 22:46:05"
[2026-03-07 04:48:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 04:48:55] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:48:55] [INFO]   -> Set field 'dispatched' = "2026-03-06 22:46:27"
[2026-03-07 04:48:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 04:48:55] [INFO]   -> Found value: 2026-03-06 22:48:42
[2026-03-07 04:48:55] [INFO]   -> Set field 'enroute' = "2026-03-06 22:48:42"
[2026-03-07 04:48:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 04:48:55] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 04:48:55] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 04:48:55] [INFO]   -> Found value: N POINTE COVE CIR/RODGERS RD
[2026-03-07 04:48:55] [INFO]   -> Set field 'incidentLocationCross' = "N POINTE COVE CIR\/RODGERS RD"
[2026-03-07 04:48:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 04:48:55] [INFO]   -> Found value: PCFR
[2026-03-07 04:48:55] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 04:48:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 04:48:55] [INFO]   -> Found value: 2026-03-06 22:46:27
[2026-03-07 04:48:55] [INFO]   -> Set field 'timedispatch' = "2026-03-06 22:46:27"
[2026-03-07 04:48:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 04:48:55] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 04:48:55] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 04:48:55] [INFO]   -> Found value: 2026-03-06 22:48:45
[2026-03-07 04:48:55] [INFO]   -> Set field 'timeunitclear' = "2026-03-06 22:48:45"
[2026-03-07 04:48:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 04:48:55] [INFO]   -> No value found (null or empty)
[2026-03-07 04:48:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 04:48:55] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 04:48:55] [INFO]   -> Found value: 20260024982
[2026-03-07 04:48:55] [INFO]   -> Set field 'policeReportNumber' = "20260024982"
[2026-03-07 04:48:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 04:48:55] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [03/06/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS...
[2026-03-07 04:48:55] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:55] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]"
[2026-03-07 04:48:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 04:48:55] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 04:48:55] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 04:48:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 04:48:55] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 04:48:55] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 04:48:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 04:48:55] [INFO]   -> Found value: RD
[2026-03-07 04:48:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 04:48:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 04:48:55] [INFO]   -> Found value: 3467 POPLAR GROVE RD
[2026-03-07 04:48:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3467 POPLAR GROVE RD"
[2026-03-07 04:48:55] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 04:48:55] [INFO] Concatenating street name and type
[2026-03-07 04:48:55] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 04:48:55] [INFO] Built locationCoordinates from lat/lng: 36.13495,-85.43587
[2026-03-07 04:48:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000615","dispatchRunNumber":"2026000615","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":3467,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"3467 POPLAR GROVE RD","nERISIncidentLatitude":36.1349500000000034560798667371273040771484375,"nERISIncidentLongitude":-85.435869999999994206518749706447124481201171875,"alarm":"2026-03-06 22:46:05","dispatched":"2026-03-06 22:46:27","enroute":"2026-03-06 22:48:42","incidentLocationCross":"N POINTE COVE CIR\/RODGERS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-06 22:46:27","timeunitclear":"2026-03-06 22:48:45","policeReportNumber":"20260024982","dispatchNotes":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","cADLog":"Event spawned from FALL VICTIM.  [03\/06\/2026 22:46:05 TSCOTT] WIFE HAS FALLEN  UNKNOWN INJURY  PT IS AWAKE AND ALERT  [03\/06\/26 22:46:03 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"3467 POPLAR GROVE RD","locationCoordinates":"36.13495,-85.43587"}
[2026-03-07 04:48:55] [INFO] Number of extracted fields: 24
[2026-03-07 04:48:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 04:48:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 04:48:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 04:48:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 04:48:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 04:48:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 04:48: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-07 04:48: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-07 04:48:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 04:48:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 04:48:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 04:48:56] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 04:48:56] [INFO] Found existing Dispatch with cADNumber '2026000615', ID: 69abada720e66af95 - will update instead of create
[2026-03-07 04:48:56] [INFO] Updated existing Dispatches record with ID: 69abada720e66af95
[2026-03-07 04:48:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260024982_20260307_044854_1.XML
[2026-03-07 04:48:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024982_20260307_044854_1.XML
[2026-03-07 08:18:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_081803.XML
[2026-03-07 08:18:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_081803.XML for user: 68f1466aed072ad4a
[2026-03-07 08:18:03] [INFO] File size: 5220 bytes
[2026-03-07 08:18:04] [INFO] Created FTPFiles record with ID: 69abdf3c3eabf8dd4
[2026-03-07 08:18:04] [INFO] About to extract fields from XML. File size: 5220 bytes
[2026-03-07 08:18:04] [INFO] Number of mappings: 28
[2026-03-07 08:18:04] [INFO] Starting XML parsing. Content length: 5220
[2026-03-07 08:18:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:18:04] [INFO] Processing 28 field mappings
[2026-03-07 08:18:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:18:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:18:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:18:04] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 08:18:04] [INFO]   -> Found value: MFD
EMS
MPD
[2026-03-07 08:18:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-03-07 08:18:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:18:04] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:18:04] [INFO]   -> Found value: 2026000084
[2026-03-07 08:18:04] [INFO]   -> Set field 'incidentInternalId' = "2026000084"
[2026-03-07 08:18:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000084"
[2026-03-07 08:18:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:18:04] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:18:04] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:18:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:18:04] [INFO]   -> Found value: 713
[2026-03-07 08:18:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:18:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:18:04] [INFO]   -> Found value: TN
[2026-03-07 08:18:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:18:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:18:04] [INFO]   -> Found value: 38574
[2026-03-07 08:18:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:18:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:18:04] [INFO]   -> Found value: 36.15030
[2026-03-07 08:18:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:18:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:18:04] [INFO]   -> Found value: -85.26041
[2026-03-07 08:18:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:18:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:18:04] [INFO]   -> Found value: 2026-03-07 02:17:27
[2026-03-07 08:18:04] [INFO]   -> Set field 'alarm' = "2026-03-07 02:17:27"
[2026-03-07 08:18:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:18:04] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:18:04] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:01"
[2026-03-07 08:18:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:18:04] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:18:04] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:18:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:18:04] [INFO]   -> Found value: MFR
[2026-03-07 08:18:04] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 08:18:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:18:04] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:18:04] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:18:01"
[2026-03-07 08:18:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:18:04] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:18:04] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:18:04] [INFO]   -> Found value: 20260025029
[2026-03-07 08:18:04] [INFO]   -> Set field 'policeReportNumber' = "20260025029"
[2026-03-07 08:18:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:18:04] [INFO]   -> Found value: Event spawned from OVERDOSE.  [03/07/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  P...
[2026-03-07 08:18:04] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:18:04] [INFO]   -> Set field 'cADLog' = "Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:18:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:18:04] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:18:04] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:18:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:18:04] [INFO]   -> Found value: ELM
[2026-03-07 08:18:04] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:18:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:18:04] [INFO]   -> Found value: ST
[2026-03-07 08:18:04] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:18:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:18:04] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:18:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:18:04] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 08:18:04] [INFO] Concatenating street name and type
[2026-03-07 08:18:04] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:18:04] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:18:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000084","dispatchRunNumber":"2026000084","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:17:27","dispatched":"2026-03-07 02:18:01","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"MFR","timedispatch":"2026-03-07 02:18:01","policeReportNumber":"20260025029","dispatchNotes":"Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:18:04] [INFO] Number of extracted fields: 21
[2026-03-07 08:18:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-03-07 08:18:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 08:18:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-03-07 08:18:04] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:18:04] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 08:18:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-03-07 08:18:04] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 08:18:04] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 08:18:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 08:18:04] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 08:18:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 08:18:04] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"OVERDOSE","saasclientId":"68e67aaba2bb4565e","name":"OVERDOSE"}
[2026-03-07 08:18:05] [INFO] Created new IncidentTypeMapping with ID: 69abdf3d0041a3e72
[2026-03-07 08:18:07] [INFO] Created new Dispatches record with ID: 69abdf3d49af1b595
[2026-03-07 08:18:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_081803.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260025029_20260307_081803.XML
[2026-03-07 08:18:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_081803.XML
[2026-03-07 08:18:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_081841.XML
[2026-03-07 08:18:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_081841.XML for user: 68f1466aed072ad4a
[2026-03-07 08:18:41] [INFO] File size: 5896 bytes
[2026-03-07 08:18:41] [INFO] Created FTPFiles record with ID: 69abdf6150f14aa7c
[2026-03-07 08:18:41] [INFO] About to extract fields from XML. File size: 5896 bytes
[2026-03-07 08:18:41] [INFO] Number of mappings: 28
[2026-03-07 08:18:41] [INFO] Starting XML parsing. Content length: 5896
[2026-03-07 08:18:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:18:41] [INFO] Processing 28 field mappings
[2026-03-07 08:18:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:18:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:18:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:18:41] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-07 08:18:41] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-07 08:18:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-07 08:18:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:18:41] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:18:41] [INFO]   -> Found value: 2026000616
[2026-03-07 08:18:41] [INFO]   -> Set field 'incidentInternalId' = "2026000616"
[2026-03-07 08:18:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000616"
[2026-03-07 08:18:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:18:41] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:18:41] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:18:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:18:41] [INFO]   -> Found value: 713
[2026-03-07 08:18:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:18:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:18:41] [INFO]   -> Found value: TN
[2026-03-07 08:18:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:18:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:18:41] [INFO]   -> Found value: 38574
[2026-03-07 08:18:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:18:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:18:41] [INFO]   -> Found value: 36.15030
[2026-03-07 08:18:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:18:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:18:41] [INFO]   -> Found value: -85.26041
[2026-03-07 08:18:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:18:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:18:41] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:18:41] [INFO]   -> Set field 'alarm' = "2026-03-07 02:18:37"
[2026-03-07 08:18:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:18:41] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:18:41] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:37"
[2026-03-07 08:18:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:18:41] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:18:41] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:18:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:18:41] [INFO]   -> Found value: PCFR
[2026-03-07 08:18:41] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 08:18:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:18:41] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:18:41] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:18:37"
[2026-03-07 08:18:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:18:41] [INFO]   -> No value found (null or empty)
[2026-03-07 08:18:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:18:41] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:18:41] [INFO]   -> Found value: 20260025031
[2026-03-07 08:18:41] [INFO]   -> Set field 'policeReportNumber' = "20260025031"
[2026-03-07 08:18:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:18:41] [INFO]   -> Found value: Event spawned from OVERDOSE.  [03/07/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [0...
[2026-03-07 08:18:41] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:18:41] [INFO]   -> Set field 'cADLog' = "Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:18:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:18:41] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:18:41] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:18:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:18:41] [INFO]   -> Found value: ELM
[2026-03-07 08:18:41] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:18:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:18:41] [INFO]   -> Found value: ST
[2026-03-07 08:18:41] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:18:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:18:41] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:18:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:18:41] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 08:18:41] [INFO] Concatenating street name and type
[2026-03-07 08:18:41] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:18:41] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:18:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000616","dispatchRunNumber":"2026000616","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:18:37","dispatched":"2026-03-07 02:18:37","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"PCFR","timedispatch":"2026-03-07 02:18:37","policeReportNumber":"20260025031","dispatchNotes":"Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:18:41] [INFO] Number of extracted fields: 21
[2026-03-07 08:18:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-07 08:18:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-07 08:18:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-07 08:18:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:18:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 08:18:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-07 08:18: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-07 08:18: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-07 08:18:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-07 08:18:41] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 08:18:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 08:18:41] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-07 08:18:51] [INFO] Created new Dispatches record with ID: 69abdf6216fe63c09
[2026-03-07 08:18:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_081841.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025031_20260307_081841.XML
[2026-03-07 08:18:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_081841.XML
[2026-03-07 08:21:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082143.XML
[2026-03-07 08:21:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082143.XML for user: 68f1466aed072ad4a
[2026-03-07 08:21:43] [INFO] File size: 7015 bytes
[2026-03-07 08:21:43] [INFO] Created FTPFiles record with ID: 69abe0174e4ae4486
[2026-03-07 08:21:43] [INFO] About to extract fields from XML. File size: 7015 bytes
[2026-03-07 08:21:43] [INFO] Number of mappings: 28
[2026-03-07 08:21:43] [INFO] Starting XML parsing. Content length: 7015
[2026-03-07 08:21:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:21:43] [INFO] Processing 28 field mappings
[2026-03-07 08:21:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:21:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:21:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:21:43] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-07 08:21:43] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-07 08:21:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-07 08:21:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:21:43] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:21:43] [INFO]   -> Found value: 2026000616
[2026-03-07 08:21:43] [INFO]   -> Set field 'incidentInternalId' = "2026000616"
[2026-03-07 08:21:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000616"
[2026-03-07 08:21:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:21:43] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:21:43] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:21:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:21:43] [INFO]   -> Found value: 713
[2026-03-07 08:21:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:21:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:21:43] [INFO]   -> Found value: TN
[2026-03-07 08:21:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:21:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:21:43] [INFO]   -> Found value: 38574
[2026-03-07 08:21:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:21:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:21:43] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:21:43] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:21:43] [INFO]   -> Found value: 36.15030
[2026-03-07 08:21:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:21:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:21:43] [INFO]   -> Found value: -85.26041
[2026-03-07 08:21:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:21:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:21:43] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:43] [INFO]   -> Set field 'alarm' = "2026-03-07 02:18:37"
[2026-03-07 08:21:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:21:43] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:43] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:37"
[2026-03-07 08:21:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:21:43] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:43] [INFO]   -> Set field 'enroute' = "2026-03-07 02:21:39"
[2026-03-07 08:21:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:21:43] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:21:43] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:21:43] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:21:43] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:21:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:21:43] [INFO]   -> Found value: TK21
[2026-03-07 08:21:43] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 08:21:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:21:43] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:43] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:21:39"
[2026-03-07 08:21:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:21:43] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:43] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 02:21:39"
[2026-03-07 08:21:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:21:43] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:21:43] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:21:43] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:21:43] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:21:43] [INFO]   -> Found value: 20260025031
[2026-03-07 08:21:43] [INFO]   -> Set field 'policeReportNumber' = "20260025031"
[2026-03-07 08:21:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:21:43] [INFO]   -> Found value: [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03/07/26 02:21:...
[2026-03-07 08:21:43] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:43] [INFO]   -> Set field 'cADLog' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:21:43] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:21:43] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:21:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:21:43] [INFO]   -> Found value: ELM
[2026-03-07 08:21:43] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:21:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:21:43] [INFO]   -> Found value: ST
[2026-03-07 08:21:43] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:21:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:21:43] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:21:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:21:43] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 08:21:43] [INFO] Concatenating street name and type
[2026-03-07 08:21:43] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:21:43] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:21:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000616","dispatchRunNumber":"2026000616","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:18:37","dispatched":"2026-03-07 02:18:37","enroute":"2026-03-07 02:21:39","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"TK21","timedispatch":"2026-03-07 02:21:39","timeenroutetoscene":"2026-03-07 02:21:39","policeReportNumber":"20260025031","dispatchNotes":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:21:43] [INFO] Number of extracted fields: 23
[2026-03-07 08:21:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-07 08:21:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-07 08:21:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:43] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:21:43] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 08:21:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:43] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 08:21:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 08:21:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-07 08:21:43] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 08:21:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 08:21:43] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-07 08:21:43] [INFO] Found existing Dispatch with cADNumber '2026000616', ID: 69abdf6216fe63c09 - will update instead of create
[2026-03-07 08:21:44] [INFO] Updated existing Dispatches record with ID: 69abdf6216fe63c09
[2026-03-07 08:21:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082143.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025031_20260307_082143.XML
[2026-03-07 08:21:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082143.XML
[2026-03-07 08:21:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082144.XML
[2026-03-07 08:21:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082144.XML for user: 68f1466aed072ad4a
[2026-03-07 08:21:44] [INFO] File size: 7015 bytes
[2026-03-07 08:21:44] [INFO] Created FTPFiles record with ID: 69abe018e4538c6f8
[2026-03-07 08:21:44] [INFO] About to extract fields from XML. File size: 7015 bytes
[2026-03-07 08:21:44] [INFO] Number of mappings: 28
[2026-03-07 08:21:44] [INFO] Starting XML parsing. Content length: 7015
[2026-03-07 08:21:44] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:21:44] [INFO] Processing 28 field mappings
[2026-03-07 08:21:44] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:21:44] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:21:44] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:21:44] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-07 08:21:44] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-07 08:21:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-07 08:21:44] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:21:44] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:21:44] [INFO]   -> Found value: 2026000616
[2026-03-07 08:21:44] [INFO]   -> Set field 'incidentInternalId' = "2026000616"
[2026-03-07 08:21:44] [INFO]   -> Set field 'dispatchRunNumber' = "2026000616"
[2026-03-07 08:21:44] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:21:44] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:21:44] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:21:44] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:21:44] [INFO]   -> Found value: 713
[2026-03-07 08:21:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:21:44] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:21:44] [INFO]   -> Found value: TN
[2026-03-07 08:21:44] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:21:44] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:21:44] [INFO]   -> Found value: 38574
[2026-03-07 08:21:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:21:44] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:21:44] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:44] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:21:44] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:44] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:21:44] [INFO]   -> Found value: 36.15030
[2026-03-07 08:21:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:21:44] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:21:44] [INFO]   -> Found value: -85.26041
[2026-03-07 08:21:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:21:44] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:21:44] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:44] [INFO]   -> Set field 'alarm' = "2026-03-07 02:18:37"
[2026-03-07 08:21:44] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:21:44] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:44] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:37"
[2026-03-07 08:21:44] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:21:44] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:44] [INFO]   -> Set field 'enroute' = "2026-03-07 02:21:39"
[2026-03-07 08:21:44] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:21:44] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:44] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:21:44] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:44] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:21:44] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:21:44] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:21:44] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:21:44] [INFO]   -> Found value: TK21
[2026-03-07 08:21:44] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 08:21:44] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:21:44] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:44] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:21:39"
[2026-03-07 08:21:44] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:21:44] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:44] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 02:21:39"
[2026-03-07 08:21:44] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:21:44] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:44] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:21:44] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:44] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:21:44] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:44] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:21:44] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:21:44] [INFO]   -> Found value: 20260025031
[2026-03-07 08:21:44] [INFO]   -> Set field 'policeReportNumber' = "20260025031"
[2026-03-07 08:21:44] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:21:44] [INFO]   -> Found value: [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03/07/26 02:21:...
[2026-03-07 08:21:44] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:44] [INFO]   -> Set field 'cADLog' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:44] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:21:44] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:21:44] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:21:44] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:21:44] [INFO]   -> Found value: ELM
[2026-03-07 08:21:44] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:21:44] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:21:44] [INFO]   -> Found value: ST
[2026-03-07 08:21:44] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:21:44] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:21:44] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:21:44] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:21:44] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 08:21:44] [INFO] Concatenating street name and type
[2026-03-07 08:21:44] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:21:44] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:21:44] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000616","dispatchRunNumber":"2026000616","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:18:37","dispatched":"2026-03-07 02:18:37","enroute":"2026-03-07 02:21:39","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"TK21","timedispatch":"2026-03-07 02:21:39","timeenroutetoscene":"2026-03-07 02:21:39","policeReportNumber":"20260025031","dispatchNotes":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:21:44] [INFO] Number of extracted fields: 23
[2026-03-07 08:21:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-07 08:21:44] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-07 08:21:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:44] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:21:45] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 08:21:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:45] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 08:21:45] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 08:21:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-07 08:21:45] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 08:21:45] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 08:21:45] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-07 08:21:45] [INFO] Found existing Dispatch with cADNumber '2026000616', ID: 69abdf6216fe63c09 - will update instead of create
[2026-03-07 08:21:45] [INFO] Updated existing Dispatches record with ID: 69abdf6216fe63c09
[2026-03-07 08:21:45] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082144.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025031_20260307_082144.XML
[2026-03-07 08:21:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082144.XML
[2026-03-07 08:21:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082146.XML
[2026-03-07 08:21:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082146.XML for user: 68f1466aed072ad4a
[2026-03-07 08:21:46] [INFO] File size: 7015 bytes
[2026-03-07 08:21:46] [INFO] Created FTPFiles record with ID: 69abe01a97dfdcb45
[2026-03-07 08:21:46] [INFO] About to extract fields from XML. File size: 7015 bytes
[2026-03-07 08:21:46] [INFO] Number of mappings: 28
[2026-03-07 08:21:46] [INFO] Starting XML parsing. Content length: 7015
[2026-03-07 08:21:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:21:46] [INFO] Processing 28 field mappings
[2026-03-07 08:21:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:21:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:21:46] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:21:46] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-07 08:21:46] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-07 08:21:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-07 08:21:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:21:46] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:21:46] [INFO]   -> Found value: 2026000616
[2026-03-07 08:21:46] [INFO]   -> Set field 'incidentInternalId' = "2026000616"
[2026-03-07 08:21:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000616"
[2026-03-07 08:21:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:21:46] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:21:46] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:21:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:21:46] [INFO]   -> Found value: 713
[2026-03-07 08:21:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:21:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:21:46] [INFO]   -> Found value: TN
[2026-03-07 08:21:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:21:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:21:46] [INFO]   -> Found value: 38574
[2026-03-07 08:21:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:21:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:21:46] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:21:46] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:21:46] [INFO]   -> Found value: 36.15030
[2026-03-07 08:21:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:21:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:21:46] [INFO]   -> Found value: -85.26041
[2026-03-07 08:21:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:21:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:21:46] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:46] [INFO]   -> Set field 'alarm' = "2026-03-07 02:18:37"
[2026-03-07 08:21:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:21:46] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:46] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:37"
[2026-03-07 08:21:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:21:46] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:46] [INFO]   -> Set field 'enroute' = "2026-03-07 02:21:39"
[2026-03-07 08:21:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:21:46] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:21:46] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:21:46] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:21:46] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:21:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:21:46] [INFO]   -> Found value: TK21
[2026-03-07 08:21:46] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 08:21:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:21:46] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:46] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:21:39"
[2026-03-07 08:21:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:21:46] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:46] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 02:21:39"
[2026-03-07 08:21:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:21:46] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:21:46] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:21:46] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:21:46] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:21:46] [INFO]   -> Found value: 20260025031
[2026-03-07 08:21:46] [INFO]   -> Set field 'policeReportNumber' = "20260025031"
[2026-03-07 08:21:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:21:46] [INFO]   -> Found value: [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03/07/26 02:21:...
[2026-03-07 08:21:46] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:46] [INFO]   -> Set field 'cADLog' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:21:46] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:21:46] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:21:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:21:46] [INFO]   -> Found value: ELM
[2026-03-07 08:21:46] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:21:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:21:46] [INFO]   -> Found value: ST
[2026-03-07 08:21:46] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:21:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:21:46] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:21:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:21:46] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 08:21:46] [INFO] Concatenating street name and type
[2026-03-07 08:21:46] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:21:46] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:21:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000616","dispatchRunNumber":"2026000616","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:18:37","dispatched":"2026-03-07 02:18:37","enroute":"2026-03-07 02:21:39","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"TK21","timedispatch":"2026-03-07 02:21:39","timeenroutetoscene":"2026-03-07 02:21:39","policeReportNumber":"20260025031","dispatchNotes":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:21:46] [INFO] Number of extracted fields: 23
[2026-03-07 08:21:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-07 08:21:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-07 08:21:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:46] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:21:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 08:21:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:46] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 08:21:46] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 08:21:46] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-07 08:21:46] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 08:21:46] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 08:21:47] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-07 08:21:47] [INFO] Found existing Dispatch with cADNumber '2026000616', ID: 69abdf6216fe63c09 - will update instead of create
[2026-03-07 08:21:47] [INFO] Updated existing Dispatches record with ID: 69abdf6216fe63c09
[2026-03-07 08:21:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082146.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025031_20260307_082146.XML
[2026-03-07 08:21:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082146.XML
[2026-03-07 08:21:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082150.XML
[2026-03-07 08:21:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082150.XML for user: 68f1466aed072ad4a
[2026-03-07 08:21:50] [INFO] File size: 7015 bytes
[2026-03-07 08:21:50] [INFO] Created FTPFiles record with ID: 69abe01ec688c9fcd
[2026-03-07 08:21:50] [INFO] About to extract fields from XML. File size: 7015 bytes
[2026-03-07 08:21:50] [INFO] Number of mappings: 28
[2026-03-07 08:21:50] [INFO] Starting XML parsing. Content length: 7015
[2026-03-07 08:21:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:21:50] [INFO] Processing 28 field mappings
[2026-03-07 08:21:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:21:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:21:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:21:50] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-07 08:21:50] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-03-07 08:21:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-03-07 08:21:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:21:50] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:21:50] [INFO]   -> Found value: 2026000616
[2026-03-07 08:21:50] [INFO]   -> Set field 'incidentInternalId' = "2026000616"
[2026-03-07 08:21:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000616"
[2026-03-07 08:21:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:21:50] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:21:50] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:21:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:21:50] [INFO]   -> Found value: 713
[2026-03-07 08:21:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:21:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:21:50] [INFO]   -> Found value: TN
[2026-03-07 08:21:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:21:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:21:50] [INFO]   -> Found value: 38574
[2026-03-07 08:21:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:21:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:21:50] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:21:50] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:21:50] [INFO]   -> Found value: 36.15030
[2026-03-07 08:21:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:21:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:21:50] [INFO]   -> Found value: -85.26041
[2026-03-07 08:21:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:21:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:21:50] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:50] [INFO]   -> Set field 'alarm' = "2026-03-07 02:18:37"
[2026-03-07 08:21:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:21:50] [INFO]   -> Found value: 2026-03-07 02:18:37
[2026-03-07 08:21:50] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:37"
[2026-03-07 08:21:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:21:50] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:50] [INFO]   -> Set field 'enroute' = "2026-03-07 02:21:39"
[2026-03-07 08:21:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:21:50] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:21:50] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:21:50] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:21:50] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:21:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:21:50] [INFO]   -> Found value: TK21
[2026-03-07 08:21:50] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 08:21:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:21:50] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:50] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:21:39"
[2026-03-07 08:21:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:21:50] [INFO]   -> Found value: 2026-03-07 02:21:39
[2026-03-07 08:21:50] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 02:21:39"
[2026-03-07 08:21:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:21:50] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:21:50] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:21:50] [INFO]   -> No value found (null or empty)
[2026-03-07 08:21:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:21:50] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:21:50] [INFO]   -> Found value: 20260025031
[2026-03-07 08:21:50] [INFO]   -> Set field 'policeReportNumber' = "20260025031"
[2026-03-07 08:21:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:21:50] [INFO]   -> Found value: [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03/07/26 02:21:...
[2026-03-07 08:21:50] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:50] [INFO]   -> Set field 'cADLog' = "[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:21:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:21:50] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:21:50] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:21:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:21:50] [INFO]   -> Found value: ELM
[2026-03-07 08:21:50] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:21:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:21:50] [INFO]   -> Found value: ST
[2026-03-07 08:21:50] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:21:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:21:50] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:21:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:21:50] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 08:21:50] [INFO] Concatenating street name and type
[2026-03-07 08:21:50] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:21:50] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:21:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000616","dispatchRunNumber":"2026000616","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:18:37","dispatched":"2026-03-07 02:18:37","enroute":"2026-03-07 02:21:39","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"TK21","timedispatch":"2026-03-07 02:21:39","timeenroutetoscene":"2026-03-07 02:21:39","policeReportNumber":"20260025031","dispatchNotes":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:18:37 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:21:50] [INFO] Number of extracted fields: 23
[2026-03-07 08:21:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-03-07 08:21:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-07 08:21:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:21:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 08:21:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-03-07 08:21:51] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 08:21:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 08:21:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-07 08:21:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 08:21:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 08:21:51] [INFO] Found existing IncidentTypeMapping with ID: 6951b92ddedb2f2fc
[2026-03-07 08:21:51] [INFO] Found existing Dispatch with cADNumber '2026000616', ID: 69abdf6216fe63c09 - will update instead of create
[2026-03-07 08:21:51] [INFO] Updated existing Dispatches record with ID: 69abdf6216fe63c09
[2026-03-07 08:21:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082150.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025031_20260307_082150.XML
[2026-03-07 08:21:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025031_20260307_082150.XML
[2026-03-07 08:39:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083925.XML
[2026-03-07 08:39:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083925.XML for user: 68f1466aed072ad4a
[2026-03-07 08:39:25] [INFO] File size: 6038 bytes
[2026-03-07 08:39:25] [INFO] Created FTPFiles record with ID: 69abe43d873fe7c94
[2026-03-07 08:39:25] [INFO] About to extract fields from XML. File size: 6038 bytes
[2026-03-07 08:39:25] [INFO] Number of mappings: 28
[2026-03-07 08:39:25] [INFO] Starting XML parsing. Content length: 6038
[2026-03-07 08:39:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:39:25] [INFO] Processing 28 field mappings
[2026-03-07 08:39:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:39:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:39:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:39:25] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 08:39:25] [INFO]   -> Found value: MFD
RESC
PCFD
[2026-03-07 08:39:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC\nPCFD"
[2026-03-07 08:39:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:39:25] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:39:25] [INFO]   -> Found value: 2026000084
[2026-03-07 08:39:25] [INFO]   -> Set field 'incidentInternalId' = "2026000084"
[2026-03-07 08:39:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000084"
[2026-03-07 08:39:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:39:25] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:39:25] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:39:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:39:25] [INFO]   -> Found value: 713
[2026-03-07 08:39:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:39:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:39:25] [INFO]   -> Found value: TN
[2026-03-07 08:39:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:39:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:39:25] [INFO]   -> Found value: 38574
[2026-03-07 08:39:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:39:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:39:25] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:39:25] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:39:25] [INFO]   -> Found value: 36.15030
[2026-03-07 08:39:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:39:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:39:25] [INFO]   -> Found value: -85.26041
[2026-03-07 08:39:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:39:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:39:25] [INFO]   -> Found value: 2026-03-07 02:17:27
[2026-03-07 08:39:25] [INFO]   -> Set field 'alarm' = "2026-03-07 02:17:27"
[2026-03-07 08:39:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:39:25] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:25] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:01"
[2026-03-07 08:39:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:39:25] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:39:25] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:39:25] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:25] [INFO]   -> Set field 'cleared' = "2026-03-07 02:39:12"
[2026-03-07 08:39:25] [INFO]   -> Set field 'inService' = "2026-03-07 02:39:12"
[2026-03-07 08:39:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:39:25] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:39:25] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:39:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:39:25] [INFO]   -> Found value: MFR
[2026-03-07 08:39:25] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 08:39:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:39:25] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:25] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:18:01"
[2026-03-07 08:39:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:39:25] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:39:25] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:39:25] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:25] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 02:39:12"
[2026-03-07 08:39:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:39:25] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:39:25] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:39:25] [INFO]   -> Found value: 20260025029
[2026-03-07 08:39:25] [INFO]   -> Set field 'policeReportNumber' = "20260025029"
[2026-03-07 08:39:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:39:25] [INFO]   -> Found value: [LAW] {M107} NARCAN ADMINISTERED  [03/07/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - ...
[2026-03-07 08:39:25] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:25] [INFO]   -> Set field 'cADLog' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:39:25] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:39:25] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:39:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:39:25] [INFO]   -> Found value: ELM
[2026-03-07 08:39:25] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:39:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:39:25] [INFO]   -> Found value: ST
[2026-03-07 08:39:25] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:39:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:39:25] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:39:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:39:25] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 08:39:25] [INFO] Concatenating street name and type
[2026-03-07 08:39:25] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:39:25] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:39:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC\nPCFD","incidentInternalId":"2026000084","dispatchRunNumber":"2026000084","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:17:27","dispatched":"2026-03-07 02:18:01","cleared":"2026-03-07 02:39:12","inService":"2026-03-07 02:39:12","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"MFR","timedispatch":"2026-03-07 02:18:01","timeunitclear":"2026-03-07 02:39:12","policeReportNumber":"20260025029","dispatchNotes":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:39:25] [INFO] Number of extracted fields: 24
[2026-03-07 08:39:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC
PCFD'
[2026-03-07 08:39:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC
PCFD', Parsed IDs = ["MFD","RESC","PCFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 08:39:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC","PCFD"]
[2026-03-07 08:39:25] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:39:25] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 08:39:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC","PCFD"]
[2026-03-07 08:39:25] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 08:39:25] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 08:39:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 08:39:25] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 08:39:25] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 08:39:26] [INFO] Found existing IncidentTypeMapping with ID: 69abdf3d0041a3e72
[2026-03-07 08:39:26] [INFO] Found existing Dispatch with cADNumber '2026000084', ID: 69abdf3d49af1b595 - will update instead of create
[2026-03-07 08:39:26] [INFO] Updated existing Dispatches record with ID: 69abdf3d49af1b595
[2026-03-07 08:39:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083925.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260025029_20260307_083925.XML
[2026-03-07 08:39:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083925.XML
[2026-03-07 08:39:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083930.XML
[2026-03-07 08:39:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083930.XML for user: 68f1466aed072ad4a
[2026-03-07 08:39:30] [INFO] File size: 6038 bytes
[2026-03-07 08:39:30] [INFO] Created FTPFiles record with ID: 69abe442d2548d457
[2026-03-07 08:39:30] [INFO] About to extract fields from XML. File size: 6038 bytes
[2026-03-07 08:39:30] [INFO] Number of mappings: 28
[2026-03-07 08:39:30] [INFO] Starting XML parsing. Content length: 6038
[2026-03-07 08:39:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:39:30] [INFO] Processing 28 field mappings
[2026-03-07 08:39:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:39:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:39:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:39:30] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 08:39:30] [INFO]   -> Found value: MFD
RESC
PCFD
[2026-03-07 08:39:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC\nPCFD"
[2026-03-07 08:39:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:39:30] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:39:30] [INFO]   -> Found value: 2026000084
[2026-03-07 08:39:30] [INFO]   -> Set field 'incidentInternalId' = "2026000084"
[2026-03-07 08:39:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000084"
[2026-03-07 08:39:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:39:30] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:39:30] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:39:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:39:30] [INFO]   -> Found value: 713
[2026-03-07 08:39:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:39:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:39:30] [INFO]   -> Found value: TN
[2026-03-07 08:39:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:39:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:39:30] [INFO]   -> Found value: 38574
[2026-03-07 08:39:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:39:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:39:30] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:39:30] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:39:30] [INFO]   -> Found value: 36.15030
[2026-03-07 08:39:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:39:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:39:30] [INFO]   -> Found value: -85.26041
[2026-03-07 08:39:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:39:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:39:30] [INFO]   -> Found value: 2026-03-07 02:17:27
[2026-03-07 08:39:30] [INFO]   -> Set field 'alarm' = "2026-03-07 02:17:27"
[2026-03-07 08:39:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:39:30] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:30] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:01"
[2026-03-07 08:39:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:39:30] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:39:30] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:39:30] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:30] [INFO]   -> Set field 'cleared' = "2026-03-07 02:39:12"
[2026-03-07 08:39:30] [INFO]   -> Set field 'inService' = "2026-03-07 02:39:12"
[2026-03-07 08:39:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:39:30] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:39:30] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:39:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:39:30] [INFO]   -> Found value: MFR
[2026-03-07 08:39:30] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 08:39:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:39:30] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:30] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:18:01"
[2026-03-07 08:39:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:39:30] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:39:30] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:39:30] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:30] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 02:39:12"
[2026-03-07 08:39:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:39:30] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:39:30] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:39:30] [INFO]   -> Found value: 20260025029
[2026-03-07 08:39:30] [INFO]   -> Set field 'policeReportNumber' = "20260025029"
[2026-03-07 08:39:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:39:30] [INFO]   -> Found value: [LAW] {M107} NARCAN ADMINISTERED  [03/07/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - ...
[2026-03-07 08:39:30] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:30] [INFO]   -> Set field 'cADLog' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:39:30] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:39:30] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:39:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:39:30] [INFO]   -> Found value: ELM
[2026-03-07 08:39:30] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:39:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:39:30] [INFO]   -> Found value: ST
[2026-03-07 08:39:30] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:39:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:39:30] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:39:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:39:30] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 08:39:30] [INFO] Concatenating street name and type
[2026-03-07 08:39:30] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:39:30] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:39:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC\nPCFD","incidentInternalId":"2026000084","dispatchRunNumber":"2026000084","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:17:27","dispatched":"2026-03-07 02:18:01","cleared":"2026-03-07 02:39:12","inService":"2026-03-07 02:39:12","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"MFR","timedispatch":"2026-03-07 02:18:01","timeunitclear":"2026-03-07 02:39:12","policeReportNumber":"20260025029","dispatchNotes":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:39:30] [INFO] Number of extracted fields: 24
[2026-03-07 08:39:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC
PCFD'
[2026-03-07 08:39:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC
PCFD', Parsed IDs = ["MFD","RESC","PCFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 08:39:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC","PCFD"]
[2026-03-07 08:39:30] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:39:31] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 08:39:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC","PCFD"]
[2026-03-07 08:39:31] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 08:39:31] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 08:39:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 08:39:31] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 08:39:31] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 08:39:31] [INFO] Found existing IncidentTypeMapping with ID: 69abdf3d0041a3e72
[2026-03-07 08:39:31] [INFO] Found existing Dispatch with cADNumber '2026000084', ID: 69abdf3d49af1b595 - will update instead of create
[2026-03-07 08:39:31] [INFO] Updated existing Dispatches record with ID: 69abdf3d49af1b595
[2026-03-07 08:39:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083930.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260025029_20260307_083930.XML
[2026-03-07 08:39:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083930.XML
[2026-03-07 08:39:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083931.XML
[2026-03-07 08:39:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083931.XML for user: 68f1466aed072ad4a
[2026-03-07 08:39:31] [INFO] File size: 6038 bytes
[2026-03-07 08:39:32] [INFO] Created FTPFiles record with ID: 69abe4441fef9821c
[2026-03-07 08:39:32] [INFO] About to extract fields from XML. File size: 6038 bytes
[2026-03-07 08:39:32] [INFO] Number of mappings: 28
[2026-03-07 08:39:32] [INFO] Starting XML parsing. Content length: 6038
[2026-03-07 08:39:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:39:32] [INFO] Processing 28 field mappings
[2026-03-07 08:39:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:39:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:39:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:39:32] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 08:39:32] [INFO]   -> Found value: MFD
RESC
PCFD
[2026-03-07 08:39:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC\nPCFD"
[2026-03-07 08:39:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:39:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:39:32] [INFO]   -> Found value: 2026000084
[2026-03-07 08:39:32] [INFO]   -> Set field 'incidentInternalId' = "2026000084"
[2026-03-07 08:39:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000084"
[2026-03-07 08:39:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:39:32] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:39:32] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:39:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:39:32] [INFO]   -> Found value: 713
[2026-03-07 08:39:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:39:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:39:32] [INFO]   -> Found value: TN
[2026-03-07 08:39:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:39:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:39:32] [INFO]   -> Found value: 38574
[2026-03-07 08:39:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:39:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:39:32] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:39:32] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:39:32] [INFO]   -> Found value: 36.15030
[2026-03-07 08:39:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:39:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:39:32] [INFO]   -> Found value: -85.26041
[2026-03-07 08:39:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:39:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:39:32] [INFO]   -> Found value: 2026-03-07 02:17:27
[2026-03-07 08:39:32] [INFO]   -> Set field 'alarm' = "2026-03-07 02:17:27"
[2026-03-07 08:39:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:39:32] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:32] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:01"
[2026-03-07 08:39:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:39:32] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:39:32] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:39:32] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:32] [INFO]   -> Set field 'cleared' = "2026-03-07 02:39:12"
[2026-03-07 08:39:32] [INFO]   -> Set field 'inService' = "2026-03-07 02:39:12"
[2026-03-07 08:39:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:39:32] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:39:32] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:39:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:39:32] [INFO]   -> Found value: MFR
[2026-03-07 08:39:32] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 08:39:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:39:32] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:32] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:18:01"
[2026-03-07 08:39:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:39:32] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:39:32] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:39:32] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:32] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 02:39:12"
[2026-03-07 08:39:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:39:32] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:39:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:39:32] [INFO]   -> Found value: 20260025029
[2026-03-07 08:39:32] [INFO]   -> Set field 'policeReportNumber' = "20260025029"
[2026-03-07 08:39:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:39:32] [INFO]   -> Found value: [LAW] {M107} NARCAN ADMINISTERED  [03/07/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - ...
[2026-03-07 08:39:32] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:32] [INFO]   -> Set field 'cADLog' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:39:32] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:39:32] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:39:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:39:32] [INFO]   -> Found value: ELM
[2026-03-07 08:39:32] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:39:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:39:32] [INFO]   -> Found value: ST
[2026-03-07 08:39:32] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:39:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:39:32] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:39:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:39:32] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 08:39:32] [INFO] Concatenating street name and type
[2026-03-07 08:39:32] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:39:32] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:39:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC\nPCFD","incidentInternalId":"2026000084","dispatchRunNumber":"2026000084","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:17:27","dispatched":"2026-03-07 02:18:01","cleared":"2026-03-07 02:39:12","inService":"2026-03-07 02:39:12","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"MFR","timedispatch":"2026-03-07 02:18:01","timeunitclear":"2026-03-07 02:39:12","policeReportNumber":"20260025029","dispatchNotes":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:39:32] [INFO] Number of extracted fields: 24
[2026-03-07 08:39:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC
PCFD'
[2026-03-07 08:39:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC
PCFD', Parsed IDs = ["MFD","RESC","PCFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 08:39:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC","PCFD"]
[2026-03-07 08:39:32] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:39:32] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 08:39:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC","PCFD"]
[2026-03-07 08:39:32] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 08:39:32] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 08:39:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 08:39:32] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 08:39:32] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 08:39:32] [INFO] Found existing IncidentTypeMapping with ID: 69abdf3d0041a3e72
[2026-03-07 08:39:32] [INFO] Found existing Dispatch with cADNumber '2026000084', ID: 69abdf3d49af1b595 - will update instead of create
[2026-03-07 08:39:33] [INFO] Updated existing Dispatches record with ID: 69abdf3d49af1b595
[2026-03-07 08:39:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083931.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260025029_20260307_083931.XML
[2026-03-07 08:39:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083931.XML
[2026-03-07 08:39:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083932.XML
[2026-03-07 08:39:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083932.XML for user: 68f1466aed072ad4a
[2026-03-07 08:39:33] [INFO] File size: 6038 bytes
[2026-03-07 08:39:33] [INFO] Created FTPFiles record with ID: 69abe4455a04ed4ee
[2026-03-07 08:39:33] [INFO] About to extract fields from XML. File size: 6038 bytes
[2026-03-07 08:39:33] [INFO] Number of mappings: 28
[2026-03-07 08:39:33] [INFO] Starting XML parsing. Content length: 6038
[2026-03-07 08:39:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 08:39:33] [INFO] Processing 28 field mappings
[2026-03-07 08:39:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 08:39:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 08:39:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 08:39:33] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 08:39:33] [INFO]   -> Found value: MFD
RESC
PCFD
[2026-03-07 08:39:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nRESC\nPCFD"
[2026-03-07 08:39:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 08:39:33] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 08:39:33] [INFO]   -> Found value: 2026000084
[2026-03-07 08:39:33] [INFO]   -> Set field 'incidentInternalId' = "2026000084"
[2026-03-07 08:39:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000084"
[2026-03-07 08:39:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 08:39:33] [INFO]   -> Found value: OVERDOSE
[2026-03-07 08:39:33] [INFO]   -> Set field 'incidentTypeValue1' = "OVERDOSE"
[2026-03-07 08:39:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 08:39:33] [INFO]   -> Found value: 713
[2026-03-07 08:39:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-03-07 08:39:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 08:39:33] [INFO]   -> Found value: TN
[2026-03-07 08:39:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 08:39:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 08:39:33] [INFO]   -> Found value: 38574
[2026-03-07 08:39:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-07 08:39:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 08:39:33] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 08:39:33] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 08:39:33] [INFO]   -> Found value: 36.15030
[2026-03-07 08:39:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1503000000000014324541552923619747161865234375
[2026-03-07 08:39:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 08:39:33] [INFO]   -> Found value: -85.26041
[2026-03-07 08:39:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2604099999999931469574221409857273101806640625
[2026-03-07 08:39:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 08:39:33] [INFO]   -> Found value: 2026-03-07 02:17:27
[2026-03-07 08:39:33] [INFO]   -> Set field 'alarm' = "2026-03-07 02:17:27"
[2026-03-07 08:39:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 08:39:33] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:33] [INFO]   -> Set field 'dispatched' = "2026-03-07 02:18:01"
[2026-03-07 08:39:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 08:39:33] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 08:39:33] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 08:39:33] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:33] [INFO]   -> Set field 'cleared' = "2026-03-07 02:39:12"
[2026-03-07 08:39:33] [INFO]   -> Set field 'inService' = "2026-03-07 02:39:12"
[2026-03-07 08:39:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 08:39:33] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2026-03-07 08:39:33] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2026-03-07 08:39:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 08:39:33] [INFO]   -> Found value: MFR
[2026-03-07 08:39:33] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-03-07 08:39:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 08:39:33] [INFO]   -> Found value: 2026-03-07 02:18:01
[2026-03-07 08:39:33] [INFO]   -> Set field 'timedispatch' = "2026-03-07 02:18:01"
[2026-03-07 08:39:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 08:39:33] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 08:39:33] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 08:39:33] [INFO]   -> Found value: 2026-03-07 02:39:12
[2026-03-07 08:39:33] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 02:39:12"
[2026-03-07 08:39:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 08:39:33] [INFO]   -> No value found (null or empty)
[2026-03-07 08:39:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 08:39:33] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 08:39:33] [INFO]   -> Found value: 20260025029
[2026-03-07 08:39:33] [INFO]   -> Set field 'policeReportNumber' = "20260025029"
[2026-03-07 08:39:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 08:39:33] [INFO]   -> Found value: [LAW] {M107} NARCAN ADMINISTERED  [03/07/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - ...
[2026-03-07 08:39:33] [INFO]   -> Set field 'dispatchNotes' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:33] [INFO]   -> Set field 'cADLog' = "[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]"
[2026-03-07 08:39:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 08:39:33] [INFO]   -> Found value: MONTEREY
[2026-03-07 08:39:33] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-07 08:39:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 08:39:33] [INFO]   -> Found value: ELM
[2026-03-07 08:39:33] [INFO]   -> Set field 'streetName' = "ELM"
[2026-03-07 08:39:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 08:39:33] [INFO]   -> Found value: ST
[2026-03-07 08:39:33] [INFO]   -> Set field 'streetType' = "ST"
[2026-03-07 08:39:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 08:39:33] [INFO]   -> Found value: 713 N ELM ST
[2026-03-07 08:39:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 N ELM ST"
[2026-03-07 08:39:33] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 08:39:33] [INFO] Concatenating street name and type
[2026-03-07 08:39:33] [INFO]   -> Combined street name: ELM ST
[2026-03-07 08:39:33] [INFO] Built locationCoordinates from lat/lng: 36.1503,-85.26041
[2026-03-07 08:39:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nRESC\nPCFD","incidentInternalId":"2026000084","dispatchRunNumber":"2026000084","incidentTypeValue1":"OVERDOSE","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1503000000000014324541552923619747161865234375,"nERISIncidentLongitude":-85.2604099999999931469574221409857273101806640625,"alarm":"2026-03-07 02:17:27","dispatched":"2026-03-07 02:18:01","cleared":"2026-03-07 02:39:12","inService":"2026-03-07 02:39:12","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"MFR","timedispatch":"2026-03-07 02:18:01","timeunitclear":"2026-03-07 02:39:12","policeReportNumber":"20260025029","dispatchNotes":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","cADLog":"[LAW] {M107} NARCAN ADMINISTERED  [03\/07\/26 02:22:01 CHERNANDEZ] [EMS] UNKNOWN WHAT SHE HAS TAKEN - TOOK SOME PILLS FROM TWO PEOPLE THAT LIVE THERE  [03\/07\/26 02:21:40 TSCOTT] [FIRE] SECOND PAGE  [03\/07\/26 02:21:34 EROACH] [EMS] FRONT DOOR UNLOCKED  [03\/07\/26 02:19:25 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 02:18:34 CHERNANDEZ] [EMS] SPANISH INTERP CALL  [03\/07\/26 02:18:19 TSCOTT] [EMS] PT IS NOT CRYING  IT WAS THE CHILD IN THE BACKGROUND  [03\/07\/26 02:18:11 TSCOTT] Event spawned from OVERDOSE.  [03\/07\/2026 02:17:27 TSCOTT] 18 YOF HAS TAKEN PILLS AND IS VOMITING  PT IS CRYING  [03\/07\/26 02:17:19 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"713 N ELM ST","locationCoordinates":"36.1503,-85.26041"}
[2026-03-07 08:39:33] [INFO] Number of extracted fields: 24
[2026-03-07 08:39:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
RESC
PCFD'
[2026-03-07 08:39:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
RESC
PCFD', Parsed IDs = ["MFD","RESC","PCFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 08:39:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","RESC","PCFD"]
[2026-03-07 08:39:33] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-03-07 08:39:33] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-03-07 08:39:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC","PCFD"]
[2026-03-07 08:39:33] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-03-07 08:39:33] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-03-07 08:39:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 08:39:33] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-03-07 08:39:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-03-07 08:39:33] [INFO] Found existing IncidentTypeMapping with ID: 69abdf3d0041a3e72
[2026-03-07 08:39:34] [INFO] Found existing Dispatch with cADNumber '2026000084', ID: 69abdf3d49af1b595 - will update instead of create
[2026-03-07 08:39:34] [INFO] Updated existing Dispatches record with ID: 69abdf3d49af1b595
[2026-03-07 08:39:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083932.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/MFD_20260025029_20260307_083932.XML
[2026-03-07 08:39:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260025029_20260307_083932.XML
[2026-03-07 14:39:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_143913.XML
[2026-03-07 14:39:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_143913.XML for user: 68f1466aed072ad4a
[2026-03-07 14:39:13] [INFO] File size: 5391 bytes
[2026-03-07 14:39:13] [INFO] Created FTPFiles record with ID: 69ac3891bdf7e7724
[2026-03-07 14:39:13] [INFO] About to extract fields from XML. File size: 5391 bytes
[2026-03-07 14:39:13] [INFO] Number of mappings: 28
[2026-03-07 14:39:13] [INFO] Starting XML parsing. Content length: 5391
[2026-03-07 14:39:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 14:39:13] [INFO] Processing 28 field mappings
[2026-03-07 14:39:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 14:39:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 14:39:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 14:39:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 14:39:13] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 14:39:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 14:39:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 14:39:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 14:39:13] [INFO]   -> Found value: 2026000079
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentInternalId' = "2026000079"
[2026-03-07 14:39:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000079"
[2026-03-07 14:39:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 14:39:13] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 14:39:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 14:39:13] [INFO]   -> Found value: 290
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 290
[2026-03-07 14:39:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 14:39:13] [INFO]   -> Found value: TN
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 14:39:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 14:39:13] [INFO]   -> Found value: 38544
[2026-03-07 14:39:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 14:39:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 14:39:13] [INFO]   -> Found value: A1
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-07 14:39:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 14:39:13] [INFO]   -> Found value: 36.15277
[2026-03-07 14:39:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15276999999999674173523089848458766937255859375
[2026-03-07 14:39:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 14:39:13] [INFO]   -> Found value: -85.64749
[2026-03-07 14:39:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.64749000000000478394213132560253143310546875
[2026-03-07 14:39:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 14:39:13] [INFO]   -> Found value: 2026-03-07 08:37:52
[2026-03-07 14:39:13] [INFO]   -> Set field 'alarm' = "2026-03-07 08:37:52"
[2026-03-07 14:39:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 14:39:13] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:39:13] [INFO]   -> Set field 'dispatched' = "2026-03-07 08:39:10"
[2026-03-07 14:39:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 14:39:13] [INFO]   -> Found value: CHERRY ST/APPLE ST
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentLocationCross' = "CHERRY ST\/APPLE ST"
[2026-03-07 14:39:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 14:39:13] [INFO]   -> Found value: BEN2
[2026-03-07 14:39:13] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 14:39:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 14:39:13] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:39:13] [INFO]   -> Set field 'timedispatch' = "2026-03-07 08:39:10"
[2026-03-07 14:39:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 14:39:13] [INFO]   -> No value found (null or empty)
[2026-03-07 14:39:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 14:39:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 14:39:13] [INFO]   -> Found value: 20260025070
[2026-03-07 14:39:13] [INFO]   -> Set field 'policeReportNumber' = "20260025070"
[2026-03-07 14:39:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 14:39:13] [INFO]   -> Found value: [EMS] WEIGHT ON HER CHEST  [03/07/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX...
[2026-03-07 14:39:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:39:13] [INFO]   -> Set field 'cADLog' = "[EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:39:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 14:39:13] [INFO]   -> Found value: BAXTER
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 14:39:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 14:39:13] [INFO]   -> Found value: HIGHLAND
[2026-03-07 14:39:13] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-07 14:39:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 14:39:13] [INFO]   -> Found value: AVE
[2026-03-07 14:39:13] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 14:39:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 14:39:13] [INFO]   -> Found value: 290-A1 HIGHLAND AVE
[2026-03-07 14:39:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "290-A1 HIGHLAND AVE"
[2026-03-07 14:39:13] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-07 14:39:13] [INFO] Concatenating street name and type
[2026-03-07 14:39:13] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-07 14:39:13] [INFO] Built locationCoordinates from lat/lng: 36.15277,-85.64749
[2026-03-07 14:39:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000079","dispatchRunNumber":"2026000079","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":290,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":"A1","nERISIncidentLatitude":36.15276999999999674173523089848458766937255859375,"nERISIncidentLongitude":-85.64749000000000478394213132560253143310546875,"alarm":"2026-03-07 08:37:52","dispatched":"2026-03-07 08:39:10","incidentLocationCross":"CHERRY ST\/APPLE ST","cADVehicleID":"BEN2","timedispatch":"2026-03-07 08:39:10","policeReportNumber":"20260025070","dispatchNotes":"[EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","cADLog":"[EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"290-A1 HIGHLAND AVE","locationCoordinates":"36.15277,-85.64749"}
[2026-03-07 14:39:13] [INFO] Number of extracted fields: 22
[2026-03-07 14:39:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 14:39:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 14:39:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 14:39:13] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 14:39:13] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 14:39:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 14:39:14] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 14:39:14] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 14:39:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 14:39:14] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 14:39:14] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 14:39:14] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 14:39:18] [INFO] Created new Dispatches record with ID: 69ac3892a7fc05901
[2026-03-07 14:39:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_143913.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260025070_20260307_143913.XML
[2026-03-07 14:39:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_143913.XML
[2026-03-07 14:40:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144040.XML
[2026-03-07 14:40:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144040.XML for user: 68f1466aed072ad4a
[2026-03-07 14:40:40] [INFO] File size: 5681 bytes
[2026-03-07 14:40:40] [INFO] Created FTPFiles record with ID: 69ac38e8c1c4921be
[2026-03-07 14:40:40] [INFO] About to extract fields from XML. File size: 5681 bytes
[2026-03-07 14:40:40] [INFO] Number of mappings: 28
[2026-03-07 14:40:40] [INFO] Starting XML parsing. Content length: 5681
[2026-03-07 14:40:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 14:40:40] [INFO] Processing 28 field mappings
[2026-03-07 14:40:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 14:40:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 14:40:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 14:40:40] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 14:40:40] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 14:40:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 14:40:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 14:40:40] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 14:40:40] [INFO]   -> Found value: 2026000079
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentInternalId' = "2026000079"
[2026-03-07 14:40:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000079"
[2026-03-07 14:40:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 14:40:40] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 14:40:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 14:40:40] [INFO]   -> Found value: 290
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 290
[2026-03-07 14:40:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 14:40:40] [INFO]   -> Found value: TN
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 14:40:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 14:40:40] [INFO]   -> Found value: 38544
[2026-03-07 14:40:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 14:40:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 14:40:40] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 14:40:40] [INFO]   -> Found value: A1
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-07 14:40:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 14:40:40] [INFO]   -> Found value: 36.15277
[2026-03-07 14:40:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15276999999999674173523089848458766937255859375
[2026-03-07 14:40:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 14:40:40] [INFO]   -> Found value: -85.64749
[2026-03-07 14:40:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.64749000000000478394213132560253143310546875
[2026-03-07 14:40:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 14:40:40] [INFO]   -> Found value: 2026-03-07 08:37:52
[2026-03-07 14:40:40] [INFO]   -> Set field 'alarm' = "2026-03-07 08:37:52"
[2026-03-07 14:40:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 14:40:40] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:40] [INFO]   -> Set field 'dispatched' = "2026-03-07 08:39:10"
[2026-03-07 14:40:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 14:40:40] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:40] [INFO]   -> Set field 'enroute' = "2026-03-07 08:40:35"
[2026-03-07 14:40:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 14:40:40] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 14:40:40] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 14:40:40] [INFO]   -> Found value: CHERRY ST/APPLE ST
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentLocationCross' = "CHERRY ST\/APPLE ST"
[2026-03-07 14:40:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 14:40:40] [INFO]   -> Found value: BEN2
[2026-03-07 14:40:40] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 14:40:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 14:40:40] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:40] [INFO]   -> Set field 'timedispatch' = "2026-03-07 08:39:10"
[2026-03-07 14:40:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 14:40:40] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:40] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 08:40:35"
[2026-03-07 14:40:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 14:40:40] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 14:40:40] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 14:40:40] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 14:40:40] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 14:40:40] [INFO]   -> Found value: 20260025070
[2026-03-07 14:40:40] [INFO]   -> Set field 'policeReportNumber' = "20260025070"
[2026-03-07 14:40:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 14:40:40] [INFO]   -> Found value: [EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03/07/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP A...
[2026-03-07 14:40:40] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:40] [INFO]   -> Set field 'cADLog' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 14:40:40] [INFO]   -> Found value: BAXTER
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 14:40:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 14:40:40] [INFO]   -> Found value: HIGHLAND
[2026-03-07 14:40:40] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-07 14:40:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 14:40:40] [INFO]   -> Found value: AVE
[2026-03-07 14:40:40] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 14:40:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 14:40:40] [INFO]   -> Found value: 290-A1 HIGHLAND AVE
[2026-03-07 14:40:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "290-A1 HIGHLAND AVE"
[2026-03-07 14:40:40] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 14:40:40] [INFO] Concatenating street name and type
[2026-03-07 14:40:40] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-07 14:40:40] [INFO] Built locationCoordinates from lat/lng: 36.15277,-85.64749
[2026-03-07 14:40:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000079","dispatchRunNumber":"2026000079","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":290,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":"A1","nERISIncidentLatitude":36.15276999999999674173523089848458766937255859375,"nERISIncidentLongitude":-85.64749000000000478394213132560253143310546875,"alarm":"2026-03-07 08:37:52","dispatched":"2026-03-07 08:39:10","enroute":"2026-03-07 08:40:35","incidentLocationCross":"CHERRY ST\/APPLE ST","cADVehicleID":"BEN2","timedispatch":"2026-03-07 08:39:10","timeenroutetoscene":"2026-03-07 08:40:35","policeReportNumber":"20260025070","dispatchNotes":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","cADLog":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"290-A1 HIGHLAND AVE","locationCoordinates":"36.15277,-85.64749"}
[2026-03-07 14:40:40] [INFO] Number of extracted fields: 24
[2026-03-07 14:40:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 14:40:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 14:40:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 14:40:40] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 14:40:40] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 14:40:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 14:40:41] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 14:40:41] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 14:40:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 14:40:41] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 14:40:41] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 14:40:41] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 14:40:41] [INFO] Found existing Dispatch with cADNumber '2026000079', ID: 69ac3892a7fc05901 - will update instead of create
[2026-03-07 14:40:41] [INFO] Updated existing Dispatches record with ID: 69ac3892a7fc05901
[2026-03-07 14:40:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144040.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260025070_20260307_144040.XML
[2026-03-07 14:40:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144040.XML
[2026-03-07 14:40:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042.XML
[2026-03-07 14:40:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042.XML for user: 68f1466aed072ad4a
[2026-03-07 14:40:42] [INFO] File size: 5681 bytes
[2026-03-07 14:40:42] [INFO] Created FTPFiles record with ID: 69ac38ea91682ab2d
[2026-03-07 14:40:42] [INFO] About to extract fields from XML. File size: 5681 bytes
[2026-03-07 14:40:42] [INFO] Number of mappings: 28
[2026-03-07 14:40:42] [INFO] Starting XML parsing. Content length: 5681
[2026-03-07 14:40:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 14:40:42] [INFO] Processing 28 field mappings
[2026-03-07 14:40:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 14:40:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 14:40:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 14:40:42] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 14:40:42] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 14:40:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 14:40:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 14:40:42] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 14:40:42] [INFO]   -> Found value: 2026000079
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentInternalId' = "2026000079"
[2026-03-07 14:40:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000079"
[2026-03-07 14:40:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 14:40:42] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 14:40:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 14:40:42] [INFO]   -> Found value: 290
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 290
[2026-03-07 14:40:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 14:40:42] [INFO]   -> Found value: TN
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 14:40:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 14:40:42] [INFO]   -> Found value: 38544
[2026-03-07 14:40:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 14:40:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 14:40:42] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 14:40:42] [INFO]   -> Found value: A1
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-07 14:40:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 14:40:42] [INFO]   -> Found value: 36.15277
[2026-03-07 14:40:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15276999999999674173523089848458766937255859375
[2026-03-07 14:40:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 14:40:42] [INFO]   -> Found value: -85.64749
[2026-03-07 14:40:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.64749000000000478394213132560253143310546875
[2026-03-07 14:40:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 14:40:42] [INFO]   -> Found value: 2026-03-07 08:37:52
[2026-03-07 14:40:42] [INFO]   -> Set field 'alarm' = "2026-03-07 08:37:52"
[2026-03-07 14:40:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 14:40:42] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:42] [INFO]   -> Set field 'dispatched' = "2026-03-07 08:39:10"
[2026-03-07 14:40:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 14:40:42] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:42] [INFO]   -> Set field 'enroute' = "2026-03-07 08:40:35"
[2026-03-07 14:40:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 14:40:42] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 14:40:42] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 14:40:42] [INFO]   -> Found value: CHERRY ST/APPLE ST
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentLocationCross' = "CHERRY ST\/APPLE ST"
[2026-03-07 14:40:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 14:40:42] [INFO]   -> Found value: BEN2
[2026-03-07 14:40:42] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 14:40:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 14:40:42] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:42] [INFO]   -> Set field 'timedispatch' = "2026-03-07 08:39:10"
[2026-03-07 14:40:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 14:40:42] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:42] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 08:40:35"
[2026-03-07 14:40:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 14:40:42] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 14:40:42] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 14:40:42] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 14:40:42] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 14:40:42] [INFO]   -> Found value: 20260025070
[2026-03-07 14:40:42] [INFO]   -> Set field 'policeReportNumber' = "20260025070"
[2026-03-07 14:40:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 14:40:42] [INFO]   -> Found value: [EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03/07/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP A...
[2026-03-07 14:40:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:42] [INFO]   -> Set field 'cADLog' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 14:40:42] [INFO]   -> Found value: BAXTER
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 14:40:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 14:40:42] [INFO]   -> Found value: HIGHLAND
[2026-03-07 14:40:42] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-07 14:40:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 14:40:42] [INFO]   -> Found value: AVE
[2026-03-07 14:40:42] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 14:40:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 14:40:42] [INFO]   -> Found value: 290-A1 HIGHLAND AVE
[2026-03-07 14:40:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "290-A1 HIGHLAND AVE"
[2026-03-07 14:40:42] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 14:40:42] [INFO] Concatenating street name and type
[2026-03-07 14:40:42] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-07 14:40:42] [INFO] Built locationCoordinates from lat/lng: 36.15277,-85.64749
[2026-03-07 14:40:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000079","dispatchRunNumber":"2026000079","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":290,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":"A1","nERISIncidentLatitude":36.15276999999999674173523089848458766937255859375,"nERISIncidentLongitude":-85.64749000000000478394213132560253143310546875,"alarm":"2026-03-07 08:37:52","dispatched":"2026-03-07 08:39:10","enroute":"2026-03-07 08:40:35","incidentLocationCross":"CHERRY ST\/APPLE ST","cADVehicleID":"BEN2","timedispatch":"2026-03-07 08:39:10","timeenroutetoscene":"2026-03-07 08:40:35","policeReportNumber":"20260025070","dispatchNotes":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","cADLog":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"290-A1 HIGHLAND AVE","locationCoordinates":"36.15277,-85.64749"}
[2026-03-07 14:40:42] [INFO] Number of extracted fields: 24
[2026-03-07 14:40:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 14:40:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 14:40:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 14:40:42] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 14:40:42] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 14:40:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 14:40:42] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 14:40:42] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 14:40:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 14:40:42] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 14:40:43] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 14:40:43] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 14:40:43] [INFO] Found existing Dispatch with cADNumber '2026000079', ID: 69ac3892a7fc05901 - will update instead of create
[2026-03-07 14:40:43] [INFO] Updated existing Dispatches record with ID: 69ac3892a7fc05901
[2026-03-07 14:40:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260025070_20260307_144042.XML
[2026-03-07 14:40:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042.XML
[2026-03-07 14:40:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042_1.XML
[2026-03-07 14:40:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042_1.XML for user: 68f1466aed072ad4a
[2026-03-07 14:40:43] [INFO] File size: 5681 bytes
[2026-03-07 14:40:43] [INFO] Created FTPFiles record with ID: 69ac38ebdbf5f5a7c
[2026-03-07 14:40:43] [INFO] About to extract fields from XML. File size: 5681 bytes
[2026-03-07 14:40:43] [INFO] Number of mappings: 28
[2026-03-07 14:40:43] [INFO] Starting XML parsing. Content length: 5681
[2026-03-07 14:40:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 14:40:43] [INFO] Processing 28 field mappings
[2026-03-07 14:40:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 14:40:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 14:40:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 14:40:43] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 14:40:43] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 14:40:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 14:40:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 14:40:43] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 14:40:43] [INFO]   -> Found value: 2026000079
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentInternalId' = "2026000079"
[2026-03-07 14:40:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000079"
[2026-03-07 14:40:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 14:40:43] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 14:40:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 14:40:43] [INFO]   -> Found value: 290
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 290
[2026-03-07 14:40:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 14:40:43] [INFO]   -> Found value: TN
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 14:40:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 14:40:43] [INFO]   -> Found value: 38544
[2026-03-07 14:40:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 14:40:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 14:40:43] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 14:40:43] [INFO]   -> Found value: A1
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-07 14:40:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 14:40:43] [INFO]   -> Found value: 36.15277
[2026-03-07 14:40:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15276999999999674173523089848458766937255859375
[2026-03-07 14:40:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 14:40:43] [INFO]   -> Found value: -85.64749
[2026-03-07 14:40:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.64749000000000478394213132560253143310546875
[2026-03-07 14:40:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 14:40:43] [INFO]   -> Found value: 2026-03-07 08:37:52
[2026-03-07 14:40:43] [INFO]   -> Set field 'alarm' = "2026-03-07 08:37:52"
[2026-03-07 14:40:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 14:40:43] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:43] [INFO]   -> Set field 'dispatched' = "2026-03-07 08:39:10"
[2026-03-07 14:40:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 14:40:43] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:43] [INFO]   -> Set field 'enroute' = "2026-03-07 08:40:35"
[2026-03-07 14:40:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 14:40:43] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 14:40:43] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 14:40:43] [INFO]   -> Found value: CHERRY ST/APPLE ST
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentLocationCross' = "CHERRY ST\/APPLE ST"
[2026-03-07 14:40:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 14:40:43] [INFO]   -> Found value: BEN2
[2026-03-07 14:40:43] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 14:40:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 14:40:43] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:43] [INFO]   -> Set field 'timedispatch' = "2026-03-07 08:39:10"
[2026-03-07 14:40:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 14:40:43] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:43] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 08:40:35"
[2026-03-07 14:40:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 14:40:43] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 14:40:43] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 14:40:43] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 14:40:43] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 14:40:43] [INFO]   -> Found value: 20260025070
[2026-03-07 14:40:43] [INFO]   -> Set field 'policeReportNumber' = "20260025070"
[2026-03-07 14:40:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 14:40:43] [INFO]   -> Found value: [EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03/07/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP A...
[2026-03-07 14:40:43] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:43] [INFO]   -> Set field 'cADLog' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 14:40:43] [INFO]   -> Found value: BAXTER
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 14:40:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 14:40:43] [INFO]   -> Found value: HIGHLAND
[2026-03-07 14:40:43] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-07 14:40:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 14:40:43] [INFO]   -> Found value: AVE
[2026-03-07 14:40:43] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 14:40:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 14:40:43] [INFO]   -> Found value: 290-A1 HIGHLAND AVE
[2026-03-07 14:40:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "290-A1 HIGHLAND AVE"
[2026-03-07 14:40:43] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 14:40:43] [INFO] Concatenating street name and type
[2026-03-07 14:40:43] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-07 14:40:43] [INFO] Built locationCoordinates from lat/lng: 36.15277,-85.64749
[2026-03-07 14:40:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000079","dispatchRunNumber":"2026000079","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":290,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":"A1","nERISIncidentLatitude":36.15276999999999674173523089848458766937255859375,"nERISIncidentLongitude":-85.64749000000000478394213132560253143310546875,"alarm":"2026-03-07 08:37:52","dispatched":"2026-03-07 08:39:10","enroute":"2026-03-07 08:40:35","incidentLocationCross":"CHERRY ST\/APPLE ST","cADVehicleID":"BEN2","timedispatch":"2026-03-07 08:39:10","timeenroutetoscene":"2026-03-07 08:40:35","policeReportNumber":"20260025070","dispatchNotes":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","cADLog":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"290-A1 HIGHLAND AVE","locationCoordinates":"36.15277,-85.64749"}
[2026-03-07 14:40:43] [INFO] Number of extracted fields: 24
[2026-03-07 14:40:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 14:40:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 14:40:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 14:40:43] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 14:40:44] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 14:40:44] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 14:40:44] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 14:40:44] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 14:40:44] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 14:40:44] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 14:40:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 14:40:44] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 14:40:44] [INFO] Found existing Dispatch with cADNumber '2026000079', ID: 69ac3892a7fc05901 - will update instead of create
[2026-03-07 14:40:44] [INFO] Updated existing Dispatches record with ID: 69ac3892a7fc05901
[2026-03-07 14:40:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260025070_20260307_144042_1.XML
[2026-03-07 14:40:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144042_1.XML
[2026-03-07 14:40:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144044.XML
[2026-03-07 14:40:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144044.XML for user: 68f1466aed072ad4a
[2026-03-07 14:40:45] [INFO] File size: 5681 bytes
[2026-03-07 14:40:45] [INFO] Created FTPFiles record with ID: 69ac38ed475917bc7
[2026-03-07 14:40:45] [INFO] About to extract fields from XML. File size: 5681 bytes
[2026-03-07 14:40:45] [INFO] Number of mappings: 28
[2026-03-07 14:40:45] [INFO] Starting XML parsing. Content length: 5681
[2026-03-07 14:40:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 14:40:45] [INFO] Processing 28 field mappings
[2026-03-07 14:40:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 14:40:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 14:40:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 14:40:45] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 14:40:45] [INFO]   -> Found value: BFD
EMS
BPD
[2026-03-07 14:40:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-03-07 14:40:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 14:40:45] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 14:40:45] [INFO]   -> Found value: 2026000079
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentInternalId' = "2026000079"
[2026-03-07 14:40:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000079"
[2026-03-07 14:40:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 14:40:45] [INFO]   -> Found value: CHEST PAIN
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-07 14:40:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 14:40:45] [INFO]   -> Found value: 290
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 290
[2026-03-07 14:40:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 14:40:45] [INFO]   -> Found value: TN
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 14:40:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 14:40:45] [INFO]   -> Found value: 38544
[2026-03-07 14:40:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-07 14:40:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 14:40:45] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 14:40:45] [INFO]   -> Found value: A1
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentLocationApt' = "A1"
[2026-03-07 14:40:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 14:40:45] [INFO]   -> Found value: 36.15277
[2026-03-07 14:40:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15276999999999674173523089848458766937255859375
[2026-03-07 14:40:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 14:40:45] [INFO]   -> Found value: -85.64749
[2026-03-07 14:40:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.64749000000000478394213132560253143310546875
[2026-03-07 14:40:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 14:40:45] [INFO]   -> Found value: 2026-03-07 08:37:52
[2026-03-07 14:40:45] [INFO]   -> Set field 'alarm' = "2026-03-07 08:37:52"
[2026-03-07 14:40:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 14:40:45] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:45] [INFO]   -> Set field 'dispatched' = "2026-03-07 08:39:10"
[2026-03-07 14:40:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 14:40:45] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:45] [INFO]   -> Set field 'enroute' = "2026-03-07 08:40:35"
[2026-03-07 14:40:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 14:40:45] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 14:40:45] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 14:40:45] [INFO]   -> Found value: CHERRY ST/APPLE ST
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentLocationCross' = "CHERRY ST\/APPLE ST"
[2026-03-07 14:40:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 14:40:45] [INFO]   -> Found value: BEN2
[2026-03-07 14:40:45] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-07 14:40:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 14:40:45] [INFO]   -> Found value: 2026-03-07 08:39:10
[2026-03-07 14:40:45] [INFO]   -> Set field 'timedispatch' = "2026-03-07 08:39:10"
[2026-03-07 14:40:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 14:40:45] [INFO]   -> Found value: 2026-03-07 08:40:35
[2026-03-07 14:40:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 08:40:35"
[2026-03-07 14:40:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 14:40:45] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 14:40:45] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 14:40:45] [INFO]   -> No value found (null or empty)
[2026-03-07 14:40:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 14:40:45] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 14:40:45] [INFO]   -> Found value: 20260025070
[2026-03-07 14:40:45] [INFO]   -> Set field 'policeReportNumber' = "20260025070"
[2026-03-07 14:40:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 14:40:45] [INFO]   -> Found value: [EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03/07/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP A...
[2026-03-07 14:40:45] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:45] [INFO]   -> Set field 'cADLog' = "[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]"
[2026-03-07 14:40:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 14:40:45] [INFO]   -> Found value: BAXTER
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-07 14:40:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 14:40:45] [INFO]   -> Found value: HIGHLAND
[2026-03-07 14:40:45] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-07 14:40:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 14:40:45] [INFO]   -> Found value: AVE
[2026-03-07 14:40:45] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-07 14:40:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 14:40:45] [INFO]   -> Found value: 290-A1 HIGHLAND AVE
[2026-03-07 14:40:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "290-A1 HIGHLAND AVE"
[2026-03-07 14:40:45] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 14:40:45] [INFO] Concatenating street name and type
[2026-03-07 14:40:45] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-07 14:40:45] [INFO] Built locationCoordinates from lat/lng: 36.15277,-85.64749
[2026-03-07 14:40:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000079","dispatchRunNumber":"2026000079","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":290,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":"A1","nERISIncidentLatitude":36.15276999999999674173523089848458766937255859375,"nERISIncidentLongitude":-85.64749000000000478394213132560253143310546875,"alarm":"2026-03-07 08:37:52","dispatched":"2026-03-07 08:39:10","enroute":"2026-03-07 08:40:35","incidentLocationCross":"CHERRY ST\/APPLE ST","cADVehicleID":"BEN2","timedispatch":"2026-03-07 08:39:10","timeenroutetoscene":"2026-03-07 08:40:35","policeReportNumber":"20260025070","dispatchNotes":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","cADLog":"[EMS] HOME ALONE --FRONT DOOR UNLOCKED  [03\/07\/26 08:39:54 KHILL] [EMS] FELL AND SHATTERED HER HIP AND HAS BLOOD CLOTS  [03\/07\/26 08:39:35 KHILL] [EMS] 2 TI AND 1 WIDOW MAKER MORE THAN 1 YEAR AGO  [03\/07\/26 08:39:18 KHILL] [EMS] WEIGHT ON HER CHEST  [03\/07\/26 08:38:39 KHILL] [EMS] HAVING CHEST PAIN  DOES HAVE A CARDIAC HX  [03\/07\/26 08:38:16 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 08:38:13 RMAYNARD] Event spawned from CHEST PAIN.  [03\/07\/2026 08:37:52 KHILL]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"290-A1 HIGHLAND AVE","locationCoordinates":"36.15277,-85.64749"}
[2026-03-07 14:40:45] [INFO] Number of extracted fields: 24
[2026-03-07 14:40:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-03-07 14:40:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 14:40:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-03-07 14:40:45] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-07 14:40:45] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-07 14:40:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-03-07 14:40:45] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-07 14:40:45] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-07 14:40:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 14:40:45] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-07 14:40:45] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-07 14:40:45] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-03-07 14:40:46] [INFO] Found existing Dispatch with cADNumber '2026000079', ID: 69ac3892a7fc05901 - will update instead of create
[2026-03-07 14:40:46] [INFO] Updated existing Dispatches record with ID: 69ac3892a7fc05901
[2026-03-07 14:40:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144044.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/BFD_20260025070_20260307_144044.XML
[2026-03-07 14:40:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260025070_20260307_144044.XML
[2026-03-07 15:07:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150753.XML
[2026-03-07 15:07:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150753.XML for user: 68f1466aed072ad4a
[2026-03-07 15:07:53] [INFO] File size: 5133 bytes
[2026-03-07 15:07:53] [INFO] Created FTPFiles record with ID: 69ac3f49a3237be4d
[2026-03-07 15:07:53] [INFO] About to extract fields from XML. File size: 5133 bytes
[2026-03-07 15:07:53] [INFO] Number of mappings: 28
[2026-03-07 15:07:53] [INFO] Starting XML parsing. Content length: 5133
[2026-03-07 15:07:53] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 15:07:53] [INFO] Processing 28 field mappings
[2026-03-07 15:07:53] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 15:07:53] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 15:07:53] [INFO]   -> Found value: PCFD
[2026-03-07 15:07:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 15:07:53] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 15:07:53] [INFO]   -> Found value: 2026000617
[2026-03-07 15:07:53] [INFO]   -> Set field 'incidentInternalId' = "2026000617"
[2026-03-07 15:07:53] [INFO]   -> Set field 'dispatchRunNumber' = "2026000617"
[2026-03-07 15:07:53] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 15:07:53] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-07 15:07:53] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-07 15:07:53] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 15:07:53] [INFO]   -> Found value: 8550
[2026-03-07 15:07:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8550
[2026-03-07 15:07:53] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 15:07:53] [INFO]   -> Found value: TN
[2026-03-07 15:07:53] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 15:07:53] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 15:07:53] [INFO]   -> Found value: 38506
[2026-03-07 15:07:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 15:07:53] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 15:07:53] [INFO]   -> Found value: 36.13383
[2026-03-07 15:07:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1338300000000032241587177850306034088134765625
[2026-03-07 15:07:53] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 15:07:53] [INFO]   -> Found value: -85.36326
[2026-03-07 15:07:53] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.363259999999996807673596777021884918212890625
[2026-03-07 15:07:53] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 15:07:53] [INFO]   -> Found value: 2026-03-07 09:06:33
[2026-03-07 15:07:53] [INFO]   -> Set field 'alarm' = "2026-03-07 09:06:33"
[2026-03-07 15:07:53] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 15:07:53] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:07:53] [INFO]   -> Set field 'dispatched' = "2026-03-07 09:07:50"
[2026-03-07 15:07:53] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 15:07:53] [INFO]   -> Found value: MACEDONIA CEMETERY RD/WELCH RD
[2026-03-07 15:07:53] [INFO]   -> Set field 'incidentLocationCross' = "MACEDONIA CEMETERY RD\/WELCH RD"
[2026-03-07 15:07:53] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 15:07:53] [INFO]   -> Found value: TK21
[2026-03-07 15:07:53] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 15:07:53] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 15:07:53] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:07:53] [INFO]   -> Set field 'timedispatch' = "2026-03-07 09:07:50"
[2026-03-07 15:07:53] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 15:07:53] [INFO]   -> No value found (null or empty)
[2026-03-07 15:07:53] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 15:07:53] [INFO]   -> Found value: 20260025076
[2026-03-07 15:07:53] [INFO]   -> Set field 'policeReportNumber' = "20260025076"
[2026-03-07 15:07:53] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 15:07:53] [INFO]   -> Found value: GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03/07/26 09:07:44 KHILL] APPROX 200 FEET FROM T...
[2026-03-07 15:07:53] [INFO]   -> Set field 'dispatchNotes' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:07:53] [INFO]   -> Set field 'cADLog' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:07:53] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 15:07:53] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 15:07:53] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 15:07:53] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 15:07:53] [INFO]   -> Found value: ROCKY POINT
[2026-03-07 15:07:53] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-07 15:07:53] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 15:07:53] [INFO]   -> Found value: RD
[2026-03-07 15:07:53] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 15:07:53] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 15:07:53] [INFO]   -> Found value: 8550 ROCKY POINT RD
[2026-03-07 15:07:53] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8550 ROCKY POINT RD"
[2026-03-07 15:07:53] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 15:07:53] [INFO] Concatenating street name and type
[2026-03-07 15:07:53] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-07 15:07:53] [INFO] Built locationCoordinates from lat/lng: 36.13383,-85.36326
[2026-03-07 15:07:53] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000617","dispatchRunNumber":"2026000617","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":8550,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1338300000000032241587177850306034088134765625,"nERISIncidentLongitude":-85.363259999999996807673596777021884918212890625,"alarm":"2026-03-07 09:06:33","dispatched":"2026-03-07 09:07:50","incidentLocationCross":"MACEDONIA CEMETERY RD\/WELCH RD","cADVehicleID":"TK21","timedispatch":"2026-03-07 09:07:50","policeReportNumber":"20260025076","dispatchNotes":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","cADLog":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"8550 ROCKY POINT RD","locationCoordinates":"36.13383,-85.36326"}
[2026-03-07 15:07:53] [INFO] Number of extracted fields: 21
[2026-03-07 15:07:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 15:07: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-07 15:07:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 15:07:53] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 15:07:53] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 15:07: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-07 15:07: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-07 15:07:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 15:07:54] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-07 15:08:04] [INFO] Created new Dispatches record with ID: 69ac3f4a7999d644c
[2026-03-07 15:08:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150753.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025076_20260307_150753.XML
[2026-03-07 15:08:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150753.XML
[2026-03-07 15:09:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910.XML
[2026-03-07 15:09:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910.XML for user: 68f1466aed072ad4a
[2026-03-07 15:09:10] [INFO] File size: 5192 bytes
[2026-03-07 15:09:10] [INFO] Created FTPFiles record with ID: 69ac3f96d7de2160e
[2026-03-07 15:09:10] [INFO] About to extract fields from XML. File size: 5192 bytes
[2026-03-07 15:09:10] [INFO] Number of mappings: 28
[2026-03-07 15:09:10] [INFO] Starting XML parsing. Content length: 5192
[2026-03-07 15:09:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 15:09:10] [INFO] Processing 28 field mappings
[2026-03-07 15:09:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 15:09:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 15:09:10] [INFO]   -> Found value: PCFD
[2026-03-07 15:09:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 15:09:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 15:09:10] [INFO]   -> Found value: 2026000617
[2026-03-07 15:09:10] [INFO]   -> Set field 'incidentInternalId' = "2026000617"
[2026-03-07 15:09:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000617"
[2026-03-07 15:09:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 15:09:10] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-07 15:09:10] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-07 15:09:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 15:09:10] [INFO]   -> Found value: 8550
[2026-03-07 15:09:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8550
[2026-03-07 15:09:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 15:09:10] [INFO]   -> Found value: TN
[2026-03-07 15:09:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 15:09:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 15:09:10] [INFO]   -> Found value: 38506
[2026-03-07 15:09:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 15:09:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 15:09:10] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 15:09:10] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 15:09:10] [INFO]   -> Found value: 36.13383
[2026-03-07 15:09:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1338300000000032241587177850306034088134765625
[2026-03-07 15:09:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 15:09:10] [INFO]   -> Found value: -85.36326
[2026-03-07 15:09:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.363259999999996807673596777021884918212890625
[2026-03-07 15:09:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 15:09:10] [INFO]   -> Found value: 2026-03-07 09:06:33
[2026-03-07 15:09:10] [INFO]   -> Set field 'alarm' = "2026-03-07 09:06:33"
[2026-03-07 15:09:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 15:09:10] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:10] [INFO]   -> Set field 'dispatched' = "2026-03-07 09:07:50"
[2026-03-07 15:09:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 15:09:10] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:10] [INFO]   -> Set field 'enroute' = "2026-03-07 09:09:04"
[2026-03-07 15:09:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 15:09:10] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 15:09:10] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 15:09:10] [INFO]   -> Found value: MACEDONIA CEMETERY RD/WELCH RD
[2026-03-07 15:09:10] [INFO]   -> Set field 'incidentLocationCross' = "MACEDONIA CEMETERY RD\/WELCH RD"
[2026-03-07 15:09:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 15:09:10] [INFO]   -> Found value: TK21
[2026-03-07 15:09:10] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 15:09:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 15:09:10] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:10] [INFO]   -> Set field 'timedispatch' = "2026-03-07 09:07:50"
[2026-03-07 15:09:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 15:09:10] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 09:09:04"
[2026-03-07 15:09:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 15:09:10] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 15:09:10] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 15:09:10] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 15:09:10] [INFO]   -> Found value: 20260025076
[2026-03-07 15:09:10] [INFO]   -> Set field 'policeReportNumber' = "20260025076"
[2026-03-07 15:09:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 15:09:10] [INFO]   -> Found value: GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03/07/26 09:07:44 KHILL] APPROX 200 FEET FROM T...
[2026-03-07 15:09:10] [INFO]   -> Set field 'dispatchNotes' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:10] [INFO]   -> Set field 'cADLog' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 15:09:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 15:09:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 15:09:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 15:09:10] [INFO]   -> Found value: ROCKY POINT
[2026-03-07 15:09:10] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-07 15:09:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 15:09:10] [INFO]   -> Found value: RD
[2026-03-07 15:09:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 15:09:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 15:09:10] [INFO]   -> Found value: 8550 ROCKY POINT RD
[2026-03-07 15:09:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8550 ROCKY POINT RD"
[2026-03-07 15:09:10] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 15:09:10] [INFO] Concatenating street name and type
[2026-03-07 15:09:10] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-07 15:09:10] [INFO] Built locationCoordinates from lat/lng: 36.13383,-85.36326
[2026-03-07 15:09:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000617","dispatchRunNumber":"2026000617","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":8550,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1338300000000032241587177850306034088134765625,"nERISIncidentLongitude":-85.363259999999996807673596777021884918212890625,"alarm":"2026-03-07 09:06:33","dispatched":"2026-03-07 09:07:50","enroute":"2026-03-07 09:09:04","incidentLocationCross":"MACEDONIA CEMETERY RD\/WELCH RD","cADVehicleID":"TK21","timedispatch":"2026-03-07 09:07:50","timeenroutetoscene":"2026-03-07 09:09:04","policeReportNumber":"20260025076","dispatchNotes":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","cADLog":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"8550 ROCKY POINT RD","locationCoordinates":"36.13383,-85.36326"}
[2026-03-07 15:09:10] [INFO] Number of extracted fields: 23
[2026-03-07 15:09:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 15:09:10] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-07 15:09:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 15:09:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 15:09:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 15:09: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-07 15:09: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-07 15:09:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 15:09:11] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-07 15:09:11] [INFO] Found existing Dispatch with cADNumber '2026000617', ID: 69ac3f4a7999d644c - will update instead of create
[2026-03-07 15:09:11] [INFO] Updated existing Dispatches record with ID: 69ac3f4a7999d644c
[2026-03-07 15:09:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025076_20260307_150910.XML
[2026-03-07 15:09:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910.XML
[2026-03-07 15:09:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910_1.XML
[2026-03-07 15:09:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910_1.XML for user: 68f1466aed072ad4a
[2026-03-07 15:09:11] [INFO] File size: 5192 bytes
[2026-03-07 15:09:12] [INFO] Created FTPFiles record with ID: 69ac3f981ad35306e
[2026-03-07 15:09:12] [INFO] About to extract fields from XML. File size: 5192 bytes
[2026-03-07 15:09:12] [INFO] Number of mappings: 28
[2026-03-07 15:09:12] [INFO] Starting XML parsing. Content length: 5192
[2026-03-07 15:09:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 15:09:12] [INFO] Processing 28 field mappings
[2026-03-07 15:09:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 15:09:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 15:09:12] [INFO]   -> Found value: PCFD
[2026-03-07 15:09:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 15:09:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 15:09:12] [INFO]   -> Found value: 2026000617
[2026-03-07 15:09:12] [INFO]   -> Set field 'incidentInternalId' = "2026000617"
[2026-03-07 15:09:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000617"
[2026-03-07 15:09:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 15:09:12] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-07 15:09:12] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-07 15:09:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 15:09:12] [INFO]   -> Found value: 8550
[2026-03-07 15:09:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8550
[2026-03-07 15:09:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 15:09:12] [INFO]   -> Found value: TN
[2026-03-07 15:09:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 15:09:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 15:09:12] [INFO]   -> Found value: 38506
[2026-03-07 15:09:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 15:09:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 15:09:12] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 15:09:12] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 15:09:12] [INFO]   -> Found value: 36.13383
[2026-03-07 15:09:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1338300000000032241587177850306034088134765625
[2026-03-07 15:09:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 15:09:12] [INFO]   -> Found value: -85.36326
[2026-03-07 15:09:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.363259999999996807673596777021884918212890625
[2026-03-07 15:09:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 15:09:12] [INFO]   -> Found value: 2026-03-07 09:06:33
[2026-03-07 15:09:12] [INFO]   -> Set field 'alarm' = "2026-03-07 09:06:33"
[2026-03-07 15:09:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 15:09:12] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:12] [INFO]   -> Set field 'dispatched' = "2026-03-07 09:07:50"
[2026-03-07 15:09:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 15:09:12] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:12] [INFO]   -> Set field 'enroute' = "2026-03-07 09:09:04"
[2026-03-07 15:09:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 15:09:12] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 15:09:12] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 15:09:12] [INFO]   -> Found value: MACEDONIA CEMETERY RD/WELCH RD
[2026-03-07 15:09:12] [INFO]   -> Set field 'incidentLocationCross' = "MACEDONIA CEMETERY RD\/WELCH RD"
[2026-03-07 15:09:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 15:09:12] [INFO]   -> Found value: TK21
[2026-03-07 15:09:12] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 15:09:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 15:09:12] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:12] [INFO]   -> Set field 'timedispatch' = "2026-03-07 09:07:50"
[2026-03-07 15:09:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 15:09:12] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 09:09:04"
[2026-03-07 15:09:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 15:09:12] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 15:09:12] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 15:09:12] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 15:09:12] [INFO]   -> Found value: 20260025076
[2026-03-07 15:09:12] [INFO]   -> Set field 'policeReportNumber' = "20260025076"
[2026-03-07 15:09:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 15:09:12] [INFO]   -> Found value: GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03/07/26 09:07:44 KHILL] APPROX 200 FEET FROM T...
[2026-03-07 15:09:12] [INFO]   -> Set field 'dispatchNotes' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:12] [INFO]   -> Set field 'cADLog' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 15:09:12] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 15:09:12] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 15:09:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 15:09:12] [INFO]   -> Found value: ROCKY POINT
[2026-03-07 15:09:12] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-07 15:09:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 15:09:12] [INFO]   -> Found value: RD
[2026-03-07 15:09:12] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 15:09:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 15:09:12] [INFO]   -> Found value: 8550 ROCKY POINT RD
[2026-03-07 15:09:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8550 ROCKY POINT RD"
[2026-03-07 15:09:12] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 15:09:12] [INFO] Concatenating street name and type
[2026-03-07 15:09:12] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-07 15:09:12] [INFO] Built locationCoordinates from lat/lng: 36.13383,-85.36326
[2026-03-07 15:09:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000617","dispatchRunNumber":"2026000617","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":8550,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1338300000000032241587177850306034088134765625,"nERISIncidentLongitude":-85.363259999999996807673596777021884918212890625,"alarm":"2026-03-07 09:06:33","dispatched":"2026-03-07 09:07:50","enroute":"2026-03-07 09:09:04","incidentLocationCross":"MACEDONIA CEMETERY RD\/WELCH RD","cADVehicleID":"TK21","timedispatch":"2026-03-07 09:07:50","timeenroutetoscene":"2026-03-07 09:09:04","policeReportNumber":"20260025076","dispatchNotes":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","cADLog":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"8550 ROCKY POINT RD","locationCoordinates":"36.13383,-85.36326"}
[2026-03-07 15:09:12] [INFO] Number of extracted fields: 23
[2026-03-07 15:09:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 15:09: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-07 15:09:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 15:09:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 15:09:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 15:09:12] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 15:09:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 15:09:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 15:09:12] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-07 15:09:13] [INFO] Found existing Dispatch with cADNumber '2026000617', ID: 69ac3f4a7999d644c - will update instead of create
[2026-03-07 15:09:13] [INFO] Updated existing Dispatches record with ID: 69ac3f4a7999d644c
[2026-03-07 15:09:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025076_20260307_150910_1.XML
[2026-03-07 15:09:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150910_1.XML
[2026-03-07 15:09:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150912.XML
[2026-03-07 15:09:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150912.XML for user: 68f1466aed072ad4a
[2026-03-07 15:09:13] [INFO] File size: 5192 bytes
[2026-03-07 15:09:13] [INFO] Created FTPFiles record with ID: 69ac3f998d0fed456
[2026-03-07 15:09:13] [INFO] About to extract fields from XML. File size: 5192 bytes
[2026-03-07 15:09:13] [INFO] Number of mappings: 28
[2026-03-07 15:09:13] [INFO] Starting XML parsing. Content length: 5192
[2026-03-07 15:09:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 15:09:13] [INFO] Processing 28 field mappings
[2026-03-07 15:09:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 15:09:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 15:09:13] [INFO]   -> Found value: PCFD
[2026-03-07 15:09:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 15:09:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 15:09:13] [INFO]   -> Found value: 2026000617
[2026-03-07 15:09:13] [INFO]   -> Set field 'incidentInternalId' = "2026000617"
[2026-03-07 15:09:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000617"
[2026-03-07 15:09:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 15:09:13] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-07 15:09:13] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-07 15:09:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 15:09:13] [INFO]   -> Found value: 8550
[2026-03-07 15:09:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8550
[2026-03-07 15:09:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 15:09:13] [INFO]   -> Found value: TN
[2026-03-07 15:09:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 15:09:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 15:09:13] [INFO]   -> Found value: 38506
[2026-03-07 15:09:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 15:09:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 15:09:13] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 15:09:13] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 15:09:13] [INFO]   -> Found value: 36.13383
[2026-03-07 15:09:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1338300000000032241587177850306034088134765625
[2026-03-07 15:09:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 15:09:13] [INFO]   -> Found value: -85.36326
[2026-03-07 15:09:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.363259999999996807673596777021884918212890625
[2026-03-07 15:09:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 15:09:13] [INFO]   -> Found value: 2026-03-07 09:06:33
[2026-03-07 15:09:13] [INFO]   -> Set field 'alarm' = "2026-03-07 09:06:33"
[2026-03-07 15:09:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 15:09:13] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:13] [INFO]   -> Set field 'dispatched' = "2026-03-07 09:07:50"
[2026-03-07 15:09:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 15:09:13] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:13] [INFO]   -> Set field 'enroute' = "2026-03-07 09:09:04"
[2026-03-07 15:09:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 15:09:13] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 15:09:13] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 15:09:13] [INFO]   -> Found value: MACEDONIA CEMETERY RD/WELCH RD
[2026-03-07 15:09:13] [INFO]   -> Set field 'incidentLocationCross' = "MACEDONIA CEMETERY RD\/WELCH RD"
[2026-03-07 15:09:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 15:09:13] [INFO]   -> Found value: TK21
[2026-03-07 15:09:13] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 15:09:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 15:09:13] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:13] [INFO]   -> Set field 'timedispatch' = "2026-03-07 09:07:50"
[2026-03-07 15:09:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 15:09:13] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 09:09:04"
[2026-03-07 15:09:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 15:09:13] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 15:09:13] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 15:09:13] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 15:09:13] [INFO]   -> Found value: 20260025076
[2026-03-07 15:09:13] [INFO]   -> Set field 'policeReportNumber' = "20260025076"
[2026-03-07 15:09:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 15:09:13] [INFO]   -> Found value: GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03/07/26 09:07:44 KHILL] APPROX 200 FEET FROM T...
[2026-03-07 15:09:13] [INFO]   -> Set field 'dispatchNotes' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:13] [INFO]   -> Set field 'cADLog' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 15:09:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 15:09:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 15:09:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 15:09:13] [INFO]   -> Found value: ROCKY POINT
[2026-03-07 15:09:13] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-07 15:09:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 15:09:13] [INFO]   -> Found value: RD
[2026-03-07 15:09:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 15:09:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 15:09:13] [INFO]   -> Found value: 8550 ROCKY POINT RD
[2026-03-07 15:09:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8550 ROCKY POINT RD"
[2026-03-07 15:09:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 15:09:13] [INFO] Concatenating street name and type
[2026-03-07 15:09:13] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-07 15:09:13] [INFO] Built locationCoordinates from lat/lng: 36.13383,-85.36326
[2026-03-07 15:09:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000617","dispatchRunNumber":"2026000617","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":8550,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1338300000000032241587177850306034088134765625,"nERISIncidentLongitude":-85.363259999999996807673596777021884918212890625,"alarm":"2026-03-07 09:06:33","dispatched":"2026-03-07 09:07:50","enroute":"2026-03-07 09:09:04","incidentLocationCross":"MACEDONIA CEMETERY RD\/WELCH RD","cADVehicleID":"TK21","timedispatch":"2026-03-07 09:07:50","timeenroutetoscene":"2026-03-07 09:09:04","policeReportNumber":"20260025076","dispatchNotes":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","cADLog":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"8550 ROCKY POINT RD","locationCoordinates":"36.13383,-85.36326"}
[2026-03-07 15:09:13] [INFO] Number of extracted fields: 23
[2026-03-07 15:09:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 15:09:13] [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-07 15:09:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 15:09:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 15:09:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 15:09: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-07 15:09: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-07 15:09:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 15:09:14] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-07 15:09:14] [INFO] Found existing Dispatch with cADNumber '2026000617', ID: 69ac3f4a7999d644c - will update instead of create
[2026-03-07 15:09:14] [INFO] Updated existing Dispatches record with ID: 69ac3f4a7999d644c
[2026-03-07 15:09:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150912.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025076_20260307_150912.XML
[2026-03-07 15:09:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150912.XML
[2026-03-07 15:09:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150914.XML
[2026-03-07 15:09:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150914.XML for user: 68f1466aed072ad4a
[2026-03-07 15:09:14] [INFO] File size: 5192 bytes
[2026-03-07 15:09:15] [INFO] Created FTPFiles record with ID: 69ac3f9b0d47630d8
[2026-03-07 15:09:15] [INFO] About to extract fields from XML. File size: 5192 bytes
[2026-03-07 15:09:15] [INFO] Number of mappings: 28
[2026-03-07 15:09:15] [INFO] Starting XML parsing. Content length: 5192
[2026-03-07 15:09:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 15:09:15] [INFO] Processing 28 field mappings
[2026-03-07 15:09:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 15:09:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 15:09:15] [INFO]   -> Found value: PCFD
[2026-03-07 15:09:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 15:09:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 15:09:15] [INFO]   -> Found value: 2026000617
[2026-03-07 15:09:15] [INFO]   -> Set field 'incidentInternalId' = "2026000617"
[2026-03-07 15:09:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000617"
[2026-03-07 15:09:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 15:09:15] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-03-07 15:09:15] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-03-07 15:09:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 15:09:15] [INFO]   -> Found value: 8550
[2026-03-07 15:09:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8550
[2026-03-07 15:09:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 15:09:15] [INFO]   -> Found value: TN
[2026-03-07 15:09:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 15:09:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 15:09:15] [INFO]   -> Found value: 38506
[2026-03-07 15:09:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 15:09:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 15:09:15] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 15:09:15] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 15:09:15] [INFO]   -> Found value: 36.13383
[2026-03-07 15:09:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1338300000000032241587177850306034088134765625
[2026-03-07 15:09:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 15:09:15] [INFO]   -> Found value: -85.36326
[2026-03-07 15:09:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.363259999999996807673596777021884918212890625
[2026-03-07 15:09:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 15:09:15] [INFO]   -> Found value: 2026-03-07 09:06:33
[2026-03-07 15:09:15] [INFO]   -> Set field 'alarm' = "2026-03-07 09:06:33"
[2026-03-07 15:09:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 15:09:15] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:15] [INFO]   -> Set field 'dispatched' = "2026-03-07 09:07:50"
[2026-03-07 15:09:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 15:09:15] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:15] [INFO]   -> Set field 'enroute' = "2026-03-07 09:09:04"
[2026-03-07 15:09:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 15:09:15] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 15:09:15] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 15:09:15] [INFO]   -> Found value: MACEDONIA CEMETERY RD/WELCH RD
[2026-03-07 15:09:15] [INFO]   -> Set field 'incidentLocationCross' = "MACEDONIA CEMETERY RD\/WELCH RD"
[2026-03-07 15:09:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 15:09:15] [INFO]   -> Found value: TK21
[2026-03-07 15:09:15] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-07 15:09:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 15:09:15] [INFO]   -> Found value: 2026-03-07 09:07:50
[2026-03-07 15:09:15] [INFO]   -> Set field 'timedispatch' = "2026-03-07 09:07:50"
[2026-03-07 15:09:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 15:09:15] [INFO]   -> Found value: 2026-03-07 09:09:04
[2026-03-07 15:09:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 09:09:04"
[2026-03-07 15:09:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 15:09:15] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 15:09:15] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 15:09:15] [INFO]   -> No value found (null or empty)
[2026-03-07 15:09:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 15:09:15] [INFO]   -> Found value: 20260025076
[2026-03-07 15:09:15] [INFO]   -> Set field 'policeReportNumber' = "20260025076"
[2026-03-07 15:09:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 15:09:15] [INFO]   -> Found value: GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03/07/26 09:07:44 KHILL] APPROX 200 FEET FROM T...
[2026-03-07 15:09:15] [INFO]   -> Set field 'dispatchNotes' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:15] [INFO]   -> Set field 'cADLog' = "GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]"
[2026-03-07 15:09:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 15:09:15] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 15:09:15] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 15:09:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 15:09:15] [INFO]   -> Found value: ROCKY POINT
[2026-03-07 15:09:15] [INFO]   -> Set field 'streetName' = "ROCKY POINT"
[2026-03-07 15:09:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 15:09:15] [INFO]   -> Found value: RD
[2026-03-07 15:09:15] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 15:09:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 15:09:15] [INFO]   -> Found value: 8550 ROCKY POINT RD
[2026-03-07 15:09:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8550 ROCKY POINT RD"
[2026-03-07 15:09:15] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 15:09:15] [INFO] Concatenating street name and type
[2026-03-07 15:09:15] [INFO]   -> Combined street name: ROCKY POINT RD
[2026-03-07 15:09:15] [INFO] Built locationCoordinates from lat/lng: 36.13383,-85.36326
[2026-03-07 15:09:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000617","dispatchRunNumber":"2026000617","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":8550,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1338300000000032241587177850306034088134765625,"nERISIncidentLongitude":-85.363259999999996807673596777021884918212890625,"alarm":"2026-03-07 09:06:33","dispatched":"2026-03-07 09:07:50","enroute":"2026-03-07 09:09:04","incidentLocationCross":"MACEDONIA CEMETERY RD\/WELCH RD","cADVehicleID":"TK21","timedispatch":"2026-03-07 09:07:50","timeenroutetoscene":"2026-03-07 09:09:04","policeReportNumber":"20260025076","dispatchNotes":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","cADLog":"GOING TO PUT WATER AROUND HIS TRACTOR AT THIS TIME  [03\/07\/26 09:07:44 KHILL] APPROX 200 FEET FROM THE CALLERS RESIDENCE  [03\/07\/26 09:07:23 KHILL] FIRE ON THE TOP OF THE HILL  [03\/07\/26 09:07:04 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"ROCKY POINT RD","incidentAddressTextVersionStreet":"8550 ROCKY POINT RD","locationCoordinates":"36.13383,-85.36326"}
[2026-03-07 15:09:15] [INFO] Number of extracted fields: 23
[2026-03-07 15:09:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 15:09:15] [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-07 15:09:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 15:09:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 15:09:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 15:09: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-07 15:09: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-07 15:09:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 15:09:15] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-03-07 15:09:15] [INFO] Found existing Dispatch with cADNumber '2026000617', ID: 69ac3f4a7999d644c - will update instead of create
[2026-03-07 15:09:15] [INFO] Updated existing Dispatches record with ID: 69ac3f4a7999d644c
[2026-03-07 15:09:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150914.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025076_20260307_150914.XML
[2026-03-07 15:09:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025076_20260307_150914.XML
[2026-03-07 15:19:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06934.xml
[2026-03-07 15:19:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06934.xml for user: 68d56363ec1209189
[2026-03-07 15:19:28] [INFO] File size: 2272 bytes
[2026-03-07 15:19:28] [INFO] Created FTPFiles record with ID: 69ac42005a73f63ca
[2026-03-07 15:19:28] [INFO] About to extract fields from XML. File size: 2272 bytes
[2026-03-07 15:19:28] [INFO] Number of mappings: 21
[2026-03-07 15:19:28] [INFO] Starting XML parsing. Content length: 2272
[2026-03-07 15:19:28] [INFO] XML parsed successfully. Root element: Incident
[2026-03-07 15:19:28] [INFO] Processing 21 field mappings
[2026-03-07 15:19:28] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-07 15:19:28] [INFO]   -> Found value: 26-06934
[2026-03-07 15:19:28] [INFO]   -> Set field 'dispatchRunNumber' = "26-06934"
[2026-03-07 15:19:28] [INFO]   -> Set field 'cADNumber' = "26-06934"
[2026-03-07 15:19:28] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-07 15:19:28] [INFO]   -> Found value: 605
[2026-03-07 15:19:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 605
[2026-03-07 15:19:28] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-07 15:19:28] [INFO]   -> Found value: BRUNT BLVD
[2026-03-07 15:19:28] [INFO]   -> Set field 'streetName' = "BRUNT BLVD"
[2026-03-07 15:19:28] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-07 15:19:28] [INFO]   -> No value found (null or empty)
[2026-03-07 15:19:28] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-07 15:19:28] [INFO]   -> Found value: SIKESTON
[2026-03-07 15:19:28] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-07 15:19:28] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-07 15:19:28] [INFO]   -> Found value: FLORA FARMS
[2026-03-07 15:19:28] [INFO]   -> Set field 'businessName' = "FLORA FARMS"
[2026-03-07 15:19:28] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-07 15:19:28] [INFO]   -> Found value: MO
[2026-03-07 15:19:28] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-07 15:19:28] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-07 15:19:28] [INFO]   -> Found value: 63801
[2026-03-07 15:19:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-07 15:19:28] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-07 15:19:28] [INFO]   -> Found value: 0
[2026-03-07 15:19:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-07 15:19:28] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-07 15:19:28] [INFO]   -> Found value: 0
[2026-03-07 15:19:28] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-07 15:19:28] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-07 15:19:28] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-03-07 15:19:28] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-03-07 15:19:28] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-07 15:19:28] [INFO]   -> Found value: 03-07-2026 08:58:35|SMOKE IN THE BUILDING 

ATTEMPTING KEYHOLDER CONTACT

KEYHOLDER TERESA BORNEMAN ...
[2026-03-07 15:19:28] [INFO]   -> Set field 'dispatchNotes' = "03-07-2026 08:58:35|SMOKE IN THE BUILDING \n\nATTEMPTING KEYHOLDER CONTACT\n\nKEYHOLDER TERESA BORNEMAN 573-275-4156 03-07-2026 09:04:13|SINGLE STORY STRUCTURE NOTHING SHOWING 03-07-2026 09:05:16|KEY HOLDER CALLED AND ADVISED IT WAS A FALSE ALARM 03-07-2026 09:06:39|ENG2 CLEARED LADDER 3 03-07-2026 09:15:36|Disposition - SDPS PD:  NRN 03-07-2026 09:18:59|ENGINE 2 DID NOT ADVISE ON SCENE"
[2026-03-07 15:19:28] [INFO]   -> Set field 'cADLog' = "03-07-2026 08:58:35|SMOKE IN THE BUILDING \n\nATTEMPTING KEYHOLDER CONTACT\n\nKEYHOLDER TERESA BORNEMAN 573-275-4156 03-07-2026 09:04:13|SINGLE STORY STRUCTURE NOTHING SHOWING 03-07-2026 09:05:16|KEY HOLDER CALLED AND ADVISED IT WAS A FALSE ALARM 03-07-2026 09:06:39|ENG2 CLEARED LADDER 3 03-07-2026 09:15:36|Disposition - SDPS PD:  NRN 03-07-2026 09:18:59|ENGINE 2 DID NOT ADVISE ON SCENE"
[2026-03-07 15:19:28] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-07 15:19:28] [INFO]   -> Found value: 03-07-2026T09:01:35
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:01:35
[2026-03-07 15:19:28] [INFO]   -> Set field 'alarm' = "2026-07-03 09:01:35"
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:01:35
[2026-03-07 15:19:28] [INFO]   -> Set field 'dispatched' = "2026-07-03 09:01:35"
[2026-03-07 15:19:28] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-07 15:19:28] [INFO]   -> Found value: 03-07-2026T09:03:43
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:03:43
[2026-03-07 15:19:28] [INFO]   -> Set field 'onScene' = "2026-07-03 09:03:43"
[2026-03-07 15:19:28] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-07 15:19:28] [INFO]   -> Found value: 03-07-2026T09:19:05
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:19:05
[2026-03-07 15:19:28] [INFO]   -> Set field 'cleared' = "2026-07-03 09:19:05"
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:19:05
[2026-03-07 15:19:28] [INFO]   -> Set field 'inService' = "2026-07-03 09:19:05"
[2026-03-07 15:19:28] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-07 15:19:28] [INFO]   -> Found value: ENG2
[2026-03-07 15:19:28] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-07 15:19:28] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-07 15:19:28] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-07 15:19:28] [INFO]   -> Found value: 03-07-2026T09:02:42
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:02:42
[2026-03-07 15:19:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-07-03 09:02:42"
[2026-03-07 15:19:28] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-07 15:19:28] [INFO]   -> No value found (null or empty)
[2026-03-07 15:19:28] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-07 15:19:28] [INFO]   -> Found value: 03-07-2026T09:19:05
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:19:05
[2026-03-07 15:19:28] [INFO]   -> Set field 'timeunitclear' = "2026-07-03 09:19:05"
[2026-03-07 15:19:28] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-07 15:19:28] [INFO]   -> Found value: 03-07-2026T09:02:40
[2026-03-07 15:19:28] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T09:02:40
[2026-03-07 15:19:28] [INFO]   -> Set field 'timedispatch' = "2026-07-03 09:02:40"
[2026-03-07 15:19:28] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-07 15:19:28] [INFO]   -> Found value: SDPSFD
[2026-03-07 15:19:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-07 15:19:28] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 15:19:28] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-07 15:19:28] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06934","cADNumber":"26-06934","incidentLocationStreetNumber":605,"streetName":"BRUNT BLVD","incidentLocationCity":"SIKESTON","businessName":"FLORA FARMS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"03-07-2026 08:58:35|SMOKE IN THE BUILDING \n\nATTEMPTING KEYHOLDER CONTACT\n\nKEYHOLDER TERESA BORNEMAN 573-275-4156 03-07-2026 09:04:13|SINGLE STORY STRUCTURE NOTHING SHOWING 03-07-2026 09:05:16|KEY HOLDER CALLED AND ADVISED IT WAS A FALSE ALARM 03-07-2026 09:06:39|ENG2 CLEARED LADDER 3 03-07-2026 09:15:36|Disposition - SDPS PD:  NRN 03-07-2026 09:18:59|ENGINE 2 DID NOT ADVISE ON SCENE","cADLog":"03-07-2026 08:58:35|SMOKE IN THE BUILDING \n\nATTEMPTING KEYHOLDER CONTACT\n\nKEYHOLDER TERESA BORNEMAN 573-275-4156 03-07-2026 09:04:13|SINGLE STORY STRUCTURE NOTHING SHOWING 03-07-2026 09:05:16|KEY HOLDER CALLED AND ADVISED IT WAS A FALSE ALARM 03-07-2026 09:06:39|ENG2 CLEARED LADDER 3 03-07-2026 09:15:36|Disposition - SDPS PD:  NRN 03-07-2026 09:18:59|ENGINE 2 DID NOT ADVISE ON SCENE","alarm":"2026-07-03 09:01:35","dispatched":"2026-07-03 09:01:35","onScene":"2026-07-03 09:03:43","cleared":"2026-07-03 09:19:05","inService":"2026-07-03 09:19:05","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-07-03 09:02:42","timeunitclear":"2026-07-03 09:19:05","timedispatch":"2026-07-03 09:02:40","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-07 15:19:28] [INFO] Number of extracted fields: 25
[2026-03-07 15:19:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-07 15:19:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-07 15:19:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-07 15:19:28] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-07 15:19:28] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-07 15:19:28] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-07 15:19:28] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-07 15:19:28] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-07 15:19:28] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-03-07 15:19:30] [INFO] Created new Dispatches record with ID: 69ac420129cbe17b2
[2026-03-07 15:19:30] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-07
[2026-03-07 15:19:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06934.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-07/SDPSFD_26-06934.xml
[2026-03-07 15:19:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06934.xml
[2026-03-07 17:28:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06941.xml
[2026-03-07 17:28:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06941.xml for user: 68d56363ec1209189
[2026-03-07 17:28:12] [INFO] File size: 1998 bytes
[2026-03-07 17:28:12] [INFO] Created FTPFiles record with ID: 69ac602cd7d6d6fcf
[2026-03-07 17:28:12] [INFO] About to extract fields from XML. File size: 1998 bytes
[2026-03-07 17:28:12] [INFO] Number of mappings: 21
[2026-03-07 17:28:12] [INFO] Starting XML parsing. Content length: 1998
[2026-03-07 17:28:12] [INFO] XML parsed successfully. Root element: Incident
[2026-03-07 17:28:12] [INFO] Processing 21 field mappings
[2026-03-07 17:28:12] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-07 17:28:12] [INFO]   -> Found value: 26-06941
[2026-03-07 17:28:12] [INFO]   -> Set field 'dispatchRunNumber' = "26-06941"
[2026-03-07 17:28:12] [INFO]   -> Set field 'cADNumber' = "26-06941"
[2026-03-07 17:28:12] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-07 17:28:12] [INFO]   -> Found value: 760
[2026-03-07 17:28:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 760
[2026-03-07 17:28:12] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-07 17:28:12] [INFO]   -> Found value: PLANTATION BLVD
[2026-03-07 17:28:12] [INFO]   -> Set field 'streetName' = "PLANTATION BLVD"
[2026-03-07 17:28:12] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-07 17:28:12] [INFO]   -> No value found (null or empty)
[2026-03-07 17:28:12] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-07 17:28:12] [INFO]   -> Found value: SIKESTON
[2026-03-07 17:28:12] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-07 17:28:12] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-07 17:28:12] [INFO]   -> Found value: BOOTHEEL COUNSELING - PLANTATION
[2026-03-07 17:28:12] [INFO]   -> Set field 'businessName' = "BOOTHEEL COUNSELING - PLANTATION"
[2026-03-07 17:28:12] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-07 17:28:12] [INFO]   -> Found value: MO
[2026-03-07 17:28:12] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-07 17:28:12] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-07 17:28:12] [INFO]   -> Found value: 63801
[2026-03-07 17:28:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-07 17:28:12] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-07 17:28:12] [INFO]   -> Found value: 0
[2026-03-07 17:28:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-07 17:28:12] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-07 17:28:12] [INFO]   -> Found value: 0
[2026-03-07 17:28:12] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-07 17:28:12] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-07 17:28:12] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-03-07 17:28:12] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-03-07 17:28:12] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-07 17:28:12] [INFO]   -> Found value: 03-07-2026 11:22:10|SMOKE DETECTORS 

ATTEMPTING CONTACT WITH KEYHOLDERS 
 03-07-2026 11:26:30|FALSE...
[2026-03-07 17:28:12] [INFO]   -> Set field 'dispatchNotes' = "03-07-2026 11:22:10|SMOKE DETECTORS \n\nATTEMPTING CONTACT WITH KEYHOLDERS \n 03-07-2026 11:26:30|FALSE ALARM PER ALARM COMPANY"
[2026-03-07 17:28:12] [INFO]   -> Set field 'cADLog' = "03-07-2026 11:22:10|SMOKE DETECTORS \n\nATTEMPTING CONTACT WITH KEYHOLDERS \n 03-07-2026 11:26:30|FALSE ALARM PER ALARM COMPANY"
[2026-03-07 17:28:12] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-07 17:28:12] [INFO]   -> Found value: 03-07-2026T11:23:56
[2026-03-07 17:28:12] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:23:56
[2026-03-07 17:28:12] [INFO]   -> Set field 'alarm' = "2026-07-03 11:23:56"
[2026-03-07 17:28:12] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:23:56
[2026-03-07 17:28:12] [INFO]   -> Set field 'dispatched' = "2026-07-03 11:23:56"
[2026-03-07 17:28:12] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-07 17:28:12] [INFO]   -> No value found (null or empty)
[2026-03-07 17:28:12] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-07 17:28:12] [INFO]   -> No value found (null or empty)
[2026-03-07 17:28:12] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-07 17:28:12] [INFO]   -> Found value: ENG2
[2026-03-07 17:28:12] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-07 17:28:12] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-07 17:28:12] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-07 17:28:12] [INFO]   -> Found value: 03-07-2026T11:25:12
[2026-03-07 17:28:12] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:25:12
[2026-03-07 17:28:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-07-03 11:25:12"
[2026-03-07 17:28:12] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-07 17:28:12] [INFO]   -> No value found (null or empty)
[2026-03-07 17:28:12] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-07 17:28:12] [INFO]   -> Found value: 03-07-2026T11:27:03
[2026-03-07 17:28:12] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:27:03
[2026-03-07 17:28:12] [INFO]   -> Set field 'timeunitclear' = "2026-07-03 11:27:03"
[2026-03-07 17:28:12] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-07 17:28:12] [INFO]   -> Found value: 03-07-2026T11:25:10
[2026-03-07 17:28:12] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:25:10
[2026-03-07 17:28:12] [INFO]   -> Set field 'timedispatch' = "2026-07-03 11:25:10"
[2026-03-07 17:28:12] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-07 17:28:12] [INFO]   -> Found value: SDPSFD
[2026-03-07 17:28:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-07 17:28:12] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 17:28:12] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-07 17:28:12] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06941","cADNumber":"26-06941","incidentLocationStreetNumber":760,"streetName":"PLANTATION BLVD","incidentLocationCity":"SIKESTON","businessName":"BOOTHEEL COUNSELING - PLANTATION","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"03-07-2026 11:22:10|SMOKE DETECTORS \n\nATTEMPTING CONTACT WITH KEYHOLDERS \n 03-07-2026 11:26:30|FALSE ALARM PER ALARM COMPANY","cADLog":"03-07-2026 11:22:10|SMOKE DETECTORS \n\nATTEMPTING CONTACT WITH KEYHOLDERS \n 03-07-2026 11:26:30|FALSE ALARM PER ALARM COMPANY","alarm":"2026-07-03 11:23:56","dispatched":"2026-07-03 11:23:56","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-07-03 11:25:12","timeunitclear":"2026-07-03 11:27:03","timedispatch":"2026-07-03 11:25:10","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-07 17:28:12] [INFO] Number of extracted fields: 22
[2026-03-07 17:28:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-07 17:28:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-07 17:28:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-07 17:28:12] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-07 17:28:13] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-07 17:28:13] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-07 17:28:13] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-07 17:28:13] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-07 17:28:13] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-03-07 17:28:15] [INFO] Created new Dispatches record with ID: 69ac602da2638828c
[2026-03-07 17:28:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06941.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-07/SDPSFD_26-06941.xml
[2026-03-07 17:28:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06941.xml
[2026-03-07 17:43:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06942.xml
[2026-03-07 17:43:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06942.xml for user: 68d56363ec1209189
[2026-03-07 17:43:26] [INFO] File size: 2062 bytes
[2026-03-07 17:43:26] [INFO] Created FTPFiles record with ID: 69ac63becb693cccd
[2026-03-07 17:43:26] [INFO] About to extract fields from XML. File size: 2062 bytes
[2026-03-07 17:43:26] [INFO] Number of mappings: 21
[2026-03-07 17:43:26] [INFO] Starting XML parsing. Content length: 2062
[2026-03-07 17:43:26] [INFO] XML parsed successfully. Root element: Incident
[2026-03-07 17:43:26] [INFO] Processing 21 field mappings
[2026-03-07 17:43:26] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-07 17:43:26] [INFO]   -> Found value: 26-06942
[2026-03-07 17:43:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-06942"
[2026-03-07 17:43:26] [INFO]   -> Set field 'cADNumber' = "26-06942"
[2026-03-07 17:43:26] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-07 17:43:26] [INFO]   -> Found value: 1239
[2026-03-07 17:43:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1239
[2026-03-07 17:43:26] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-07 17:43:26] [INFO]   -> Found value: COMMERCE DR
[2026-03-07 17:43:26] [INFO]   -> Set field 'streetName' = "COMMERCE DR"
[2026-03-07 17:43:26] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-07 17:43:26] [INFO]   -> No value found (null or empty)
[2026-03-07 17:43:26] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-07 17:43:26] [INFO]   -> Found value: SIKESTON
[2026-03-07 17:43:26] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-07 17:43:26] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-07 17:43:26] [INFO]   -> Found value: FAIRFIELD INN &SUITES
[2026-03-07 17:43:26] [INFO]   -> Set field 'businessName' = "FAIRFIELD INN &SUITES"
[2026-03-07 17:43:26] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-07 17:43:26] [INFO]   -> Found value: MO
[2026-03-07 17:43:26] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-07 17:43:26] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-07 17:43:26] [INFO]   -> Found value: 63801
[2026-03-07 17:43:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-07 17:43:26] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-07 17:43:26] [INFO]   -> Found value: 0
[2026-03-07 17:43:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-07 17:43:26] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-07 17:43:26] [INFO]   -> Found value: 0
[2026-03-07 17:43:26] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-07 17:43:26] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-07 17:43:26] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-03-07 17:43:26] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-03-07 17:43:26] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-07 17:43:26] [INFO]   -> Found value: 03-07-2026 11:39:39|COMMERICAL FIRE ALARM 
SMOKE DETECTORS

ATTEMPTING KEYHOLDER CONTACT 
 03-07-202...
[2026-03-07 17:43:26] [INFO]   -> Set field 'dispatchNotes' = "03-07-2026 11:39:39|COMMERICAL FIRE ALARM \nSMOKE DETECTORS\n\nATTEMPTING KEYHOLDER CONTACT \n 03-07-2026 11:42:29|EMPLOYEE CALLED NMCO AND ADVISED THAT IT WAS A FALSE ALARM. THEY BURNT POPCORN."
[2026-03-07 17:43:26] [INFO]   -> Set field 'cADLog' = "03-07-2026 11:39:39|COMMERICAL FIRE ALARM \nSMOKE DETECTORS\n\nATTEMPTING KEYHOLDER CONTACT \n 03-07-2026 11:42:29|EMPLOYEE CALLED NMCO AND ADVISED THAT IT WAS A FALSE ALARM. THEY BURNT POPCORN."
[2026-03-07 17:43:26] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-07 17:43:26] [INFO]   -> Found value: 03-07-2026T11:41:15
[2026-03-07 17:43:26] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:41:15
[2026-03-07 17:43:26] [INFO]   -> Set field 'alarm' = "2026-07-03 11:41:15"
[2026-03-07 17:43:26] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:41:15
[2026-03-07 17:43:26] [INFO]   -> Set field 'dispatched' = "2026-07-03 11:41:15"
[2026-03-07 17:43:26] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-07 17:43:26] [INFO]   -> No value found (null or empty)
[2026-03-07 17:43:26] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-07 17:43:26] [INFO]   -> No value found (null or empty)
[2026-03-07 17:43:26] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-07 17:43:26] [INFO]   -> Found value: ENG2
[2026-03-07 17:43:26] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-07 17:43:26] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-07 17:43:26] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-07 17:43:26] [INFO]   -> Found value: 03-07-2026T11:42:13
[2026-03-07 17:43:26] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:42:13
[2026-03-07 17:43:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-07-03 11:42:13"
[2026-03-07 17:43:26] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-07 17:43:26] [INFO]   -> No value found (null or empty)
[2026-03-07 17:43:26] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-07 17:43:26] [INFO]   -> Found value: 03-07-2026T11:42:50
[2026-03-07 17:43:26] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:42:50
[2026-03-07 17:43:26] [INFO]   -> Set field 'timeunitclear' = "2026-07-03 11:42:50"
[2026-03-07 17:43:26] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-07 17:43:26] [INFO]   -> Found value: 03-07-2026T11:42:12
[2026-03-07 17:43:26] [INFO] Reformatted DD-MM-YYYY date '03-07-2026' (day=03, month=07) to ISO: 2026-07-03T11:42:12
[2026-03-07 17:43:26] [INFO]   -> Set field 'timedispatch' = "2026-07-03 11:42:12"
[2026-03-07 17:43:26] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-07 17:43:26] [INFO]   -> Found value: SDPSFD
[2026-03-07 17:43:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-07 17:43:26] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 17:43:26] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-07 17:43:26] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06942","cADNumber":"26-06942","incidentLocationStreetNumber":1239,"streetName":"COMMERCE DR","incidentLocationCity":"SIKESTON","businessName":"FAIRFIELD INN &SUITES","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"03-07-2026 11:39:39|COMMERICAL FIRE ALARM \nSMOKE DETECTORS\n\nATTEMPTING KEYHOLDER CONTACT \n 03-07-2026 11:42:29|EMPLOYEE CALLED NMCO AND ADVISED THAT IT WAS A FALSE ALARM. THEY BURNT POPCORN.","cADLog":"03-07-2026 11:39:39|COMMERICAL FIRE ALARM \nSMOKE DETECTORS\n\nATTEMPTING KEYHOLDER CONTACT \n 03-07-2026 11:42:29|EMPLOYEE CALLED NMCO AND ADVISED THAT IT WAS A FALSE ALARM. THEY BURNT POPCORN.","alarm":"2026-07-03 11:41:15","dispatched":"2026-07-03 11:41:15","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-07-03 11:42:13","timeunitclear":"2026-07-03 11:42:50","timedispatch":"2026-07-03 11:42:12","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-07 17:43:26] [INFO] Number of extracted fields: 22
[2026-03-07 17:43:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-07 17:43:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-07 17:43:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-07 17:43:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-07 17:43:26] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-07 17:43:27] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-07 17:43:27] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-07 17:43:27] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-07 17:43:27] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-03-07 17:43:29] [INFO] Created new Dispatches record with ID: 69ac63bf94a78ccc8
[2026-03-07 17:43:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06942.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-07/SDPSFD_26-06942.xml
[2026-03-07 17:43:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06942.xml
[2026-03-07 19:08:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190811.XML
[2026-03-07 19:08:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190811.XML for user: 68f1466aed072ad4a
[2026-03-07 19:08:11] [INFO] File size: 4653 bytes
[2026-03-07 19:08:11] [INFO] Created FTPFiles record with ID: 69ac779b75bc73d7b
[2026-03-07 19:08:11] [INFO] About to extract fields from XML. File size: 4653 bytes
[2026-03-07 19:08:11] [INFO] Number of mappings: 28
[2026-03-07 19:08:11] [INFO] Starting XML parsing. Content length: 4653
[2026-03-07 19:08:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:08:11] [INFO] Processing 28 field mappings
[2026-03-07 19:08:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:08:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:08:11] [INFO]   -> Found value: PCFD
[2026-03-07 19:08:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 19:08:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:08:11] [INFO]   -> Found value: 2026000618
[2026-03-07 19:08:11] [INFO]   -> Set field 'incidentInternalId' = "2026000618"
[2026-03-07 19:08:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000618"
[2026-03-07 19:08:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:08:11] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-07 19:08:11] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-07 19:08:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:08:11] [INFO]   -> Found value: 1577
[2026-03-07 19:08:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1577
[2026-03-07 19:08:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:08:11] [INFO]   -> Found value: TN
[2026-03-07 19:08:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:08:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:08:11] [INFO]   -> Found value: 38501
[2026-03-07 19:08:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:08:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:08:11] [INFO]   -> Found value: 36.19014
[2026-03-07 19:08:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1901399999999995316102285869419574737548828125
[2026-03-07 19:08:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:08:11] [INFO]   -> Found value: -85.53168
[2026-03-07 19:08:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.53167999999999437932274304330348968505859375
[2026-03-07 19:08:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:08:11] [INFO]   -> Found value: 2026-03-07 13:07:38
[2026-03-07 19:08:11] [INFO]   -> Set field 'alarm' = "2026-03-07 13:07:38"
[2026-03-07 19:08:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:08:11] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:11] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:08:08"
[2026-03-07 19:08:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:08:11] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:11] [INFO]   -> Set field 'enroute' = "2026-03-07 13:08:08"
[2026-03-07 19:08:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:08:11] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-07 19:08:11] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-07 19:08:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:08:11] [INFO]   -> Found value: SQ11
[2026-03-07 19:08:11] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 19:08:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:08:11] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:11] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:08:08"
[2026-03-07 19:08:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:08:11] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 13:08:08"
[2026-03-07 19:08:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:08:11] [INFO]   -> Found value: 20260025159
[2026-03-07 19:08:11] [INFO]   -> Set field 'policeReportNumber' = "20260025159"
[2026-03-07 19:08:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:08:11] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:08:11] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:08:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:08:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:08:11] [INFO]   -> Found value: WALTER
[2026-03-07 19:08:11] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-07 19:08:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:08:11] [INFO]   -> Found value: LN
[2026-03-07 19:08:11] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 19:08:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:08:11] [INFO]   -> Found value: 1577 WALTER LN
[2026-03-07 19:08:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1577 WALTER LN"
[2026-03-07 19:08:11] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 19:08:11] [INFO] Concatenating street name and type
[2026-03-07 19:08:11] [INFO]   -> Combined street name: WALTER LN
[2026-03-07 19:08:11] [INFO] Built locationCoordinates from lat/lng: 36.19014,-85.53168
[2026-03-07 19:08:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000618","dispatchRunNumber":"2026000618","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1577,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1901399999999995316102285869419574737548828125,"nERISIncidentLongitude":-85.53167999999999437932274304330348968505859375,"alarm":"2026-03-07 13:07:38","dispatched":"2026-03-07 13:08:08","enroute":"2026-03-07 13:08:08","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"SQ11","timedispatch":"2026-03-07 13:08:08","timeenroutetoscene":"2026-03-07 13:08:08","policeReportNumber":"20260025159","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1577 WALTER LN","locationCoordinates":"36.19014,-85.53168"}
[2026-03-07 19:08:11] [INFO] Number of extracted fields: 21
[2026-03-07 19:08:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 19:08:11] [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-07 19:08:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 19:08:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:08:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:08: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-07 19:08: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-07 19:08:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:08:11] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-07 19:08:23] [INFO] Created new Dispatches record with ID: 69ac779d68c525f74
[2026-03-07 19:08:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190811.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025159_20260307_190811.XML
[2026-03-07 19:08:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190811.XML
[2026-03-07 19:08:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190814.XML
[2026-03-07 19:08:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190814.XML for user: 68f1466aed072ad4a
[2026-03-07 19:08:23] [INFO] File size: 4760 bytes
[2026-03-07 19:08:23] [INFO] Created FTPFiles record with ID: 69ac77a7a91e00f71
[2026-03-07 19:08:23] [INFO] About to extract fields from XML. File size: 4760 bytes
[2026-03-07 19:08:23] [INFO] Number of mappings: 28
[2026-03-07 19:08:23] [INFO] Starting XML parsing. Content length: 4760
[2026-03-07 19:08:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:08:23] [INFO] Processing 28 field mappings
[2026-03-07 19:08:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:08:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:08:23] [INFO]   -> Found value: PCFD
[2026-03-07 19:08:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 19:08:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026000618
[2026-03-07 19:08:23] [INFO]   -> Set field 'incidentInternalId' = "2026000618"
[2026-03-07 19:08:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000618"
[2026-03-07 19:08:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:08:23] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-07 19:08:23] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-07 19:08:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:08:23] [INFO]   -> Found value: 1577
[2026-03-07 19:08:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1577
[2026-03-07 19:08:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:08:23] [INFO]   -> Found value: TN
[2026-03-07 19:08:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:08:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:08:23] [INFO]   -> Found value: 38501
[2026-03-07 19:08:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:08:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:08:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:08:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:08:23] [INFO]   -> Found value: 36.19014
[2026-03-07 19:08:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1901399999999995316102285869419574737548828125
[2026-03-07 19:08:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:08:23] [INFO]   -> Found value: -85.53168
[2026-03-07 19:08:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.53167999999999437932274304330348968505859375
[2026-03-07 19:08:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026-03-07 13:07:38
[2026-03-07 19:08:23] [INFO]   -> Set field 'alarm' = "2026-03-07 13:07:38"
[2026-03-07 19:08:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:23] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:08:08"
[2026-03-07 19:08:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:23] [INFO]   -> Set field 'enroute' = "2026-03-07 13:08:08"
[2026-03-07 19:08:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:08:23] [INFO]   -> Set field 'onScene' = "2026-03-07 13:08:10"
[2026-03-07 19:08:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:08:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:08:23] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-07 19:08:23] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-07 19:08:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:08:23] [INFO]   -> Found value: SQ11
[2026-03-07 19:08:23] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 19:08:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:23] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:08:08"
[2026-03-07 19:08:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:08:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 13:08:08"
[2026-03-07 19:08:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:08:23] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:08:23] [INFO]   -> Set field 'timeonscene' = "2026-03-07 13:08:10"
[2026-03-07 19:08:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:08:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:08:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:08:23] [INFO]   -> Found value: 20260025159
[2026-03-07 19:08:23] [INFO]   -> Set field 'policeReportNumber' = "20260025159"
[2026-03-07 19:08:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:08:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:08:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:08:23] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:08:23] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:08:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:08:23] [INFO]   -> Found value: WALTER
[2026-03-07 19:08:23] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-07 19:08:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:08:23] [INFO]   -> Found value: LN
[2026-03-07 19:08:23] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 19:08:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:08:23] [INFO]   -> Found value: 1577 WALTER LN
[2026-03-07 19:08:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1577 WALTER LN"
[2026-03-07 19:08:23] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 19:08:23] [INFO] Concatenating street name and type
[2026-03-07 19:08:23] [INFO]   -> Combined street name: WALTER LN
[2026-03-07 19:08:23] [INFO] Built locationCoordinates from lat/lng: 36.19014,-85.53168
[2026-03-07 19:08:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000618","dispatchRunNumber":"2026000618","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1577,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1901399999999995316102285869419574737548828125,"nERISIncidentLongitude":-85.53167999999999437932274304330348968505859375,"alarm":"2026-03-07 13:07:38","dispatched":"2026-03-07 13:08:08","enroute":"2026-03-07 13:08:08","onScene":"2026-03-07 13:08:10","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"SQ11","timedispatch":"2026-03-07 13:08:08","timeenroutetoscene":"2026-03-07 13:08:08","timeonscene":"2026-03-07 13:08:10","policeReportNumber":"20260025159","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1577 WALTER LN","locationCoordinates":"36.19014,-85.53168"}
[2026-03-07 19:08:23] [INFO] Number of extracted fields: 23
[2026-03-07 19:08:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 19:08:23] [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-07 19:08:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 19:08:23] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:08:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:08:24] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 19:08:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 19:08:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:08:24] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-07 19:08:24] [INFO] Found existing Dispatch with cADNumber '2026000618', ID: 69ac779d68c525f74 - will update instead of create
[2026-03-07 19:08:24] [INFO] Updated existing Dispatches record with ID: 69ac779d68c525f74
[2026-03-07 19:08:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190814.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025159_20260307_190814.XML
[2026-03-07 19:08:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_190814.XML
[2026-03-07 19:28:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822.XML
[2026-03-07 19:28:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822.XML for user: 68f1466aed072ad4a
[2026-03-07 19:28:22] [INFO] File size: 5040 bytes
[2026-03-07 19:28:23] [INFO] Created FTPFiles record with ID: 69ac7c56ed8948abd
[2026-03-07 19:28:23] [INFO] About to extract fields from XML. File size: 5040 bytes
[2026-03-07 19:28:23] [INFO] Number of mappings: 28
[2026-03-07 19:28:23] [INFO] Starting XML parsing. Content length: 5040
[2026-03-07 19:28:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:28:23] [INFO] Processing 28 field mappings
[2026-03-07 19:28:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:28:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:28:23] [INFO]   -> Found value: PCFD
[2026-03-07 19:28:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 19:28:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026000618
[2026-03-07 19:28:23] [INFO]   -> Set field 'incidentInternalId' = "2026000618"
[2026-03-07 19:28:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000618"
[2026-03-07 19:28:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:28:23] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-07 19:28:23] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-07 19:28:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:28:23] [INFO]   -> Found value: 1577
[2026-03-07 19:28:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1577
[2026-03-07 19:28:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:28:23] [INFO]   -> Found value: TN
[2026-03-07 19:28:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:28:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:28:23] [INFO]   -> Found value: 38501
[2026-03-07 19:28:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:28:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:28:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:28:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:28:23] [INFO]   -> Found value: 36.19014
[2026-03-07 19:28:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1901399999999995316102285869419574737548828125
[2026-03-07 19:28:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:28:23] [INFO]   -> Found value: -85.53168
[2026-03-07 19:28:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.53167999999999437932274304330348968505859375
[2026-03-07 19:28:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:07:38
[2026-03-07 19:28:23] [INFO]   -> Set field 'alarm' = "2026-03-07 13:07:38"
[2026-03-07 19:28:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:23] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:08:08"
[2026-03-07 19:28:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:23] [INFO]   -> Set field 'enroute' = "2026-03-07 13:08:08"
[2026-03-07 19:28:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:28:23] [INFO]   -> Set field 'onScene' = "2026-03-07 13:08:10"
[2026-03-07 19:28:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:28:14
[2026-03-07 19:28:23] [INFO]   -> Set field 'cleared' = "2026-03-07 13:28:14"
[2026-03-07 19:28:23] [INFO]   -> Set field 'inService' = "2026-03-07 13:28:14"
[2026-03-07 19:28:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:28:23] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-07 19:28:23] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-07 19:28:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:28:23] [INFO]   -> Found value: SQ11
[2026-03-07 19:28:23] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 19:28:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:23] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:08:08"
[2026-03-07 19:28:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 13:08:08"
[2026-03-07 19:28:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:28:23] [INFO]   -> Set field 'timeonscene' = "2026-03-07 13:08:10"
[2026-03-07 19:28:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:28:23] [INFO]   -> Found value: 2026-03-07 13:28:14
[2026-03-07 19:28:23] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 13:28:14"
[2026-03-07 19:28:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:28:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:28:23] [INFO]   -> Found value: 20260025159
[2026-03-07 19:28:23] [INFO]   -> Set field 'policeReportNumber' = "20260025159"
[2026-03-07 19:28:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:28:23] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:28:23] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:28:23] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:28:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:28:23] [INFO]   -> Found value: WALTER
[2026-03-07 19:28:23] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-07 19:28:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:28:23] [INFO]   -> Found value: LN
[2026-03-07 19:28:23] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 19:28:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:28:23] [INFO]   -> Found value: 1577 WALTER LN
[2026-03-07 19:28:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1577 WALTER LN"
[2026-03-07 19:28:23] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-07 19:28:23] [INFO] Concatenating street name and type
[2026-03-07 19:28:23] [INFO]   -> Combined street name: WALTER LN
[2026-03-07 19:28:23] [INFO] Built locationCoordinates from lat/lng: 36.19014,-85.53168
[2026-03-07 19:28:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000618","dispatchRunNumber":"2026000618","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1577,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1901399999999995316102285869419574737548828125,"nERISIncidentLongitude":-85.53167999999999437932274304330348968505859375,"alarm":"2026-03-07 13:07:38","dispatched":"2026-03-07 13:08:08","enroute":"2026-03-07 13:08:08","onScene":"2026-03-07 13:08:10","cleared":"2026-03-07 13:28:14","inService":"2026-03-07 13:28:14","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"SQ11","timedispatch":"2026-03-07 13:08:08","timeenroutetoscene":"2026-03-07 13:08:08","timeonscene":"2026-03-07 13:08:10","timeunitclear":"2026-03-07 13:28:14","policeReportNumber":"20260025159","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1577 WALTER LN","locationCoordinates":"36.19014,-85.53168"}
[2026-03-07 19:28:23] [INFO] Number of extracted fields: 26
[2026-03-07 19:28:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 19:28:23] [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-07 19:28:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 19:28:23] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:28:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:28: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-07 19:28: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-07 19:28:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:28:23] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-07 19:28:23] [INFO] Found existing Dispatch with cADNumber '2026000618', ID: 69ac779d68c525f74 - will update instead of create
[2026-03-07 19:28:23] [INFO] Updated existing Dispatches record with ID: 69ac779d68c525f74
[2026-03-07 19:28:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025159_20260307_192822.XML
[2026-03-07 19:28:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822.XML
[2026-03-07 19:28:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822_1.XML
[2026-03-07 19:28:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822_1.XML for user: 68f1466aed072ad4a
[2026-03-07 19:28:23] [INFO] File size: 5040 bytes
[2026-03-07 19:28:24] [INFO] Created FTPFiles record with ID: 69ac7c583065f421d
[2026-03-07 19:28:24] [INFO] About to extract fields from XML. File size: 5040 bytes
[2026-03-07 19:28:24] [INFO] Number of mappings: 28
[2026-03-07 19:28:24] [INFO] Starting XML parsing. Content length: 5040
[2026-03-07 19:28:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:28:24] [INFO] Processing 28 field mappings
[2026-03-07 19:28:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:28:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:28:24] [INFO]   -> Found value: PCFD
[2026-03-07 19:28:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 19:28:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026000618
[2026-03-07 19:28:24] [INFO]   -> Set field 'incidentInternalId' = "2026000618"
[2026-03-07 19:28:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000618"
[2026-03-07 19:28:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:28:24] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-07 19:28:24] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-07 19:28:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:28:24] [INFO]   -> Found value: 1577
[2026-03-07 19:28:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1577
[2026-03-07 19:28:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:28:24] [INFO]   -> Found value: TN
[2026-03-07 19:28:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:28:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:28:24] [INFO]   -> Found value: 38501
[2026-03-07 19:28:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:28:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:28:24] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:28:24] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:28:24] [INFO]   -> Found value: 36.19014
[2026-03-07 19:28:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1901399999999995316102285869419574737548828125
[2026-03-07 19:28:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:28:24] [INFO]   -> Found value: -85.53168
[2026-03-07 19:28:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.53167999999999437932274304330348968505859375
[2026-03-07 19:28:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:07:38
[2026-03-07 19:28:24] [INFO]   -> Set field 'alarm' = "2026-03-07 13:07:38"
[2026-03-07 19:28:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:24] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:08:08"
[2026-03-07 19:28:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:24] [INFO]   -> Set field 'enroute' = "2026-03-07 13:08:08"
[2026-03-07 19:28:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:28:24] [INFO]   -> Set field 'onScene' = "2026-03-07 13:08:10"
[2026-03-07 19:28:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:28:14
[2026-03-07 19:28:24] [INFO]   -> Set field 'cleared' = "2026-03-07 13:28:14"
[2026-03-07 19:28:24] [INFO]   -> Set field 'inService' = "2026-03-07 13:28:14"
[2026-03-07 19:28:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:28:24] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-07 19:28:24] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-07 19:28:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:28:24] [INFO]   -> Found value: SQ11
[2026-03-07 19:28:24] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 19:28:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:24] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:08:08"
[2026-03-07 19:28:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 13:08:08"
[2026-03-07 19:28:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:28:24] [INFO]   -> Set field 'timeonscene' = "2026-03-07 13:08:10"
[2026-03-07 19:28:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:28:24] [INFO]   -> Found value: 2026-03-07 13:28:14
[2026-03-07 19:28:24] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 13:28:14"
[2026-03-07 19:28:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:28:24] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:28:24] [INFO]   -> Found value: 20260025159
[2026-03-07 19:28:24] [INFO]   -> Set field 'policeReportNumber' = "20260025159"
[2026-03-07 19:28:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:28:24] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:28:24] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:28:24] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:28:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:28:24] [INFO]   -> Found value: WALTER
[2026-03-07 19:28:24] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-07 19:28:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:28:24] [INFO]   -> Found value: LN
[2026-03-07 19:28:24] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 19:28:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:28:24] [INFO]   -> Found value: 1577 WALTER LN
[2026-03-07 19:28:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1577 WALTER LN"
[2026-03-07 19:28:24] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-07 19:28:24] [INFO] Concatenating street name and type
[2026-03-07 19:28:24] [INFO]   -> Combined street name: WALTER LN
[2026-03-07 19:28:24] [INFO] Built locationCoordinates from lat/lng: 36.19014,-85.53168
[2026-03-07 19:28:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000618","dispatchRunNumber":"2026000618","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1577,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1901399999999995316102285869419574737548828125,"nERISIncidentLongitude":-85.53167999999999437932274304330348968505859375,"alarm":"2026-03-07 13:07:38","dispatched":"2026-03-07 13:08:08","enroute":"2026-03-07 13:08:08","onScene":"2026-03-07 13:08:10","cleared":"2026-03-07 13:28:14","inService":"2026-03-07 13:28:14","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"SQ11","timedispatch":"2026-03-07 13:08:08","timeenroutetoscene":"2026-03-07 13:08:08","timeonscene":"2026-03-07 13:08:10","timeunitclear":"2026-03-07 13:28:14","policeReportNumber":"20260025159","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1577 WALTER LN","locationCoordinates":"36.19014,-85.53168"}
[2026-03-07 19:28:24] [INFO] Number of extracted fields: 26
[2026-03-07 19:28:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 19:28:24] [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-07 19:28:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 19:28:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:28:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:28:24] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 19:28:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 19:28:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:28:24] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-07 19:28:24] [INFO] Found existing Dispatch with cADNumber '2026000618', ID: 69ac779d68c525f74 - will update instead of create
[2026-03-07 19:28:25] [INFO] Updated existing Dispatches record with ID: 69ac779d68c525f74
[2026-03-07 19:28:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025159_20260307_192822_1.XML
[2026-03-07 19:28:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192822_1.XML
[2026-03-07 19:28:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192829.XML
[2026-03-07 19:28:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192829.XML for user: 68f1466aed072ad4a
[2026-03-07 19:28:29] [INFO] File size: 5040 bytes
[2026-03-07 19:28:30] [INFO] Created FTPFiles record with ID: 69ac7c5e18feec876
[2026-03-07 19:28:30] [INFO] About to extract fields from XML. File size: 5040 bytes
[2026-03-07 19:28:30] [INFO] Number of mappings: 28
[2026-03-07 19:28:30] [INFO] Starting XML parsing. Content length: 5040
[2026-03-07 19:28:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:28:30] [INFO] Processing 28 field mappings
[2026-03-07 19:28:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:28:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:28:30] [INFO]   -> Found value: PCFD
[2026-03-07 19:28:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-07 19:28:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026000618
[2026-03-07 19:28:30] [INFO]   -> Set field 'incidentInternalId' = "2026000618"
[2026-03-07 19:28:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000618"
[2026-03-07 19:28:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:28:30] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-03-07 19:28:30] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-03-07 19:28:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:28:30] [INFO]   -> Found value: 1577
[2026-03-07 19:28:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1577
[2026-03-07 19:28:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:28:30] [INFO]   -> Found value: TN
[2026-03-07 19:28:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:28:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:28:30] [INFO]   -> Found value: 38501
[2026-03-07 19:28:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:28:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:28:30] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:28:30] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:28:30] [INFO]   -> Found value: 36.19014
[2026-03-07 19:28:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1901399999999995316102285869419574737548828125
[2026-03-07 19:28:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:28:30] [INFO]   -> Found value: -85.53168
[2026-03-07 19:28:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.53167999999999437932274304330348968505859375
[2026-03-07 19:28:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:07:38
[2026-03-07 19:28:30] [INFO]   -> Set field 'alarm' = "2026-03-07 13:07:38"
[2026-03-07 19:28:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:30] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:08:08"
[2026-03-07 19:28:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:30] [INFO]   -> Set field 'enroute' = "2026-03-07 13:08:08"
[2026-03-07 19:28:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:28:30] [INFO]   -> Set field 'onScene' = "2026-03-07 13:08:10"
[2026-03-07 19:28:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:28:14
[2026-03-07 19:28:30] [INFO]   -> Set field 'cleared' = "2026-03-07 13:28:14"
[2026-03-07 19:28:30] [INFO]   -> Set field 'inService' = "2026-03-07 13:28:14"
[2026-03-07 19:28:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:28:30] [INFO]   -> Found value: HARLEY DR/GAINESBORO GRADE
[2026-03-07 19:28:30] [INFO]   -> Set field 'incidentLocationCross' = "HARLEY DR\/GAINESBORO GRADE"
[2026-03-07 19:28:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:28:30] [INFO]   -> Found value: SQ11
[2026-03-07 19:28:30] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 19:28:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:30] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:08:08"
[2026-03-07 19:28:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:08:08
[2026-03-07 19:28:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 13:08:08"
[2026-03-07 19:28:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:08:10
[2026-03-07 19:28:30] [INFO]   -> Set field 'timeonscene' = "2026-03-07 13:08:10"
[2026-03-07 19:28:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:28:30] [INFO]   -> Found value: 2026-03-07 13:28:14
[2026-03-07 19:28:30] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 13:28:14"
[2026-03-07 19:28:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:28:30] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:28:30] [INFO]   -> Found value: 20260025159
[2026-03-07 19:28:30] [INFO]   -> Set field 'policeReportNumber' = "20260025159"
[2026-03-07 19:28:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:28:30] [INFO]   -> No value found (null or empty)
[2026-03-07 19:28:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:28:30] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:28:30] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:28:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:28:30] [INFO]   -> Found value: WALTER
[2026-03-07 19:28:30] [INFO]   -> Set field 'streetName' = "WALTER"
[2026-03-07 19:28:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:28:30] [INFO]   -> Found value: LN
[2026-03-07 19:28:30] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 19:28:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:28:30] [INFO]   -> Found value: 1577 WALTER LN
[2026-03-07 19:28:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1577 WALTER LN"
[2026-03-07 19:28:30] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-07 19:28:30] [INFO] Concatenating street name and type
[2026-03-07 19:28:30] [INFO]   -> Combined street name: WALTER LN
[2026-03-07 19:28:30] [INFO] Built locationCoordinates from lat/lng: 36.19014,-85.53168
[2026-03-07 19:28:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000618","dispatchRunNumber":"2026000618","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1577,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1901399999999995316102285869419574737548828125,"nERISIncidentLongitude":-85.53167999999999437932274304330348968505859375,"alarm":"2026-03-07 13:07:38","dispatched":"2026-03-07 13:08:08","enroute":"2026-03-07 13:08:08","onScene":"2026-03-07 13:08:10","cleared":"2026-03-07 13:28:14","inService":"2026-03-07 13:28:14","incidentLocationCross":"HARLEY DR\/GAINESBORO GRADE","cADVehicleID":"SQ11","timedispatch":"2026-03-07 13:08:08","timeenroutetoscene":"2026-03-07 13:08:08","timeonscene":"2026-03-07 13:08:10","timeunitclear":"2026-03-07 13:28:14","policeReportNumber":"20260025159","incidentLocationCity":"COOKEVILLE","streetName":"WALTER LN","incidentAddressTextVersionStreet":"1577 WALTER LN","locationCoordinates":"36.19014,-85.53168"}
[2026-03-07 19:28:30] [INFO] Number of extracted fields: 26
[2026-03-07 19:28:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-07 19:28: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-07 19:28:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-07 19:28:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:28:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:28: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-07 19:28: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-07 19:28:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:28:30] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-03-07 19:28:30] [INFO] Found existing Dispatch with cADNumber '2026000618', ID: 69ac779d68c525f74 - will update instead of create
[2026-03-07 19:28:31] [INFO] Updated existing Dispatches record with ID: 69ac779d68c525f74
[2026-03-07 19:28:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192829.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025159_20260307_192829.XML
[2026-03-07 19:28:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025159_20260307_192829.XML
[2026-03-07 19:57:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195739.XML
[2026-03-07 19:57:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195739.XML for user: 68f1466aed072ad4a
[2026-03-07 19:57:39] [INFO] File size: 5168 bytes
[2026-03-07 19:57:40] [INFO] Created FTPFiles record with ID: 69ac83343a4ec2392
[2026-03-07 19:57:40] [INFO] About to extract fields from XML. File size: 5168 bytes
[2026-03-07 19:57:40] [INFO] Number of mappings: 28
[2026-03-07 19:57:40] [INFO] Starting XML parsing. Content length: 5168
[2026-03-07 19:57:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:57:40] [INFO] Processing 28 field mappings
[2026-03-07 19:57:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:57:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:57:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 19:57:40] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 19:57:40] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 19:57:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 19:57:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:57:40] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 19:57:40] [INFO]   -> Found value: 2026000619
[2026-03-07 19:57:40] [INFO]   -> Set field 'incidentInternalId' = "2026000619"
[2026-03-07 19:57:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000619"
[2026-03-07 19:57:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:57:40] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-07 19:57:40] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-07 19:57:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:57:40] [INFO]   -> Found value: 1339
[2026-03-07 19:57:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1339
[2026-03-07 19:57:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:57:40] [INFO]   -> Found value: TN
[2026-03-07 19:57:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:57:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:57:40] [INFO]   -> Found value: 38501
[2026-03-07 19:57:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:57:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:57:40] [INFO]   -> Found value: 36.21112
[2026-03-07 19:57:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21112000000000108457243186421692371368408203125
[2026-03-07 19:57:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:57:40] [INFO]   -> Found value: -85.47296
[2026-03-07 19:57:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47296000000000049112713895738124847412109375
[2026-03-07 19:57:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:57:40] [INFO]   -> Found value: 2026-03-07 13:57:18
[2026-03-07 19:57:40] [INFO]   -> Set field 'alarm' = "2026-03-07 13:57:18"
[2026-03-07 19:57:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:57:40] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:57:40] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:57:34"
[2026-03-07 19:57:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:57:40] [INFO]   -> Found value: QUINLAND LAKE RD/QUINLAND LAKE RD
[2026-03-07 19:57:40] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD\/QUINLAND LAKE RD"
[2026-03-07 19:57:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:57:40] [INFO]   -> Found value: PCFR
[2026-03-07 19:57:40] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 19:57:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:57:40] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:57:40] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:57:34"
[2026-03-07 19:57:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:57:40] [INFO]   -> No value found (null or empty)
[2026-03-07 19:57:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:57:40] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 19:57:40] [INFO]   -> Found value: 20260025171
[2026-03-07 19:57:40] [INFO]   -> Set field 'policeReportNumber' = "20260025171"
[2026-03-07 19:57:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:57:40] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [03/07/2026 13:57:18 KHILL]
[2026-03-07 19:57:40] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:57:40] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:57:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:57:40] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:57:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:57:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:57:40] [INFO]   -> Found value: PONDVIEW
[2026-03-07 19:57:40] [INFO]   -> Set field 'streetName' = "PONDVIEW"
[2026-03-07 19:57:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:57:40] [INFO]   -> Found value: CIR
[2026-03-07 19:57:40] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-07 19:57:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:57:40] [INFO]   -> Found value: 1339 PONDVIEW CIR
[2026-03-07 19:57:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1339 PONDVIEW CIR"
[2026-03-07 19:57:40] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 19:57:40] [INFO] Concatenating street name and type
[2026-03-07 19:57:40] [INFO]   -> Combined street name: PONDVIEW CIR
[2026-03-07 19:57:40] [INFO] Built locationCoordinates from lat/lng: 36.21112,-85.47296
[2026-03-07 19:57:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000619","dispatchRunNumber":"2026000619","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1339,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21112000000000108457243186421692371368408203125,"nERISIncidentLongitude":-85.47296000000000049112713895738124847412109375,"alarm":"2026-03-07 13:57:18","dispatched":"2026-03-07 13:57:34","incidentLocationCross":"QUINLAND LAKE RD\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-07 13:57:34","policeReportNumber":"20260025171","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"PONDVIEW CIR","incidentAddressTextVersionStreet":"1339 PONDVIEW CIR","locationCoordinates":"36.21112,-85.47296"}
[2026-03-07 19:57:40] [INFO] Number of extracted fields: 21
[2026-03-07 19:57:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 19:57:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 19:57:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 19:57:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:57:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:57:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 19:57:40] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 19:57:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 19:57:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 19:57:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 19:57:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:57:40] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-07 19:57:50] [INFO] Created new Dispatches record with ID: 69ac83350d5872492
[2026-03-07 19:57:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195739.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025171_20260307_195739.XML
[2026-03-07 19:57:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195739.XML
[2026-03-07 19:59:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942.XML
[2026-03-07 19:59:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942.XML for user: 68f1466aed072ad4a
[2026-03-07 19:59:42] [INFO] File size: 6273 bytes
[2026-03-07 19:59:42] [INFO] Created FTPFiles record with ID: 69ac83aede1a58a23
[2026-03-07 19:59:42] [INFO] About to extract fields from XML. File size: 6273 bytes
[2026-03-07 19:59:42] [INFO] Number of mappings: 28
[2026-03-07 19:59:42] [INFO] Starting XML parsing. Content length: 6273
[2026-03-07 19:59:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:59:42] [INFO] Processing 28 field mappings
[2026-03-07 19:59:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:59:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:59:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 19:59:42] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 19:59:42] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 19:59:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 19:59:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:59:42] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 19:59:42] [INFO]   -> Found value: 2026000619
[2026-03-07 19:59:42] [INFO]   -> Set field 'incidentInternalId' = "2026000619"
[2026-03-07 19:59:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000619"
[2026-03-07 19:59:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:59:42] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-07 19:59:42] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-07 19:59:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:59:42] [INFO]   -> Found value: 1339
[2026-03-07 19:59:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1339
[2026-03-07 19:59:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:59:42] [INFO]   -> Found value: TN
[2026-03-07 19:59:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:59:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:59:42] [INFO]   -> Found value: 38501
[2026-03-07 19:59:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:59:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:59:42] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:59:42] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:59:42] [INFO]   -> Found value: 36.21112
[2026-03-07 19:59:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21112000000000108457243186421692371368408203125
[2026-03-07 19:59:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:59:42] [INFO]   -> Found value: -85.47296
[2026-03-07 19:59:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47296000000000049112713895738124847412109375
[2026-03-07 19:59:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:59:42] [INFO]   -> Found value: 2026-03-07 13:57:18
[2026-03-07 19:59:42] [INFO]   -> Set field 'alarm' = "2026-03-07 13:57:18"
[2026-03-07 19:59:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:59:42] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:59:42] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:57:34"
[2026-03-07 19:59:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:59:42] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:59:42] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:59:42] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:59:42] [INFO]   -> Found value: QUINLAND LAKE RD/QUINLAND LAKE RD
[2026-03-07 19:59:42] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD\/QUINLAND LAKE RD"
[2026-03-07 19:59:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:59:42] [INFO]   -> Found value: PCFR
[2026-03-07 19:59:42] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 19:59:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:59:42] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:59:42] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:57:34"
[2026-03-07 19:59:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:59:42] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:59:42] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:59:42] [INFO]   -> Found value: 2026-03-07 13:59:38
[2026-03-07 19:59:42] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 13:59:38"
[2026-03-07 19:59:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:59:42] [INFO]   -> Found value: 2026-03-07 13:59:38
[2026-03-07 19:59:42] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-07 13:59:38"
[2026-03-07 19:59:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:59:42] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 19:59:42] [INFO]   -> Found value: 20260025171
[2026-03-07 19:59:42] [INFO]   -> Set field 'policeReportNumber' = "20260025171"
[2026-03-07 19:59:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:59:42] [INFO]   -> Found value: [EMS] 931-349-1959 JANICE BROOKETT  [03/07/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03/07/26 1...
[2026-03-07 19:59:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:42] [INFO]   -> Set field 'cADLog' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:59:42] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:59:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:59:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:59:42] [INFO]   -> Found value: PONDVIEW
[2026-03-07 19:59:42] [INFO]   -> Set field 'streetName' = "PONDVIEW"
[2026-03-07 19:59:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:59:42] [INFO]   -> Found value: CIR
[2026-03-07 19:59:42] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-07 19:59:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:59:42] [INFO]   -> Found value: 1339 PONDVIEW CIR
[2026-03-07 19:59:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1339 PONDVIEW CIR"
[2026-03-07 19:59:42] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 19:59:42] [INFO] Concatenating street name and type
[2026-03-07 19:59:42] [INFO]   -> Combined street name: PONDVIEW CIR
[2026-03-07 19:59:42] [INFO] Built locationCoordinates from lat/lng: 36.21112,-85.47296
[2026-03-07 19:59:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000619","dispatchRunNumber":"2026000619","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1339,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21112000000000108457243186421692371368408203125,"nERISIncidentLongitude":-85.47296000000000049112713895738124847412109375,"alarm":"2026-03-07 13:57:18","dispatched":"2026-03-07 13:57:34","incidentLocationCross":"QUINLAND LAKE RD\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-07 13:57:34","timeunitclear":"2026-03-07 13:59:38","timecanceledenroute":"2026-03-07 13:59:38","policeReportNumber":"20260025171","dispatchNotes":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","cADLog":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"PONDVIEW CIR","incidentAddressTextVersionStreet":"1339 PONDVIEW CIR","locationCoordinates":"36.21112,-85.47296"}
[2026-03-07 19:59:42] [INFO] Number of extracted fields: 23
[2026-03-07 19:59:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 19:59:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 19:59:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 19:59:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:59:43] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:59:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 19:59:43] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 19:59:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 19:59:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 19:59:43] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 19:59:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:59:43] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-07 19:59:43] [INFO] Found existing Dispatch with cADNumber '2026000619', ID: 69ac83350d5872492 - will update instead of create
[2026-03-07 19:59:43] [INFO] Updated existing Dispatches record with ID: 69ac83350d5872492
[2026-03-07 19:59:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025171_20260307_195942.XML
[2026-03-07 19:59:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942.XML
[2026-03-07 19:59:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942_1.XML
[2026-03-07 19:59:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942_1.XML for user: 68f1466aed072ad4a
[2026-03-07 19:59:43] [INFO] File size: 6273 bytes
[2026-03-07 19:59:44] [INFO] Created FTPFiles record with ID: 69ac83b01806d1873
[2026-03-07 19:59:44] [INFO] About to extract fields from XML. File size: 6273 bytes
[2026-03-07 19:59:44] [INFO] Number of mappings: 28
[2026-03-07 19:59:44] [INFO] Starting XML parsing. Content length: 6273
[2026-03-07 19:59:44] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:59:44] [INFO] Processing 28 field mappings
[2026-03-07 19:59:44] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:59:44] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:59:44] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 19:59:44] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 19:59:44] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 19:59:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 19:59:44] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:59:44] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 19:59:44] [INFO]   -> Found value: 2026000619
[2026-03-07 19:59:44] [INFO]   -> Set field 'incidentInternalId' = "2026000619"
[2026-03-07 19:59:44] [INFO]   -> Set field 'dispatchRunNumber' = "2026000619"
[2026-03-07 19:59:44] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:59:44] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-07 19:59:44] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-07 19:59:44] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:59:44] [INFO]   -> Found value: 1339
[2026-03-07 19:59:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1339
[2026-03-07 19:59:44] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:59:44] [INFO]   -> Found value: TN
[2026-03-07 19:59:44] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:59:44] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:59:44] [INFO]   -> Found value: 38501
[2026-03-07 19:59:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:59:44] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:59:44] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:44] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:59:44] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:44] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:59:44] [INFO]   -> Found value: 36.21112
[2026-03-07 19:59:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21112000000000108457243186421692371368408203125
[2026-03-07 19:59:44] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:59:44] [INFO]   -> Found value: -85.47296
[2026-03-07 19:59:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47296000000000049112713895738124847412109375
[2026-03-07 19:59:44] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:59:44] [INFO]   -> Found value: 2026-03-07 13:57:18
[2026-03-07 19:59:44] [INFO]   -> Set field 'alarm' = "2026-03-07 13:57:18"
[2026-03-07 19:59:44] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:59:44] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:59:44] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:57:34"
[2026-03-07 19:59:44] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:59:44] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:44] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:59:44] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:44] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:59:44] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:44] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:59:44] [INFO]   -> Found value: QUINLAND LAKE RD/QUINLAND LAKE RD
[2026-03-07 19:59:44] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD\/QUINLAND LAKE RD"
[2026-03-07 19:59:44] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:59:44] [INFO]   -> Found value: PCFR
[2026-03-07 19:59:44] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 19:59:44] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:59:44] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:59:44] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:57:34"
[2026-03-07 19:59:44] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:59:44] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:44] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:59:44] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:44] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:59:44] [INFO]   -> Found value: 2026-03-07 13:59:38
[2026-03-07 19:59:44] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 13:59:38"
[2026-03-07 19:59:44] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:59:44] [INFO]   -> Found value: 2026-03-07 13:59:38
[2026-03-07 19:59:44] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-07 13:59:38"
[2026-03-07 19:59:44] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:59:44] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 19:59:44] [INFO]   -> Found value: 20260025171
[2026-03-07 19:59:44] [INFO]   -> Set field 'policeReportNumber' = "20260025171"
[2026-03-07 19:59:44] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:59:44] [INFO]   -> Found value: [EMS] 931-349-1959 JANICE BROOKETT  [03/07/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03/07/26 1...
[2026-03-07 19:59:44] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:44] [INFO]   -> Set field 'cADLog' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:44] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:59:44] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:59:44] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:59:44] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:59:44] [INFO]   -> Found value: PONDVIEW
[2026-03-07 19:59:44] [INFO]   -> Set field 'streetName' = "PONDVIEW"
[2026-03-07 19:59:44] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:59:44] [INFO]   -> Found value: CIR
[2026-03-07 19:59:44] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-07 19:59:44] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:59:44] [INFO]   -> Found value: 1339 PONDVIEW CIR
[2026-03-07 19:59:44] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1339 PONDVIEW CIR"
[2026-03-07 19:59:44] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 19:59:44] [INFO] Concatenating street name and type
[2026-03-07 19:59:44] [INFO]   -> Combined street name: PONDVIEW CIR
[2026-03-07 19:59:44] [INFO] Built locationCoordinates from lat/lng: 36.21112,-85.47296
[2026-03-07 19:59:44] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000619","dispatchRunNumber":"2026000619","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1339,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21112000000000108457243186421692371368408203125,"nERISIncidentLongitude":-85.47296000000000049112713895738124847412109375,"alarm":"2026-03-07 13:57:18","dispatched":"2026-03-07 13:57:34","incidentLocationCross":"QUINLAND LAKE RD\/QUINLAND LAKE RD","cADVehicleID":"PCFR","timedispatch":"2026-03-07 13:57:34","timeunitclear":"2026-03-07 13:59:38","timecanceledenroute":"2026-03-07 13:59:38","policeReportNumber":"20260025171","dispatchNotes":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","cADLog":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"PONDVIEW CIR","incidentAddressTextVersionStreet":"1339 PONDVIEW CIR","locationCoordinates":"36.21112,-85.47296"}
[2026-03-07 19:59:44] [INFO] Number of extracted fields: 23
[2026-03-07 19:59:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 19:59:44] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 19:59:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 19:59:44] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:59:44] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:59:44] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 19:59:44] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 19:59:44] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 19:59:44] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 19:59:44] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 19:59:44] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:59:44] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-07 19:59:44] [INFO] Found existing Dispatch with cADNumber '2026000619', ID: 69ac83350d5872492 - will update instead of create
[2026-03-07 19:59:44] [INFO] Updated existing Dispatches record with ID: 69ac83350d5872492
[2026-03-07 19:59:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025171_20260307_195942_1.XML
[2026-03-07 19:59:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195942_1.XML
[2026-03-07 19:59:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195944.XML
[2026-03-07 19:59:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195944.XML for user: 68f1466aed072ad4a
[2026-03-07 19:59:45] [INFO] File size: 6340 bytes
[2026-03-07 19:59:45] [INFO] Created FTPFiles record with ID: 69ac83b149a3cf906
[2026-03-07 19:59:45] [INFO] About to extract fields from XML. File size: 6340 bytes
[2026-03-07 19:59:45] [INFO] Number of mappings: 28
[2026-03-07 19:59:45] [INFO] Starting XML parsing. Content length: 6340
[2026-03-07 19:59:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:59:45] [INFO] Processing 28 field mappings
[2026-03-07 19:59:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:59:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:59:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 19:59:45] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 19:59:45] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 19:59:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 19:59:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:59:45] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 19:59:45] [INFO]   -> Found value: 2026000619
[2026-03-07 19:59:45] [INFO]   -> Set field 'incidentInternalId' = "2026000619"
[2026-03-07 19:59:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000619"
[2026-03-07 19:59:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:59:45] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-07 19:59:45] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-07 19:59:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:59:45] [INFO]   -> Found value: 1339
[2026-03-07 19:59:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1339
[2026-03-07 19:59:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:59:45] [INFO]   -> Found value: TN
[2026-03-07 19:59:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:59:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:59:45] [INFO]   -> Found value: 38501
[2026-03-07 19:59:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:59:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:59:45] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:59:45] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:59:45] [INFO]   -> Found value: 36.21112
[2026-03-07 19:59:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21112000000000108457243186421692371368408203125
[2026-03-07 19:59:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:59:45] [INFO]   -> Found value: -85.47296
[2026-03-07 19:59:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47296000000000049112713895738124847412109375
[2026-03-07 19:59:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:59:45] [INFO]   -> Found value: 2026-03-07 13:57:18
[2026-03-07 19:59:45] [INFO]   -> Set field 'alarm' = "2026-03-07 13:57:18"
[2026-03-07 19:59:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:59:45] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:59:45] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:57:34"
[2026-03-07 19:59:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:59:45] [INFO]   -> Found value: 2026-03-07 13:59:41
[2026-03-07 19:59:45] [INFO]   -> Set field 'enroute' = "2026-03-07 13:59:41"
[2026-03-07 19:59:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:59:45] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:59:45] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:59:45] [INFO]   -> Found value: QUINLAND LAKE RD/QUINLAND LAKE RD
[2026-03-07 19:59:45] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD\/QUINLAND LAKE RD"
[2026-03-07 19:59:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:59:45] [INFO]   -> Found value: TK12
[2026-03-07 19:59:45] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 19:59:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:59:45] [INFO]   -> Found value: 2026-03-07 13:59:38
[2026-03-07 19:59:45] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:59:38"
[2026-03-07 19:59:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:59:45] [INFO]   -> Found value: 2026-03-07 13:59:41
[2026-03-07 19:59:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 13:59:41"
[2026-03-07 19:59:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:59:45] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:59:45] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:59:45] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:59:45] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 19:59:45] [INFO]   -> Found value: 20260025171
[2026-03-07 19:59:45] [INFO]   -> Set field 'policeReportNumber' = "20260025171"
[2026-03-07 19:59:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:59:45] [INFO]   -> Found value: [EMS] 931-349-1959 JANICE BROOKETT  [03/07/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03/07/26 1...
[2026-03-07 19:59:45] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:45] [INFO]   -> Set field 'cADLog' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:59:45] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:59:45] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:59:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:59:45] [INFO]   -> Found value: PONDVIEW
[2026-03-07 19:59:45] [INFO]   -> Set field 'streetName' = "PONDVIEW"
[2026-03-07 19:59:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:59:45] [INFO]   -> Found value: CIR
[2026-03-07 19:59:45] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-07 19:59:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:59:45] [INFO]   -> Found value: 1339 PONDVIEW CIR
[2026-03-07 19:59:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1339 PONDVIEW CIR"
[2026-03-07 19:59:45] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 19:59:45] [INFO] Concatenating street name and type
[2026-03-07 19:59:45] [INFO]   -> Combined street name: PONDVIEW CIR
[2026-03-07 19:59:45] [INFO] Built locationCoordinates from lat/lng: 36.21112,-85.47296
[2026-03-07 19:59:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000619","dispatchRunNumber":"2026000619","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1339,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21112000000000108457243186421692371368408203125,"nERISIncidentLongitude":-85.47296000000000049112713895738124847412109375,"alarm":"2026-03-07 13:57:18","dispatched":"2026-03-07 13:57:34","enroute":"2026-03-07 13:59:41","incidentLocationCross":"QUINLAND LAKE RD\/QUINLAND LAKE RD","cADVehicleID":"TK12","timedispatch":"2026-03-07 13:59:38","timeenroutetoscene":"2026-03-07 13:59:41","policeReportNumber":"20260025171","dispatchNotes":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","cADLog":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"PONDVIEW CIR","incidentAddressTextVersionStreet":"1339 PONDVIEW CIR","locationCoordinates":"36.21112,-85.47296"}
[2026-03-07 19:59:45] [INFO] Number of extracted fields: 23
[2026-03-07 19:59:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 19:59:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 19:59:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 19:59:45] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:59:45] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:59:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 19:59:45] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 19:59:45] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 19:59:45] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 19:59:45] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 19:59:45] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:59:45] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-07 19:59:45] [INFO] Found existing Dispatch with cADNumber '2026000619', ID: 69ac83350d5872492 - will update instead of create
[2026-03-07 19:59:46] [INFO] Updated existing Dispatches record with ID: 69ac83350d5872492
[2026-03-07 19:59:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195944.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025171_20260307_195944.XML
[2026-03-07 19:59:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195944.XML
[2026-03-07 19:59:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195950.XML
[2026-03-07 19:59:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195950.XML for user: 68f1466aed072ad4a
[2026-03-07 19:59:50] [INFO] File size: 6340 bytes
[2026-03-07 19:59:51] [INFO] Created FTPFiles record with ID: 69ac83b733ab89ff6
[2026-03-07 19:59:51] [INFO] About to extract fields from XML. File size: 6340 bytes
[2026-03-07 19:59:51] [INFO] Number of mappings: 28
[2026-03-07 19:59:51] [INFO] Starting XML parsing. Content length: 6340
[2026-03-07 19:59:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 19:59:51] [INFO] Processing 28 field mappings
[2026-03-07 19:59:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 19:59:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 19:59:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 19:59:51] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 19:59:51] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 19:59:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 19:59:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 19:59:51] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 19:59:51] [INFO]   -> Found value: 2026000619
[2026-03-07 19:59:51] [INFO]   -> Set field 'incidentInternalId' = "2026000619"
[2026-03-07 19:59:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000619"
[2026-03-07 19:59:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 19:59:51] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-07 19:59:51] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-07 19:59:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 19:59:51] [INFO]   -> Found value: 1339
[2026-03-07 19:59:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1339
[2026-03-07 19:59:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 19:59:51] [INFO]   -> Found value: TN
[2026-03-07 19:59:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 19:59:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 19:59:51] [INFO]   -> Found value: 38501
[2026-03-07 19:59:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 19:59:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 19:59:51] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 19:59:51] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 19:59:51] [INFO]   -> Found value: 36.21112
[2026-03-07 19:59:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21112000000000108457243186421692371368408203125
[2026-03-07 19:59:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 19:59:51] [INFO]   -> Found value: -85.47296
[2026-03-07 19:59:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47296000000000049112713895738124847412109375
[2026-03-07 19:59:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 19:59:51] [INFO]   -> Found value: 2026-03-07 13:57:18
[2026-03-07 19:59:51] [INFO]   -> Set field 'alarm' = "2026-03-07 13:57:18"
[2026-03-07 19:59:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 19:59:51] [INFO]   -> Found value: 2026-03-07 13:57:34
[2026-03-07 19:59:51] [INFO]   -> Set field 'dispatched' = "2026-03-07 13:57:34"
[2026-03-07 19:59:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 19:59:51] [INFO]   -> Found value: 2026-03-07 13:59:41
[2026-03-07 19:59:51] [INFO]   -> Set field 'enroute' = "2026-03-07 13:59:41"
[2026-03-07 19:59:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 19:59:51] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 19:59:51] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 19:59:51] [INFO]   -> Found value: QUINLAND LAKE RD/QUINLAND LAKE RD
[2026-03-07 19:59:51] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD\/QUINLAND LAKE RD"
[2026-03-07 19:59:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 19:59:51] [INFO]   -> Found value: TK12
[2026-03-07 19:59:51] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 19:59:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 19:59:51] [INFO]   -> Found value: 2026-03-07 13:59:38
[2026-03-07 19:59:51] [INFO]   -> Set field 'timedispatch' = "2026-03-07 13:59:38"
[2026-03-07 19:59:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 19:59:51] [INFO]   -> Found value: 2026-03-07 13:59:41
[2026-03-07 19:59:51] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 13:59:41"
[2026-03-07 19:59:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 19:59:51] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 19:59:51] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 19:59:51] [INFO]   -> No value found (null or empty)
[2026-03-07 19:59:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 19:59:51] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 19:59:51] [INFO]   -> Found value: 20260025171
[2026-03-07 19:59:51] [INFO]   -> Set field 'policeReportNumber' = "20260025171"
[2026-03-07 19:59:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 19:59:51] [INFO]   -> Found value: [EMS] 931-349-1959 JANICE BROOKETT  [03/07/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03/07/26 1...
[2026-03-07 19:59:51] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:51] [INFO]   -> Set field 'cADLog' = "[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]"
[2026-03-07 19:59:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 19:59:51] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 19:59:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 19:59:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 19:59:51] [INFO]   -> Found value: PONDVIEW
[2026-03-07 19:59:51] [INFO]   -> Set field 'streetName' = "PONDVIEW"
[2026-03-07 19:59:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 19:59:51] [INFO]   -> Found value: CIR
[2026-03-07 19:59:51] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-07 19:59:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 19:59:51] [INFO]   -> Found value: 1339 PONDVIEW CIR
[2026-03-07 19:59:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1339 PONDVIEW CIR"
[2026-03-07 19:59:51] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 19:59:51] [INFO] Concatenating street name and type
[2026-03-07 19:59:51] [INFO]   -> Combined street name: PONDVIEW CIR
[2026-03-07 19:59:51] [INFO] Built locationCoordinates from lat/lng: 36.21112,-85.47296
[2026-03-07 19:59:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000619","dispatchRunNumber":"2026000619","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1339,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21112000000000108457243186421692371368408203125,"nERISIncidentLongitude":-85.47296000000000049112713895738124847412109375,"alarm":"2026-03-07 13:57:18","dispatched":"2026-03-07 13:57:34","enroute":"2026-03-07 13:59:41","incidentLocationCross":"QUINLAND LAKE RD\/QUINLAND LAKE RD","cADVehicleID":"TK12","timedispatch":"2026-03-07 13:59:38","timeenroutetoscene":"2026-03-07 13:59:41","policeReportNumber":"20260025171","dispatchNotes":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","cADLog":"[EMS] 931-349-1959 JANICE BROOKETT  [03\/07\/26 13:59:19 KHILL] [EMS] CARPORT IS WHERE IS  [03\/07\/26 13:58:20 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 13:58:03 KHILL] [EMS] UNKNOWN DOWN TIME  OUTSIDE ON THE STAIRS  UNKNOWN IF HE IS BLEEDING  [03\/07\/26 13:57:59 KHILL] Event spawned from FAINTING \/ SYNCOPE.  [03\/07\/2026 13:57:18 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"PONDVIEW CIR","incidentAddressTextVersionStreet":"1339 PONDVIEW CIR","locationCoordinates":"36.21112,-85.47296"}
[2026-03-07 19:59:51] [INFO] Number of extracted fields: 23
[2026-03-07 19:59:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 19:59:51] [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-07 19:59:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 19:59:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 19:59:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 19:59:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 19:59:51] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 19:59:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 19:59:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 19:59:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 19:59:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 19:59:51] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-07 19:59:51] [INFO] Found existing Dispatch with cADNumber '2026000619', ID: 69ac83350d5872492 - will update instead of create
[2026-03-07 19:59:52] [INFO] Updated existing Dispatches record with ID: 69ac83350d5872492
[2026-03-07 19:59:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195950.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025171_20260307_195950.XML
[2026-03-07 19:59:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025171_20260307_195950.XML
[2026-03-07 20:02:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200239.XML
[2026-03-07 20:02:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200239.XML for user: 68f1466aed072ad4a
[2026-03-07 20:02:39] [INFO] File size: 5635 bytes
[2026-03-07 20:02:40] [INFO] Created FTPFiles record with ID: 69ac84601c64ca89f
[2026-03-07 20:02:40] [INFO] About to extract fields from XML. File size: 5635 bytes
[2026-03-07 20:02:40] [INFO] Number of mappings: 28
[2026-03-07 20:02:40] [INFO] Starting XML parsing. Content length: 5635
[2026-03-07 20:02:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:02:40] [INFO] Processing 28 field mappings
[2026-03-07 20:02:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:02:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:02:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:02:40] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 20:02:40] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 20:02:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 20:02:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:02:40] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:02:40] [INFO]   -> Found value: 2026000620
[2026-03-07 20:02:40] [INFO]   -> Set field 'incidentInternalId' = "2026000620"
[2026-03-07 20:02:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000620"
[2026-03-07 20:02:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:02:40] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-07 20:02:40] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-07 20:02:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:02:40] [INFO]   -> Found value: 1633
[2026-03-07 20:02:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1633
[2026-03-07 20:02:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:02:40] [INFO]   -> Found value: TN
[2026-03-07 20:02:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:02:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:02:40] [INFO]   -> Found value: 38501
[2026-03-07 20:02:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 20:02:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:02:40] [INFO]   -> Found value: 36.18901
[2026-03-07 20:02:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18901000000000323097992804832756519317626953125
[2026-03-07 20:02:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:02:40] [INFO]   -> Found value: -85.52406
[2026-03-07 20:02:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5240600000000057434590416960418224334716796875
[2026-03-07 20:02:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:02:40] [INFO]   -> Found value: 2026-03-07 14:00:57
[2026-03-07 20:02:40] [INFO]   -> Set field 'alarm' = "2026-03-07 14:00:57"
[2026-03-07 20:02:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:02:40] [INFO]   -> Found value: 2026-03-07 14:02:34
[2026-03-07 20:02:40] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:02:34"
[2026-03-07 20:02:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:02:40] [INFO]   -> Found value: GAINESBORO GRADE/SHIPLEY RD
[2026-03-07 20:02:40] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO GRADE\/SHIPLEY RD"
[2026-03-07 20:02:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:02:40] [INFO]   -> Found value: TK16
[2026-03-07 20:02:40] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-03-07 20:02:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:02:40] [INFO]   -> Found value: 2026-03-07 14:02:34
[2026-03-07 20:02:40] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:02:34"
[2026-03-07 20:02:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:02:40] [INFO]   -> No value found (null or empty)
[2026-03-07 20:02:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:02:40] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:02:40] [INFO]   -> Found value: 20260025175
[2026-03-07 20:02:40] [INFO]   -> Set field 'policeReportNumber' = "20260025175"
[2026-03-07 20:02:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:02:40] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/07/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ...
[2026-03-07 20:02:40] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:02:40] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:02:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:02:40] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:02:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:02:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:02:40] [INFO]   -> Found value: SHIPLEY CHURCH
[2026-03-07 20:02:40] [INFO]   -> Set field 'streetName' = "SHIPLEY CHURCH"
[2026-03-07 20:02:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:02:40] [INFO]   -> Found value: RD
[2026-03-07 20:02:40] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:02:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:02:40] [INFO]   -> Found value: 1633 SHIPLEY CHURCH RD
[2026-03-07 20:02:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1633 SHIPLEY CHURCH RD"
[2026-03-07 20:02:40] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 20:02:40] [INFO] Concatenating street name and type
[2026-03-07 20:02:40] [INFO]   -> Combined street name: SHIPLEY CHURCH RD
[2026-03-07 20:02:40] [INFO] Built locationCoordinates from lat/lng: 36.18901,-85.52406
[2026-03-07 20:02:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000620","dispatchRunNumber":"2026000620","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":1633,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18901000000000323097992804832756519317626953125,"nERISIncidentLongitude":-85.5240600000000057434590416960418224334716796875,"alarm":"2026-03-07 14:00:57","dispatched":"2026-03-07 14:02:34","incidentLocationCross":"GAINESBORO GRADE\/SHIPLEY RD","cADVehicleID":"TK16","timedispatch":"2026-03-07 14:02:34","policeReportNumber":"20260025175","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"SHIPLEY CHURCH RD","incidentAddressTextVersionStreet":"1633 SHIPLEY CHURCH RD","locationCoordinates":"36.18901,-85.52406"}
[2026-03-07 20:02:40] [INFO] Number of extracted fields: 21
[2026-03-07 20:02:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 20:02:40] [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-07 20:02:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 20:02:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:02:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:02:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 20:02:40] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 20:02:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 20:02:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 20:02:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:02:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:02:40] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-07 20:02:49] [INFO] Created new Dispatches record with ID: 69ac8460e67d01c03
[2026-03-07 20:02:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200239.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025175_20260307_200239.XML
[2026-03-07 20:02:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200239.XML
[2026-03-07 20:04:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422.XML
[2026-03-07 20:04:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422.XML for user: 68f1466aed072ad4a
[2026-03-07 20:04:22] [INFO] File size: 6489 bytes
[2026-03-07 20:04:22] [INFO] Created FTPFiles record with ID: 69ac84c6dbf2d06dc
[2026-03-07 20:04:22] [INFO] About to extract fields from XML. File size: 6489 bytes
[2026-03-07 20:04:22] [INFO] Number of mappings: 28
[2026-03-07 20:04:22] [INFO] Starting XML parsing. Content length: 6489
[2026-03-07 20:04:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:04:22] [INFO] Processing 28 field mappings
[2026-03-07 20:04:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:04:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:04:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:04:22] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 20:04:22] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 20:04:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 20:04:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:04:22] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:04:22] [INFO]   -> Found value: 2026000620
[2026-03-07 20:04:22] [INFO]   -> Set field 'incidentInternalId' = "2026000620"
[2026-03-07 20:04:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000620"
[2026-03-07 20:04:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:04:22] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-07 20:04:22] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-07 20:04:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:04:22] [INFO]   -> Found value: 1633
[2026-03-07 20:04:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1633
[2026-03-07 20:04:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:04:22] [INFO]   -> Found value: TN
[2026-03-07 20:04:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:04:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:04:22] [INFO]   -> Found value: 38501
[2026-03-07 20:04:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 20:04:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:04:22] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:04:22] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:04:22] [INFO]   -> Found value: 36.18901
[2026-03-07 20:04:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18901000000000323097992804832756519317626953125
[2026-03-07 20:04:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:04:22] [INFO]   -> Found value: -85.52406
[2026-03-07 20:04:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5240600000000057434590416960418224334716796875
[2026-03-07 20:04:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:04:22] [INFO]   -> Found value: 2026-03-07 14:00:57
[2026-03-07 20:04:22] [INFO]   -> Set field 'alarm' = "2026-03-07 14:00:57"
[2026-03-07 20:04:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:04:22] [INFO]   -> Found value: 2026-03-07 14:02:34
[2026-03-07 20:04:22] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:02:34"
[2026-03-07 20:04:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:04:22] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:22] [INFO]   -> Set field 'enroute' = "2026-03-07 14:04:19"
[2026-03-07 20:04:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:04:22] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:04:22] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:04:22] [INFO]   -> Found value: GAINESBORO GRADE/SHIPLEY RD
[2026-03-07 20:04:22] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO GRADE\/SHIPLEY RD"
[2026-03-07 20:04:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:04:22] [INFO]   -> Found value: EN11
[2026-03-07 20:04:22] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-07 20:04:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:04:22] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:22] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:04:19"
[2026-03-07 20:04:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:04:22] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:04:19"
[2026-03-07 20:04:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:04:22] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:04:22] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:04:22] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:04:22] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:04:22] [INFO]   -> Found value: 20260025175
[2026-03-07 20:04:22] [INFO]   -> Set field 'policeReportNumber' = "20260025175"
[2026-03-07 20:04:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:04:22] [INFO]   -> Found value: [EMS] CHECKING AIR MEDICAL  [03/07/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/07/...
[2026-03-07 20:04:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:22] [INFO]   -> Set field 'cADLog' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:04:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:04:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:04:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:04:22] [INFO]   -> Found value: SHIPLEY CHURCH
[2026-03-07 20:04:22] [INFO]   -> Set field 'streetName' = "SHIPLEY CHURCH"
[2026-03-07 20:04:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:04:22] [INFO]   -> Found value: RD
[2026-03-07 20:04:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:04:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:04:22] [INFO]   -> Found value: 1633 SHIPLEY CHURCH RD
[2026-03-07 20:04:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1633 SHIPLEY CHURCH RD"
[2026-03-07 20:04:22] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:04:22] [INFO] Concatenating street name and type
[2026-03-07 20:04:22] [INFO]   -> Combined street name: SHIPLEY CHURCH RD
[2026-03-07 20:04:22] [INFO] Built locationCoordinates from lat/lng: 36.18901,-85.52406
[2026-03-07 20:04:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000620","dispatchRunNumber":"2026000620","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":1633,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18901000000000323097992804832756519317626953125,"nERISIncidentLongitude":-85.5240600000000057434590416960418224334716796875,"alarm":"2026-03-07 14:00:57","dispatched":"2026-03-07 14:02:34","enroute":"2026-03-07 14:04:19","incidentLocationCross":"GAINESBORO GRADE\/SHIPLEY RD","cADVehicleID":"EN11","timedispatch":"2026-03-07 14:04:19","timeenroutetoscene":"2026-03-07 14:04:19","policeReportNumber":"20260025175","dispatchNotes":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","cADLog":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"SHIPLEY CHURCH RD","incidentAddressTextVersionStreet":"1633 SHIPLEY CHURCH RD","locationCoordinates":"36.18901,-85.52406"}
[2026-03-07 20:04:22] [INFO] Number of extracted fields: 23
[2026-03-07 20:04:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 20:04:22] [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-07 20:04:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 20:04:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:04:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:04:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 20:04: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-07 20:04: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-07 20:04:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 20:04:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:04:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:04:23] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-07 20:04:23] [INFO] Found existing Dispatch with cADNumber '2026000620', ID: 69ac8460e67d01c03 - will update instead of create
[2026-03-07 20:04:23] [INFO] Updated existing Dispatches record with ID: 69ac8460e67d01c03
[2026-03-07 20:04:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025175_20260307_200422.XML
[2026-03-07 20:04:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422.XML
[2026-03-07 20:04:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422_1.XML
[2026-03-07 20:04:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422_1.XML for user: 68f1466aed072ad4a
[2026-03-07 20:04:23] [INFO] File size: 6489 bytes
[2026-03-07 20:04:24] [INFO] Created FTPFiles record with ID: 69ac84c82ce1b394e
[2026-03-07 20:04:24] [INFO] About to extract fields from XML. File size: 6489 bytes
[2026-03-07 20:04:24] [INFO] Number of mappings: 28
[2026-03-07 20:04:24] [INFO] Starting XML parsing. Content length: 6489
[2026-03-07 20:04:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:04:24] [INFO] Processing 28 field mappings
[2026-03-07 20:04:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:04:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:04:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:04:24] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 20:04:24] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 20:04:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 20:04:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:04:24] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:04:24] [INFO]   -> Found value: 2026000620
[2026-03-07 20:04:24] [INFO]   -> Set field 'incidentInternalId' = "2026000620"
[2026-03-07 20:04:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000620"
[2026-03-07 20:04:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:04:24] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-07 20:04:24] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-07 20:04:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:04:24] [INFO]   -> Found value: 1633
[2026-03-07 20:04:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1633
[2026-03-07 20:04:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:04:24] [INFO]   -> Found value: TN
[2026-03-07 20:04:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:04:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:04:24] [INFO]   -> Found value: 38501
[2026-03-07 20:04:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 20:04:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:04:24] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:04:24] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:04:24] [INFO]   -> Found value: 36.18901
[2026-03-07 20:04:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18901000000000323097992804832756519317626953125
[2026-03-07 20:04:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:04:24] [INFO]   -> Found value: -85.52406
[2026-03-07 20:04:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5240600000000057434590416960418224334716796875
[2026-03-07 20:04:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:04:24] [INFO]   -> Found value: 2026-03-07 14:00:57
[2026-03-07 20:04:24] [INFO]   -> Set field 'alarm' = "2026-03-07 14:00:57"
[2026-03-07 20:04:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:04:24] [INFO]   -> Found value: 2026-03-07 14:02:34
[2026-03-07 20:04:24] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:02:34"
[2026-03-07 20:04:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:04:24] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:24] [INFO]   -> Set field 'enroute' = "2026-03-07 14:04:19"
[2026-03-07 20:04:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:04:24] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:04:24] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:04:24] [INFO]   -> Found value: GAINESBORO GRADE/SHIPLEY RD
[2026-03-07 20:04:24] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO GRADE\/SHIPLEY RD"
[2026-03-07 20:04:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:04:24] [INFO]   -> Found value: EN11
[2026-03-07 20:04:24] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-07 20:04:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:04:24] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:24] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:04:19"
[2026-03-07 20:04:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:04:24] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:04:19"
[2026-03-07 20:04:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:04:24] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:04:24] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:04:24] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:04:24] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:04:24] [INFO]   -> Found value: 20260025175
[2026-03-07 20:04:24] [INFO]   -> Set field 'policeReportNumber' = "20260025175"
[2026-03-07 20:04:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:04:24] [INFO]   -> Found value: [EMS] CHECKING AIR MEDICAL  [03/07/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/07/...
[2026-03-07 20:04:24] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:24] [INFO]   -> Set field 'cADLog' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:04:24] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:04:24] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:04:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:04:24] [INFO]   -> Found value: SHIPLEY CHURCH
[2026-03-07 20:04:24] [INFO]   -> Set field 'streetName' = "SHIPLEY CHURCH"
[2026-03-07 20:04:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:04:24] [INFO]   -> Found value: RD
[2026-03-07 20:04:24] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:04:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:04:24] [INFO]   -> Found value: 1633 SHIPLEY CHURCH RD
[2026-03-07 20:04:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1633 SHIPLEY CHURCH RD"
[2026-03-07 20:04:24] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:04:24] [INFO] Concatenating street name and type
[2026-03-07 20:04:24] [INFO]   -> Combined street name: SHIPLEY CHURCH RD
[2026-03-07 20:04:24] [INFO] Built locationCoordinates from lat/lng: 36.18901,-85.52406
[2026-03-07 20:04:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000620","dispatchRunNumber":"2026000620","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":1633,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18901000000000323097992804832756519317626953125,"nERISIncidentLongitude":-85.5240600000000057434590416960418224334716796875,"alarm":"2026-03-07 14:00:57","dispatched":"2026-03-07 14:02:34","enroute":"2026-03-07 14:04:19","incidentLocationCross":"GAINESBORO GRADE\/SHIPLEY RD","cADVehicleID":"EN11","timedispatch":"2026-03-07 14:04:19","timeenroutetoscene":"2026-03-07 14:04:19","policeReportNumber":"20260025175","dispatchNotes":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","cADLog":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"SHIPLEY CHURCH RD","incidentAddressTextVersionStreet":"1633 SHIPLEY CHURCH RD","locationCoordinates":"36.18901,-85.52406"}
[2026-03-07 20:04:24] [INFO] Number of extracted fields: 23
[2026-03-07 20:04:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 20:04:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 20:04:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 20:04:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:04:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:04:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 20:04:24] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 20:04:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 20:04:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 20:04:24] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:04:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:04:24] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-07 20:04:25] [INFO] Found existing Dispatch with cADNumber '2026000620', ID: 69ac8460e67d01c03 - will update instead of create
[2026-03-07 20:04:25] [INFO] Updated existing Dispatches record with ID: 69ac8460e67d01c03
[2026-03-07 20:04:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025175_20260307_200422_1.XML
[2026-03-07 20:04:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200422_1.XML
[2026-03-07 20:04:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200424.XML
[2026-03-07 20:04:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200424.XML for user: 68f1466aed072ad4a
[2026-03-07 20:04:25] [INFO] File size: 6489 bytes
[2026-03-07 20:04:25] [INFO] Created FTPFiles record with ID: 69ac84c99c259a0bd
[2026-03-07 20:04:25] [INFO] About to extract fields from XML. File size: 6489 bytes
[2026-03-07 20:04:25] [INFO] Number of mappings: 28
[2026-03-07 20:04:25] [INFO] Starting XML parsing. Content length: 6489
[2026-03-07 20:04:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:04:25] [INFO] Processing 28 field mappings
[2026-03-07 20:04:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:04:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:04:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:04:25] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 20:04:25] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 20:04:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 20:04:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:04:25] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:04:25] [INFO]   -> Found value: 2026000620
[2026-03-07 20:04:25] [INFO]   -> Set field 'incidentInternalId' = "2026000620"
[2026-03-07 20:04:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000620"
[2026-03-07 20:04:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:04:25] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-07 20:04:25] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-07 20:04:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:04:25] [INFO]   -> Found value: 1633
[2026-03-07 20:04:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1633
[2026-03-07 20:04:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:04:25] [INFO]   -> Found value: TN
[2026-03-07 20:04:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:04:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:04:25] [INFO]   -> Found value: 38501
[2026-03-07 20:04:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 20:04:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:04:25] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:04:25] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:04:25] [INFO]   -> Found value: 36.18901
[2026-03-07 20:04:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18901000000000323097992804832756519317626953125
[2026-03-07 20:04:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:04:25] [INFO]   -> Found value: -85.52406
[2026-03-07 20:04:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5240600000000057434590416960418224334716796875
[2026-03-07 20:04:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:04:25] [INFO]   -> Found value: 2026-03-07 14:00:57
[2026-03-07 20:04:25] [INFO]   -> Set field 'alarm' = "2026-03-07 14:00:57"
[2026-03-07 20:04:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:04:25] [INFO]   -> Found value: 2026-03-07 14:02:34
[2026-03-07 20:04:25] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:02:34"
[2026-03-07 20:04:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:04:25] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:25] [INFO]   -> Set field 'enroute' = "2026-03-07 14:04:19"
[2026-03-07 20:04:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:04:25] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:04:25] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:04:25] [INFO]   -> Found value: GAINESBORO GRADE/SHIPLEY RD
[2026-03-07 20:04:25] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO GRADE\/SHIPLEY RD"
[2026-03-07 20:04:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:04:25] [INFO]   -> Found value: EN11
[2026-03-07 20:04:25] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-07 20:04:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:04:25] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:25] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:04:19"
[2026-03-07 20:04:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:04:25] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:04:19"
[2026-03-07 20:04:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:04:25] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:04:25] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:04:25] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:04:25] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:04:25] [INFO]   -> Found value: 20260025175
[2026-03-07 20:04:25] [INFO]   -> Set field 'policeReportNumber' = "20260025175"
[2026-03-07 20:04:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:04:25] [INFO]   -> Found value: [EMS] CHECKING AIR MEDICAL  [03/07/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/07/...
[2026-03-07 20:04:25] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:25] [INFO]   -> Set field 'cADLog' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:04:25] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:04:25] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:04:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:04:25] [INFO]   -> Found value: SHIPLEY CHURCH
[2026-03-07 20:04:25] [INFO]   -> Set field 'streetName' = "SHIPLEY CHURCH"
[2026-03-07 20:04:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:04:25] [INFO]   -> Found value: RD
[2026-03-07 20:04:25] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:04:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:04:25] [INFO]   -> Found value: 1633 SHIPLEY CHURCH RD
[2026-03-07 20:04:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1633 SHIPLEY CHURCH RD"
[2026-03-07 20:04:25] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:04:25] [INFO] Concatenating street name and type
[2026-03-07 20:04:25] [INFO]   -> Combined street name: SHIPLEY CHURCH RD
[2026-03-07 20:04:25] [INFO] Built locationCoordinates from lat/lng: 36.18901,-85.52406
[2026-03-07 20:04:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000620","dispatchRunNumber":"2026000620","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":1633,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18901000000000323097992804832756519317626953125,"nERISIncidentLongitude":-85.5240600000000057434590416960418224334716796875,"alarm":"2026-03-07 14:00:57","dispatched":"2026-03-07 14:02:34","enroute":"2026-03-07 14:04:19","incidentLocationCross":"GAINESBORO GRADE\/SHIPLEY RD","cADVehicleID":"EN11","timedispatch":"2026-03-07 14:04:19","timeenroutetoscene":"2026-03-07 14:04:19","policeReportNumber":"20260025175","dispatchNotes":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","cADLog":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"SHIPLEY CHURCH RD","incidentAddressTextVersionStreet":"1633 SHIPLEY CHURCH RD","locationCoordinates":"36.18901,-85.52406"}
[2026-03-07 20:04:25] [INFO] Number of extracted fields: 23
[2026-03-07 20:04:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 20:04:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 20:04:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 20:04:25] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:04:25] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:04:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 20:04: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-07 20:04: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-07 20:04:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 20:04:25] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:04:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:04:26] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-07 20:04:26] [INFO] Found existing Dispatch with cADNumber '2026000620', ID: 69ac8460e67d01c03 - will update instead of create
[2026-03-07 20:04:26] [INFO] Updated existing Dispatches record with ID: 69ac8460e67d01c03
[2026-03-07 20:04:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200424.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025175_20260307_200424.XML
[2026-03-07 20:04:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200424.XML
[2026-03-07 20:04:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200430.XML
[2026-03-07 20:04:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200430.XML for user: 68f1466aed072ad4a
[2026-03-07 20:04:30] [INFO] File size: 6489 bytes
[2026-03-07 20:04:31] [INFO] Created FTPFiles record with ID: 69ac84cf44ebe1a8d
[2026-03-07 20:04:31] [INFO] About to extract fields from XML. File size: 6489 bytes
[2026-03-07 20:04:31] [INFO] Number of mappings: 28
[2026-03-07 20:04:31] [INFO] Starting XML parsing. Content length: 6489
[2026-03-07 20:04:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:04:31] [INFO] Processing 28 field mappings
[2026-03-07 20:04:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:04:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:04:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:04:31] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-07 20:04:31] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-07 20:04:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-07 20:04:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:04:31] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:04:31] [INFO]   -> Found value: 2026000620
[2026-03-07 20:04:31] [INFO]   -> Set field 'incidentInternalId' = "2026000620"
[2026-03-07 20:04:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000620"
[2026-03-07 20:04:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:04:31] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-07 20:04:31] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-07 20:04:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:04:31] [INFO]   -> Found value: 1633
[2026-03-07 20:04:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1633
[2026-03-07 20:04:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:04:31] [INFO]   -> Found value: TN
[2026-03-07 20:04:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:04:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:04:31] [INFO]   -> Found value: 38501
[2026-03-07 20:04:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 20:04:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:04:31] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:04:31] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:04:31] [INFO]   -> Found value: 36.18901
[2026-03-07 20:04:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18901000000000323097992804832756519317626953125
[2026-03-07 20:04:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:04:31] [INFO]   -> Found value: -85.52406
[2026-03-07 20:04:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5240600000000057434590416960418224334716796875
[2026-03-07 20:04:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:04:31] [INFO]   -> Found value: 2026-03-07 14:00:57
[2026-03-07 20:04:31] [INFO]   -> Set field 'alarm' = "2026-03-07 14:00:57"
[2026-03-07 20:04:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:04:31] [INFO]   -> Found value: 2026-03-07 14:02:34
[2026-03-07 20:04:31] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:02:34"
[2026-03-07 20:04:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:04:31] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:31] [INFO]   -> Set field 'enroute' = "2026-03-07 14:04:19"
[2026-03-07 20:04:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:04:31] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:04:31] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:04:31] [INFO]   -> Found value: GAINESBORO GRADE/SHIPLEY RD
[2026-03-07 20:04:31] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO GRADE\/SHIPLEY RD"
[2026-03-07 20:04:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:04:31] [INFO]   -> Found value: EN11
[2026-03-07 20:04:31] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-07 20:04:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:04:31] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:31] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:04:19"
[2026-03-07 20:04:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:04:31] [INFO]   -> Found value: 2026-03-07 14:04:19
[2026-03-07 20:04:31] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:04:19"
[2026-03-07 20:04:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:04:31] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:04:31] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:04:31] [INFO]   -> No value found (null or empty)
[2026-03-07 20:04:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:04:31] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:04:31] [INFO]   -> Found value: 20260025175
[2026-03-07 20:04:31] [INFO]   -> Set field 'policeReportNumber' = "20260025175"
[2026-03-07 20:04:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:04:31] [INFO]   -> Found value: [EMS] CHECKING AIR MEDICAL  [03/07/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/07/...
[2026-03-07 20:04:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:31] [INFO]   -> Set field 'cADLog' = "[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]"
[2026-03-07 20:04:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:04:31] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:04:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:04:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:04:31] [INFO]   -> Found value: SHIPLEY CHURCH
[2026-03-07 20:04:31] [INFO]   -> Set field 'streetName' = "SHIPLEY CHURCH"
[2026-03-07 20:04:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:04:31] [INFO]   -> Found value: RD
[2026-03-07 20:04:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:04:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:04:31] [INFO]   -> Found value: 1633 SHIPLEY CHURCH RD
[2026-03-07 20:04:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1633 SHIPLEY CHURCH RD"
[2026-03-07 20:04:31] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:04:31] [INFO] Concatenating street name and type
[2026-03-07 20:04:31] [INFO]   -> Combined street name: SHIPLEY CHURCH RD
[2026-03-07 20:04:31] [INFO] Built locationCoordinates from lat/lng: 36.18901,-85.52406
[2026-03-07 20:04:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000620","dispatchRunNumber":"2026000620","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":1633,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18901000000000323097992804832756519317626953125,"nERISIncidentLongitude":-85.5240600000000057434590416960418224334716796875,"alarm":"2026-03-07 14:00:57","dispatched":"2026-03-07 14:02:34","enroute":"2026-03-07 14:04:19","incidentLocationCross":"GAINESBORO GRADE\/SHIPLEY RD","cADVehicleID":"EN11","timedispatch":"2026-03-07 14:04:19","timeenroutetoscene":"2026-03-07 14:04:19","policeReportNumber":"20260025175","dispatchNotes":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","cADLog":"[EMS] CHECKING AIR MEDICAL  [03\/07\/26 14:03:45 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/07\/26 14:02:03 RMAYNARD] [EMS] LOOKS LIKE HE RAN OFF THE ROADWAY - IN A DITCH  DID HAVE A HELMET ON  [03\/07\/26 14:01:44 KHILL] [EMS] UNRESPONSIVE  [03\/07\/26 14:01:11 KHILL] Event spawned from MVC WITH INJURY.  [03\/07\/2026 14:00:57 KHILL] ELECTRIC BIKE WRECK  BREATHING  [03\/07\/26 14:00:49 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"SHIPLEY CHURCH RD","incidentAddressTextVersionStreet":"1633 SHIPLEY CHURCH RD","locationCoordinates":"36.18901,-85.52406"}
[2026-03-07 20:04:31] [INFO] Number of extracted fields: 23
[2026-03-07 20:04:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-07 20:04:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-07 20:04:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-07 20:04:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:04:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:04:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-07 20:04:31] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 20:04:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 20:04:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-07 20:04:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:04:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:04:31] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-07 20:04:31] [INFO] Found existing Dispatch with cADNumber '2026000620', ID: 69ac8460e67d01c03 - will update instead of create
[2026-03-07 20:04:32] [INFO] Updated existing Dispatches record with ID: 69ac8460e67d01c03
[2026-03-07 20:04:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200430.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025175_20260307_200430.XML
[2026-03-07 20:04:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025175_20260307_200430.XML
[2026-03-07 20:33:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203315.XML
[2026-03-07 20:33:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203315.XML for user: 68f1466aed072ad4a
[2026-03-07 20:33:15] [INFO] File size: 5233 bytes
[2026-03-07 20:33:15] [INFO] Created FTPFiles record with ID: 69ac8b8b6dd9a0bf0
[2026-03-07 20:33:15] [INFO] About to extract fields from XML. File size: 5233 bytes
[2026-03-07 20:33:15] [INFO] Number of mappings: 28
[2026-03-07 20:33:15] [INFO] Starting XML parsing. Content length: 5233
[2026-03-07 20:33:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:33:15] [INFO] Processing 28 field mappings
[2026-03-07 20:33:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:33:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:33:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:33:15] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 20:33:15] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 20:33:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 20:33:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:33:15] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:33:15] [INFO]   -> Found value: 2026000621
[2026-03-07 20:33:15] [INFO]   -> Set field 'incidentInternalId' = "2026000621"
[2026-03-07 20:33:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000621"
[2026-03-07 20:33:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:33:15] [INFO]   -> Found value: TRAUMATIC INJURY
[2026-03-07 20:33:15] [INFO]   -> Set field 'incidentTypeValue1' = "TRAUMATIC INJURY"
[2026-03-07 20:33:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:33:15] [INFO]   -> Found value: 5152
[2026-03-07 20:33:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5152
[2026-03-07 20:33:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:33:15] [INFO]   -> Found value: TN
[2026-03-07 20:33:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:33:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:33:15] [INFO]   -> Found value: 38506
[2026-03-07 20:33:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 20:33:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:33:15] [INFO]   -> Found value: 36.14601
[2026-03-07 20:33:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14600999999999686451701563782989978790283203125
[2026-03-07 20:33:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:33:15] [INFO]   -> Found value: -85.41632
[2026-03-07 20:33:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4163199999999989131538313813507556915283203125
[2026-03-07 20:33:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:33:15] [INFO]   -> Found value: 2026-03-07 14:32:17
[2026-03-07 20:33:15] [INFO]   -> Set field 'alarm' = "2026-03-07 14:32:17"
[2026-03-07 20:33:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:33:15] [INFO]   -> Found value: 2026-03-07 14:33:12
[2026-03-07 20:33:15] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:33:12"
[2026-03-07 20:33:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:33:15] [INFO]   -> Found value: MT PLEASANT RD/ADAMS ACRES RD
[2026-03-07 20:33:15] [INFO]   -> Set field 'incidentLocationCross' = "MT PLEASANT RD\/ADAMS ACRES RD"
[2026-03-07 20:33:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:33:15] [INFO]   -> Found value: PCFR
[2026-03-07 20:33:15] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 20:33:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:33:15] [INFO]   -> Found value: 2026-03-07 14:33:12
[2026-03-07 20:33:15] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:33:12"
[2026-03-07 20:33:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:33:15] [INFO]   -> No value found (null or empty)
[2026-03-07 20:33:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:33:15] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:33:15] [INFO]   -> Found value: 20260025183
[2026-03-07 20:33:15] [INFO]   -> Set field 'policeReportNumber' = "20260025183"
[2026-03-07 20:33:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:33:15] [INFO]   -> Found value: [EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03/07/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSU...
[2026-03-07 20:33:15] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:33:15] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:33:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:33:15] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:33:15] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:33:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:33:15] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 20:33:15] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 20:33:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:33:15] [INFO]   -> Found value: RD
[2026-03-07 20:33:15] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:33:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:33:15] [INFO]   -> Found value: 5152 POPLAR GROVE RD
[2026-03-07 20:33:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5152 POPLAR GROVE RD"
[2026-03-07 20:33:15] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 20:33:15] [INFO] Concatenating street name and type
[2026-03-07 20:33:15] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 20:33:15] [INFO] Built locationCoordinates from lat/lng: 36.14601,-85.41632
[2026-03-07 20:33:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000621","dispatchRunNumber":"2026000621","incidentTypeValue1":"TRAUMATIC INJURY","incidentLocationStreetNumber":5152,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.14600999999999686451701563782989978790283203125,"nERISIncidentLongitude":-85.4163199999999989131538313813507556915283203125,"alarm":"2026-03-07 14:32:17","dispatched":"2026-03-07 14:33:12","incidentLocationCross":"MT PLEASANT RD\/ADAMS ACRES RD","cADVehicleID":"PCFR","timedispatch":"2026-03-07 14:33:12","policeReportNumber":"20260025183","dispatchNotes":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","cADLog":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"5152 POPLAR GROVE RD","locationCoordinates":"36.14601,-85.41632"}
[2026-03-07 20:33:15] [INFO] Number of extracted fields: 21
[2026-03-07 20:33:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 20:33: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-07 20:33:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 20:33:15] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:33:15] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:33:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 20:33: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-07 20:33: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-07 20:33:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 20:33:15] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:33:15] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:33:16] [INFO] Found existing IncidentTypeMapping with ID: 6941c65c8ef52a305
[2026-03-07 20:33:25] [INFO] Created new Dispatches record with ID: 69ac8b8c5746e1452
[2026-03-07 20:33:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203315.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025183_20260307_203315.XML
[2026-03-07 20:33:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203315.XML
[2026-03-07 20:34:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203409.XML
[2026-03-07 20:34:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203409.XML for user: 68f1466aed072ad4a
[2026-03-07 20:34:09] [INFO] File size: 6178 bytes
[2026-03-07 20:34:10] [INFO] Created FTPFiles record with ID: 69ac8bc2497ca2d01
[2026-03-07 20:34:10] [INFO] About to extract fields from XML. File size: 6178 bytes
[2026-03-07 20:34:10] [INFO] Number of mappings: 28
[2026-03-07 20:34:10] [INFO] Starting XML parsing. Content length: 6178
[2026-03-07 20:34:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:34:10] [INFO] Processing 28 field mappings
[2026-03-07 20:34:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:34:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:34:10] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:34:10] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 20:34:10] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 20:34:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 20:34:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:34:10] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:34:10] [INFO]   -> Found value: 2026000621
[2026-03-07 20:34:10] [INFO]   -> Set field 'incidentInternalId' = "2026000621"
[2026-03-07 20:34:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000621"
[2026-03-07 20:34:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:34:10] [INFO]   -> Found value: TRAUMATIC INJURY
[2026-03-07 20:34:10] [INFO]   -> Set field 'incidentTypeValue1' = "TRAUMATIC INJURY"
[2026-03-07 20:34:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:34:10] [INFO]   -> Found value: 5152
[2026-03-07 20:34:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5152
[2026-03-07 20:34:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:34:10] [INFO]   -> Found value: TN
[2026-03-07 20:34:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:34:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:34:10] [INFO]   -> Found value: 38506
[2026-03-07 20:34:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 20:34:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:34:10] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:34:10] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:34:10] [INFO]   -> Found value: 36.14601
[2026-03-07 20:34:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14600999999999686451701563782989978790283203125
[2026-03-07 20:34:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:34:10] [INFO]   -> Found value: -85.41632
[2026-03-07 20:34:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4163199999999989131538313813507556915283203125
[2026-03-07 20:34:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:34:10] [INFO]   -> Found value: 2026-03-07 14:32:17
[2026-03-07 20:34:10] [INFO]   -> Set field 'alarm' = "2026-03-07 14:32:17"
[2026-03-07 20:34:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:34:10] [INFO]   -> Found value: 2026-03-07 14:33:12
[2026-03-07 20:34:10] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:33:12"
[2026-03-07 20:34:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:34:10] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:10] [INFO]   -> Set field 'enroute' = "2026-03-07 14:34:06"
[2026-03-07 20:34:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:34:10] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:34:10] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:34:10] [INFO]   -> Found value: MT PLEASANT RD/ADAMS ACRES RD
[2026-03-07 20:34:10] [INFO]   -> Set field 'incidentLocationCross' = "MT PLEASANT RD\/ADAMS ACRES RD"
[2026-03-07 20:34:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:34:10] [INFO]   -> Found value: SQ11
[2026-03-07 20:34:10] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 20:34:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:34:10] [INFO]   -> Found value: 2026-03-07 14:34:02
[2026-03-07 20:34:10] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:34:02"
[2026-03-07 20:34:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:34:10] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:34:06"
[2026-03-07 20:34:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:34:10] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:34:10] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:34:10] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:34:10] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:34:10] [INFO]   -> Found value: 20260025183
[2026-03-07 20:34:10] [INFO]   -> Set field 'policeReportNumber' = "20260025183"
[2026-03-07 20:34:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:34:10] [INFO]   -> Found value: [EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03/07/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSU...
[2026-03-07 20:34:10] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:10] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:34:10] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:34:10] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:34:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:34:10] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 20:34:10] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 20:34:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:34:10] [INFO]   -> Found value: RD
[2026-03-07 20:34:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:34:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:34:10] [INFO]   -> Found value: 5152 POPLAR GROVE RD
[2026-03-07 20:34:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5152 POPLAR GROVE RD"
[2026-03-07 20:34:10] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:34:10] [INFO] Concatenating street name and type
[2026-03-07 20:34:10] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 20:34:10] [INFO] Built locationCoordinates from lat/lng: 36.14601,-85.41632
[2026-03-07 20:34:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000621","dispatchRunNumber":"2026000621","incidentTypeValue1":"TRAUMATIC INJURY","incidentLocationStreetNumber":5152,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.14600999999999686451701563782989978790283203125,"nERISIncidentLongitude":-85.4163199999999989131538313813507556915283203125,"alarm":"2026-03-07 14:32:17","dispatched":"2026-03-07 14:33:12","enroute":"2026-03-07 14:34:06","incidentLocationCross":"MT PLEASANT RD\/ADAMS ACRES RD","cADVehicleID":"SQ11","timedispatch":"2026-03-07 14:34:02","timeenroutetoscene":"2026-03-07 14:34:06","policeReportNumber":"20260025183","dispatchNotes":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","cADLog":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"5152 POPLAR GROVE RD","locationCoordinates":"36.14601,-85.41632"}
[2026-03-07 20:34:10] [INFO] Number of extracted fields: 23
[2026-03-07 20:34:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 20:34: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-07 20:34:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 20:34:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:34:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:34:10] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 20:34: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-07 20:34: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-07 20:34:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 20:34:10] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:34:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:34:10] [INFO] Found existing IncidentTypeMapping with ID: 6941c65c8ef52a305
[2026-03-07 20:34:10] [INFO] Found existing Dispatch with cADNumber '2026000621', ID: 69ac8b8c5746e1452 - will update instead of create
[2026-03-07 20:34:11] [INFO] Updated existing Dispatches record with ID: 69ac8b8c5746e1452
[2026-03-07 20:34:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203409.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025183_20260307_203409.XML
[2026-03-07 20:34:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203409.XML
[2026-03-07 20:34:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203411.XML
[2026-03-07 20:34:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203411.XML for user: 68f1466aed072ad4a
[2026-03-07 20:34:11] [INFO] File size: 6178 bytes
[2026-03-07 20:34:11] [INFO] Created FTPFiles record with ID: 69ac8bc3908d53465
[2026-03-07 20:34:11] [INFO] About to extract fields from XML. File size: 6178 bytes
[2026-03-07 20:34:11] [INFO] Number of mappings: 28
[2026-03-07 20:34:11] [INFO] Starting XML parsing. Content length: 6178
[2026-03-07 20:34:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:34:11] [INFO] Processing 28 field mappings
[2026-03-07 20:34:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:34:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:34:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:34:11] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 20:34:11] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 20:34:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 20:34:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:34:11] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:34:11] [INFO]   -> Found value: 2026000621
[2026-03-07 20:34:11] [INFO]   -> Set field 'incidentInternalId' = "2026000621"
[2026-03-07 20:34:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000621"
[2026-03-07 20:34:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:34:11] [INFO]   -> Found value: TRAUMATIC INJURY
[2026-03-07 20:34:11] [INFO]   -> Set field 'incidentTypeValue1' = "TRAUMATIC INJURY"
[2026-03-07 20:34:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:34:11] [INFO]   -> Found value: 5152
[2026-03-07 20:34:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5152
[2026-03-07 20:34:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:34:11] [INFO]   -> Found value: TN
[2026-03-07 20:34:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:34:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:34:11] [INFO]   -> Found value: 38506
[2026-03-07 20:34:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 20:34:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:34:11] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:34:11] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:34:11] [INFO]   -> Found value: 36.14601
[2026-03-07 20:34:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14600999999999686451701563782989978790283203125
[2026-03-07 20:34:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:34:11] [INFO]   -> Found value: -85.41632
[2026-03-07 20:34:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4163199999999989131538313813507556915283203125
[2026-03-07 20:34:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:34:11] [INFO]   -> Found value: 2026-03-07 14:32:17
[2026-03-07 20:34:11] [INFO]   -> Set field 'alarm' = "2026-03-07 14:32:17"
[2026-03-07 20:34:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:34:11] [INFO]   -> Found value: 2026-03-07 14:33:12
[2026-03-07 20:34:11] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:33:12"
[2026-03-07 20:34:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:34:11] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:11] [INFO]   -> Set field 'enroute' = "2026-03-07 14:34:06"
[2026-03-07 20:34:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:34:11] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:34:11] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:34:11] [INFO]   -> Found value: MT PLEASANT RD/ADAMS ACRES RD
[2026-03-07 20:34:11] [INFO]   -> Set field 'incidentLocationCross' = "MT PLEASANT RD\/ADAMS ACRES RD"
[2026-03-07 20:34:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:34:11] [INFO]   -> Found value: SQ11
[2026-03-07 20:34:11] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 20:34:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:34:11] [INFO]   -> Found value: 2026-03-07 14:34:02
[2026-03-07 20:34:11] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:34:02"
[2026-03-07 20:34:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:34:11] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:34:06"
[2026-03-07 20:34:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:34:11] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:34:11] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:34:11] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:34:11] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:34:11] [INFO]   -> Found value: 20260025183
[2026-03-07 20:34:11] [INFO]   -> Set field 'policeReportNumber' = "20260025183"
[2026-03-07 20:34:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:34:11] [INFO]   -> Found value: [EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03/07/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSU...
[2026-03-07 20:34:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:11] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:34:11] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:34:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:34:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:34:11] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 20:34:11] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 20:34:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:34:11] [INFO]   -> Found value: RD
[2026-03-07 20:34:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:34:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:34:11] [INFO]   -> Found value: 5152 POPLAR GROVE RD
[2026-03-07 20:34:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5152 POPLAR GROVE RD"
[2026-03-07 20:34:11] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:34:11] [INFO] Concatenating street name and type
[2026-03-07 20:34:11] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 20:34:11] [INFO] Built locationCoordinates from lat/lng: 36.14601,-85.41632
[2026-03-07 20:34:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000621","dispatchRunNumber":"2026000621","incidentTypeValue1":"TRAUMATIC INJURY","incidentLocationStreetNumber":5152,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.14600999999999686451701563782989978790283203125,"nERISIncidentLongitude":-85.4163199999999989131538313813507556915283203125,"alarm":"2026-03-07 14:32:17","dispatched":"2026-03-07 14:33:12","enroute":"2026-03-07 14:34:06","incidentLocationCross":"MT PLEASANT RD\/ADAMS ACRES RD","cADVehicleID":"SQ11","timedispatch":"2026-03-07 14:34:02","timeenroutetoscene":"2026-03-07 14:34:06","policeReportNumber":"20260025183","dispatchNotes":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","cADLog":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"5152 POPLAR GROVE RD","locationCoordinates":"36.14601,-85.41632"}
[2026-03-07 20:34:11] [INFO] Number of extracted fields: 23
[2026-03-07 20:34:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 20:34: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-07 20:34:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 20:34:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:34:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:34:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 20:34: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-07 20:34: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-07 20:34:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 20:34:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:34:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:34:12] [INFO] Found existing IncidentTypeMapping with ID: 6941c65c8ef52a305
[2026-03-07 20:34:12] [INFO] Found existing Dispatch with cADNumber '2026000621', ID: 69ac8b8c5746e1452 - will update instead of create
[2026-03-07 20:34:12] [INFO] Updated existing Dispatches record with ID: 69ac8b8c5746e1452
[2026-03-07 20:34:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203411.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025183_20260307_203411.XML
[2026-03-07 20:34:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203411.XML
[2026-03-07 20:34:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203412.XML
[2026-03-07 20:34:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203412.XML for user: 68f1466aed072ad4a
[2026-03-07 20:34:12] [INFO] File size: 6178 bytes
[2026-03-07 20:34:13] [INFO] Created FTPFiles record with ID: 69ac8bc5387381669
[2026-03-07 20:34:13] [INFO] About to extract fields from XML. File size: 6178 bytes
[2026-03-07 20:34:13] [INFO] Number of mappings: 28
[2026-03-07 20:34:13] [INFO] Starting XML parsing. Content length: 6178
[2026-03-07 20:34:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:34:13] [INFO] Processing 28 field mappings
[2026-03-07 20:34:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:34:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:34:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:34:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 20:34:13] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 20:34:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 20:34:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:34:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:34:13] [INFO]   -> Found value: 2026000621
[2026-03-07 20:34:13] [INFO]   -> Set field 'incidentInternalId' = "2026000621"
[2026-03-07 20:34:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000621"
[2026-03-07 20:34:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:34:13] [INFO]   -> Found value: TRAUMATIC INJURY
[2026-03-07 20:34:13] [INFO]   -> Set field 'incidentTypeValue1' = "TRAUMATIC INJURY"
[2026-03-07 20:34:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:34:13] [INFO]   -> Found value: 5152
[2026-03-07 20:34:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5152
[2026-03-07 20:34:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:34:13] [INFO]   -> Found value: TN
[2026-03-07 20:34:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:34:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:34:13] [INFO]   -> Found value: 38506
[2026-03-07 20:34:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 20:34:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:34:13] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:34:13] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:34:13] [INFO]   -> Found value: 36.14601
[2026-03-07 20:34:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14600999999999686451701563782989978790283203125
[2026-03-07 20:34:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:34:13] [INFO]   -> Found value: -85.41632
[2026-03-07 20:34:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4163199999999989131538313813507556915283203125
[2026-03-07 20:34:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:34:13] [INFO]   -> Found value: 2026-03-07 14:32:17
[2026-03-07 20:34:13] [INFO]   -> Set field 'alarm' = "2026-03-07 14:32:17"
[2026-03-07 20:34:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:34:13] [INFO]   -> Found value: 2026-03-07 14:33:12
[2026-03-07 20:34:13] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:33:12"
[2026-03-07 20:34:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:34:13] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:13] [INFO]   -> Set field 'enroute' = "2026-03-07 14:34:06"
[2026-03-07 20:34:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:34:13] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:34:13] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:34:13] [INFO]   -> Found value: MT PLEASANT RD/ADAMS ACRES RD
[2026-03-07 20:34:13] [INFO]   -> Set field 'incidentLocationCross' = "MT PLEASANT RD\/ADAMS ACRES RD"
[2026-03-07 20:34:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:34:13] [INFO]   -> Found value: SQ11
[2026-03-07 20:34:13] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 20:34:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:34:13] [INFO]   -> Found value: 2026-03-07 14:34:02
[2026-03-07 20:34:13] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:34:02"
[2026-03-07 20:34:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:34:13] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:34:06"
[2026-03-07 20:34:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:34:13] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:34:13] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:34:13] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:34:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:34:13] [INFO]   -> Found value: 20260025183
[2026-03-07 20:34:13] [INFO]   -> Set field 'policeReportNumber' = "20260025183"
[2026-03-07 20:34:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:34:13] [INFO]   -> Found value: [EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03/07/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSU...
[2026-03-07 20:34:13] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:13] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:34:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:34:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:34:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:34:13] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 20:34:13] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 20:34:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:34:13] [INFO]   -> Found value: RD
[2026-03-07 20:34:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:34:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:34:13] [INFO]   -> Found value: 5152 POPLAR GROVE RD
[2026-03-07 20:34:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5152 POPLAR GROVE RD"
[2026-03-07 20:34:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:34:13] [INFO] Concatenating street name and type
[2026-03-07 20:34:13] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 20:34:13] [INFO] Built locationCoordinates from lat/lng: 36.14601,-85.41632
[2026-03-07 20:34:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000621","dispatchRunNumber":"2026000621","incidentTypeValue1":"TRAUMATIC INJURY","incidentLocationStreetNumber":5152,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.14600999999999686451701563782989978790283203125,"nERISIncidentLongitude":-85.4163199999999989131538313813507556915283203125,"alarm":"2026-03-07 14:32:17","dispatched":"2026-03-07 14:33:12","enroute":"2026-03-07 14:34:06","incidentLocationCross":"MT PLEASANT RD\/ADAMS ACRES RD","cADVehicleID":"SQ11","timedispatch":"2026-03-07 14:34:02","timeenroutetoscene":"2026-03-07 14:34:06","policeReportNumber":"20260025183","dispatchNotes":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","cADLog":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"5152 POPLAR GROVE RD","locationCoordinates":"36.14601,-85.41632"}
[2026-03-07 20:34:13] [INFO] Number of extracted fields: 23
[2026-03-07 20:34:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 20:34: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-07 20:34:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 20:34:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:34:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:34:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 20:34: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-07 20:34: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-07 20:34:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 20:34:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:34:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:34:13] [INFO] Found existing IncidentTypeMapping with ID: 6941c65c8ef52a305
[2026-03-07 20:34:13] [INFO] Found existing Dispatch with cADNumber '2026000621', ID: 69ac8b8c5746e1452 - will update instead of create
[2026-03-07 20:34:14] [INFO] Updated existing Dispatches record with ID: 69ac8b8c5746e1452
[2026-03-07 20:34:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203412.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025183_20260307_203412.XML
[2026-03-07 20:34:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203412.XML
[2026-03-07 20:34:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203413.XML
[2026-03-07 20:34:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203413.XML for user: 68f1466aed072ad4a
[2026-03-07 20:34:14] [INFO] File size: 6178 bytes
[2026-03-07 20:34:14] [INFO] Created FTPFiles record with ID: 69ac8bc664e7ec163
[2026-03-07 20:34:14] [INFO] About to extract fields from XML. File size: 6178 bytes
[2026-03-07 20:34:14] [INFO] Number of mappings: 28
[2026-03-07 20:34:14] [INFO] Starting XML parsing. Content length: 6178
[2026-03-07 20:34:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 20:34:14] [INFO] Processing 28 field mappings
[2026-03-07 20:34:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 20:34:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 20:34:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 20:34:14] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 20:34:14] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 20:34:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 20:34:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 20:34:14] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 20:34:14] [INFO]   -> Found value: 2026000621
[2026-03-07 20:34:14] [INFO]   -> Set field 'incidentInternalId' = "2026000621"
[2026-03-07 20:34:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000621"
[2026-03-07 20:34:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 20:34:14] [INFO]   -> Found value: TRAUMATIC INJURY
[2026-03-07 20:34:14] [INFO]   -> Set field 'incidentTypeValue1' = "TRAUMATIC INJURY"
[2026-03-07 20:34:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 20:34:14] [INFO]   -> Found value: 5152
[2026-03-07 20:34:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5152
[2026-03-07 20:34:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 20:34:14] [INFO]   -> Found value: TN
[2026-03-07 20:34:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 20:34:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 20:34:14] [INFO]   -> Found value: 38506
[2026-03-07 20:34:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-07 20:34:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 20:34:14] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 20:34:14] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 20:34:14] [INFO]   -> Found value: 36.14601
[2026-03-07 20:34:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14600999999999686451701563782989978790283203125
[2026-03-07 20:34:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 20:34:14] [INFO]   -> Found value: -85.41632
[2026-03-07 20:34:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4163199999999989131538313813507556915283203125
[2026-03-07 20:34:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 20:34:14] [INFO]   -> Found value: 2026-03-07 14:32:17
[2026-03-07 20:34:14] [INFO]   -> Set field 'alarm' = "2026-03-07 14:32:17"
[2026-03-07 20:34:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 20:34:14] [INFO]   -> Found value: 2026-03-07 14:33:12
[2026-03-07 20:34:14] [INFO]   -> Set field 'dispatched' = "2026-03-07 14:33:12"
[2026-03-07 20:34:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 20:34:14] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:14] [INFO]   -> Set field 'enroute' = "2026-03-07 14:34:06"
[2026-03-07 20:34:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 20:34:14] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 20:34:14] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 20:34:14] [INFO]   -> Found value: MT PLEASANT RD/ADAMS ACRES RD
[2026-03-07 20:34:14] [INFO]   -> Set field 'incidentLocationCross' = "MT PLEASANT RD\/ADAMS ACRES RD"
[2026-03-07 20:34:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 20:34:14] [INFO]   -> Found value: SQ11
[2026-03-07 20:34:14] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 20:34:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 20:34:14] [INFO]   -> Found value: 2026-03-07 14:34:02
[2026-03-07 20:34:14] [INFO]   -> Set field 'timedispatch' = "2026-03-07 14:34:02"
[2026-03-07 20:34:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 20:34:14] [INFO]   -> Found value: 2026-03-07 14:34:06
[2026-03-07 20:34:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 14:34:06"
[2026-03-07 20:34:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 20:34:14] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 20:34:14] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 20:34:14] [INFO]   -> No value found (null or empty)
[2026-03-07 20:34:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 20:34:14] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 20:34:14] [INFO]   -> Found value: 20260025183
[2026-03-07 20:34:14] [INFO]   -> Set field 'policeReportNumber' = "20260025183"
[2026-03-07 20:34:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 20:34:14] [INFO]   -> Found value: [EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03/07/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSU...
[2026-03-07 20:34:14] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:14] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]"
[2026-03-07 20:34:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 20:34:14] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 20:34:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 20:34:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 20:34:14] [INFO]   -> Found value: POPLAR GROVE
[2026-03-07 20:34:14] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-03-07 20:34:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 20:34:14] [INFO]   -> Found value: RD
[2026-03-07 20:34:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 20:34:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 20:34:14] [INFO]   -> Found value: 5152 POPLAR GROVE RD
[2026-03-07 20:34:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5152 POPLAR GROVE RD"
[2026-03-07 20:34:14] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 20:34:14] [INFO] Concatenating street name and type
[2026-03-07 20:34:14] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-03-07 20:34:14] [INFO] Built locationCoordinates from lat/lng: 36.14601,-85.41632
[2026-03-07 20:34:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000621","dispatchRunNumber":"2026000621","incidentTypeValue1":"TRAUMATIC INJURY","incidentLocationStreetNumber":5152,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.14600999999999686451701563782989978790283203125,"nERISIncidentLongitude":-85.4163199999999989131538313813507556915283203125,"alarm":"2026-03-07 14:32:17","dispatched":"2026-03-07 14:33:12","enroute":"2026-03-07 14:34:06","incidentLocationCross":"MT PLEASANT RD\/ADAMS ACRES RD","cADVehicleID":"SQ11","timedispatch":"2026-03-07 14:34:02","timeenroutetoscene":"2026-03-07 14:34:06","policeReportNumber":"20260025183","dispatchNotes":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","cADLog":"[EMS] SHE IS  A WAKE  LAYING ON HER BELLY  [03\/07\/26 14:33:11 KELLIS] [EMS] FELL FROM A HORSE   UNSURE EXACTLY WHAT HAPPENED  [03\/07\/26 14:32:50 KELLIS] Event spawned from TRAUMATIC INJURY.  [03\/07\/2026 14:32:17 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"5152 POPLAR GROVE RD","locationCoordinates":"36.14601,-85.41632"}
[2026-03-07 20:34:14] [INFO] Number of extracted fields: 23
[2026-03-07 20:34:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 20:34:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 20:34:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 20:34:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 20:34:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 20:34:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 20:34: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-07 20:34: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-07 20:34:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 20:34:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 20:34:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 20:34:14] [INFO] Found existing IncidentTypeMapping with ID: 6941c65c8ef52a305
[2026-03-07 20:34:15] [INFO] Found existing Dispatch with cADNumber '2026000621', ID: 69ac8b8c5746e1452 - will update instead of create
[2026-03-07 20:34:15] [INFO] Updated existing Dispatches record with ID: 69ac8b8c5746e1452
[2026-03-07 20:34:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203413.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025183_20260307_203413.XML
[2026-03-07 20:34:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025183_20260307_203413.XML
[2026-03-07 22:42:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224240.XML
[2026-03-07 22:42:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224240.XML for user: 68f1466aed072ad4a
[2026-03-07 22:42:40] [INFO] File size: 5205 bytes
[2026-03-07 22:42:41] [INFO] Created FTPFiles record with ID: 69aca9e1247f99484
[2026-03-07 22:42:41] [INFO] About to extract fields from XML. File size: 5205 bytes
[2026-03-07 22:42:41] [INFO] Number of mappings: 28
[2026-03-07 22:42:41] [INFO] Starting XML parsing. Content length: 5205
[2026-03-07 22:42:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 22:42:41] [INFO] Processing 28 field mappings
[2026-03-07 22:42:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 22:42:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 22:42:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 22:42:41] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 22:42:41] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 22:42:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 22:42:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 22:42:41] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 22:42:41] [INFO]   -> Found value: 2026000622
[2026-03-07 22:42:41] [INFO]   -> Set field 'incidentInternalId' = "2026000622"
[2026-03-07 22:42:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000622"
[2026-03-07 22:42:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 22:42:41] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 22:42:41] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 22:42:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 22:42:41] [INFO]   -> Found value: 2415
[2026-03-07 22:42:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2415
[2026-03-07 22:42:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 22:42:41] [INFO]   -> Found value: TN
[2026-03-07 22:42:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 22:42:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 22:42:41] [INFO]   -> Found value: 38501
[2026-03-07 22:42:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 22:42:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 22:42:41] [INFO]   -> Found value: JESSUP, ROBERT
[2026-03-07 22:42:41] [INFO]   -> Set field 'businessName' = "JESSUP, ROBERT"
[2026-03-07 22:42:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 22:42:41] [INFO]   -> Found value: 36.19928
[2026-03-07 22:42:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1992800000000016780177247710525989532470703125
[2026-03-07 22:42:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 22:42:41] [INFO]   -> Found value: -85.49360
[2026-03-07 22:42:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4936000000000007048583938740193843841552734375
[2026-03-07 22:42:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 22:42:41] [INFO]   -> Found value: 2026-03-07 16:40:34
[2026-03-07 22:42:41] [INFO]   -> Set field 'alarm' = "2026-03-07 16:40:34"
[2026-03-07 22:42:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 22:42:41] [INFO]   -> Found value: 2026-03-07 16:42:35
[2026-03-07 22:42:41] [INFO]   -> Set field 'dispatched' = "2026-03-07 16:42:35"
[2026-03-07 22:42:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 22:42:41] [INFO]   -> Found value: /DALE LN
[2026-03-07 22:42:41] [INFO]   -> Set field 'incidentLocationCross' = "\/DALE LN"
[2026-03-07 22:42:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 22:42:41] [INFO]   -> Found value: PCFR
[2026-03-07 22:42:41] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 22:42:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 22:42:41] [INFO]   -> Found value: 2026-03-07 16:42:35
[2026-03-07 22:42:41] [INFO]   -> Set field 'timedispatch' = "2026-03-07 16:42:35"
[2026-03-07 22:42:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 22:42:41] [INFO]   -> No value found (null or empty)
[2026-03-07 22:42:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 22:42:41] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 22:42:41] [INFO]   -> Found value: 20260025243
[2026-03-07 22:42:41] [INFO]   -> Set field 'policeReportNumber' = "20260025243"
[2026-03-07 22:42:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 22:42:41] [INFO]   -> Found value: [EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03/07/26 16:41:50 KELLIS] Event spawned from FA...
[2026-03-07 22:42:41] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:42:41] [INFO]   -> Set field 'cADLog' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:42:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 22:42:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 22:42:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 22:42:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 22:42:41] [INFO]   -> Found value: DIXON
[2026-03-07 22:42:41] [INFO]   -> Set field 'streetName' = "DIXON"
[2026-03-07 22:42:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 22:42:41] [INFO]   -> Found value: LN
[2026-03-07 22:42:41] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 22:42:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 22:42:41] [INFO]   -> Found value: 2415 DIXON LN
[2026-03-07 22:42:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2415 DIXON LN"
[2026-03-07 22:42:41] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-07 22:42:41] [INFO] Concatenating street name and type
[2026-03-07 22:42:41] [INFO]   -> Combined street name: DIXON LN
[2026-03-07 22:42:41] [INFO] Built locationCoordinates from lat/lng: 36.19928,-85.4936
[2026-03-07 22:42:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000622","dispatchRunNumber":"2026000622","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2415,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JESSUP, ROBERT","nERISIncidentLatitude":36.1992800000000016780177247710525989532470703125,"nERISIncidentLongitude":-85.4936000000000007048583938740193843841552734375,"alarm":"2026-03-07 16:40:34","dispatched":"2026-03-07 16:42:35","incidentLocationCross":"\/DALE LN","cADVehicleID":"PCFR","timedispatch":"2026-03-07 16:42:35","policeReportNumber":"20260025243","dispatchNotes":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","cADLog":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"DIXON LN","incidentAddressTextVersionStreet":"2415 DIXON LN","locationCoordinates":"36.19928,-85.4936"}
[2026-03-07 22:42:41] [INFO] Number of extracted fields: 22
[2026-03-07 22:42:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 22:42:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 22:42:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 22:42:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 22:42:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 22:42:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 22:42: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-07 22:42: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-07 22:42:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 22:42:41] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 22:42:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 22:42:41] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 22:42:51] [INFO] Created new Dispatches record with ID: 69aca9e2061b2d307
[2026-03-07 22:42:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224240.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025243_20260307_224240.XML
[2026-03-07 22:42:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224240.XML
[2026-03-07 22:44:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224422.XML
[2026-03-07 22:44:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224422.XML for user: 68f1466aed072ad4a
[2026-03-07 22:44:22] [INFO] File size: 6025 bytes
[2026-03-07 22:44:22] [INFO] Created FTPFiles record with ID: 69acaa46cc335c270
[2026-03-07 22:44:22] [INFO] About to extract fields from XML. File size: 6025 bytes
[2026-03-07 22:44:22] [INFO] Number of mappings: 28
[2026-03-07 22:44:22] [INFO] Starting XML parsing. Content length: 6025
[2026-03-07 22:44:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 22:44:22] [INFO] Processing 28 field mappings
[2026-03-07 22:44:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 22:44:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 22:44:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 22:44:22] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 22:44:22] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 22:44:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 22:44:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 22:44:22] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 22:44:22] [INFO]   -> Found value: 2026000622
[2026-03-07 22:44:22] [INFO]   -> Set field 'incidentInternalId' = "2026000622"
[2026-03-07 22:44:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000622"
[2026-03-07 22:44:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 22:44:22] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 22:44:22] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 22:44:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 22:44:22] [INFO]   -> Found value: 2415
[2026-03-07 22:44:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2415
[2026-03-07 22:44:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 22:44:22] [INFO]   -> Found value: TN
[2026-03-07 22:44:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 22:44:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 22:44:22] [INFO]   -> Found value: 38501
[2026-03-07 22:44:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 22:44:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 22:44:22] [INFO]   -> Found value: JESSUP, ROBERT
[2026-03-07 22:44:22] [INFO]   -> Set field 'businessName' = "JESSUP, ROBERT"
[2026-03-07 22:44:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 22:44:22] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 22:44:22] [INFO]   -> Found value: 36.19928
[2026-03-07 22:44:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1992800000000016780177247710525989532470703125
[2026-03-07 22:44:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 22:44:22] [INFO]   -> Found value: -85.49360
[2026-03-07 22:44:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4936000000000007048583938740193843841552734375
[2026-03-07 22:44:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 22:44:22] [INFO]   -> Found value: 2026-03-07 16:40:34
[2026-03-07 22:44:22] [INFO]   -> Set field 'alarm' = "2026-03-07 16:40:34"
[2026-03-07 22:44:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 22:44:22] [INFO]   -> Found value: 2026-03-07 16:42:35
[2026-03-07 22:44:22] [INFO]   -> Set field 'dispatched' = "2026-03-07 16:42:35"
[2026-03-07 22:44:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 22:44:22] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 22:44:22] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 22:44:22] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 22:44:22] [INFO]   -> Found value: /DALE LN
[2026-03-07 22:44:22] [INFO]   -> Set field 'incidentLocationCross' = "\/DALE LN"
[2026-03-07 22:44:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 22:44:22] [INFO]   -> Found value: PCFR
[2026-03-07 22:44:22] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 22:44:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 22:44:22] [INFO]   -> Found value: 2026-03-07 16:42:35
[2026-03-07 22:44:22] [INFO]   -> Set field 'timedispatch' = "2026-03-07 16:42:35"
[2026-03-07 22:44:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 22:44:22] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 22:44:22] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 22:44:22] [INFO]   -> Found value: 2026-03-07 16:44:16
[2026-03-07 22:44:22] [INFO]   -> Set field 'timeunitclear' = "2026-03-07 16:44:16"
[2026-03-07 22:44:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 22:44:22] [INFO]   -> Found value: 2026-03-07 16:44:16
[2026-03-07 22:44:22] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-07 16:44:16"
[2026-03-07 22:44:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 22:44:22] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 22:44:22] [INFO]   -> Found value: 20260025243
[2026-03-07 22:44:22] [INFO]   -> Set field 'policeReportNumber' = "20260025243"
[2026-03-07 22:44:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 22:44:22] [INFO]   -> Found value: [EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03/07/26 16:41:50 KELLIS] Event spawned from FA...
[2026-03-07 22:44:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:22] [INFO]   -> Set field 'cADLog' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 22:44:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 22:44:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 22:44:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 22:44:22] [INFO]   -> Found value: DIXON
[2026-03-07 22:44:22] [INFO]   -> Set field 'streetName' = "DIXON"
[2026-03-07 22:44:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 22:44:22] [INFO]   -> Found value: LN
[2026-03-07 22:44:22] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 22:44:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 22:44:22] [INFO]   -> Found value: 2415 DIXON LN
[2026-03-07 22:44:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2415 DIXON LN"
[2026-03-07 22:44:22] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 22:44:22] [INFO] Concatenating street name and type
[2026-03-07 22:44:22] [INFO]   -> Combined street name: DIXON LN
[2026-03-07 22:44:22] [INFO] Built locationCoordinates from lat/lng: 36.19928,-85.4936
[2026-03-07 22:44:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000622","dispatchRunNumber":"2026000622","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2415,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JESSUP, ROBERT","nERISIncidentLatitude":36.1992800000000016780177247710525989532470703125,"nERISIncidentLongitude":-85.4936000000000007048583938740193843841552734375,"alarm":"2026-03-07 16:40:34","dispatched":"2026-03-07 16:42:35","incidentLocationCross":"\/DALE LN","cADVehicleID":"PCFR","timedispatch":"2026-03-07 16:42:35","timeunitclear":"2026-03-07 16:44:16","timecanceledenroute":"2026-03-07 16:44:16","policeReportNumber":"20260025243","dispatchNotes":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","cADLog":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"DIXON LN","incidentAddressTextVersionStreet":"2415 DIXON LN","locationCoordinates":"36.19928,-85.4936"}
[2026-03-07 22:44:22] [INFO] Number of extracted fields: 24
[2026-03-07 22:44:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 22:44: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-07 22:44:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 22:44:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 22:44:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 22:44:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 22:44: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-07 22:44: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-07 22:44:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 22:44:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 22:44:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 22:44:23] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 22:44:23] [INFO] Found existing Dispatch with cADNumber '2026000622', ID: 69aca9e2061b2d307 - will update instead of create
[2026-03-07 22:44:23] [INFO] Updated existing Dispatches record with ID: 69aca9e2061b2d307
[2026-03-07 22:44:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224422.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025243_20260307_224422.XML
[2026-03-07 22:44:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224422.XML
[2026-03-07 22:44:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424.XML
[2026-03-07 22:44:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424.XML for user: 68f1466aed072ad4a
[2026-03-07 22:44:24] [INFO] File size: 6088 bytes
[2026-03-07 22:44:24] [INFO] Created FTPFiles record with ID: 69acaa48524e2335e
[2026-03-07 22:44:24] [INFO] About to extract fields from XML. File size: 6088 bytes
[2026-03-07 22:44:24] [INFO] Number of mappings: 28
[2026-03-07 22:44:24] [INFO] Starting XML parsing. Content length: 6088
[2026-03-07 22:44:24] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 22:44:24] [INFO] Processing 28 field mappings
[2026-03-07 22:44:24] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 22:44:24] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 22:44:24] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 22:44:24] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 22:44:24] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 22:44:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 22:44:24] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 22:44:24] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 22:44:24] [INFO]   -> Found value: 2026000622
[2026-03-07 22:44:24] [INFO]   -> Set field 'incidentInternalId' = "2026000622"
[2026-03-07 22:44:24] [INFO]   -> Set field 'dispatchRunNumber' = "2026000622"
[2026-03-07 22:44:24] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 22:44:24] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 22:44:24] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 22:44:24] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 22:44:24] [INFO]   -> Found value: 2415
[2026-03-07 22:44:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2415
[2026-03-07 22:44:24] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 22:44:24] [INFO]   -> Found value: TN
[2026-03-07 22:44:24] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 22:44:24] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 22:44:24] [INFO]   -> Found value: 38501
[2026-03-07 22:44:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 22:44:24] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 22:44:24] [INFO]   -> Found value: JESSUP, ROBERT
[2026-03-07 22:44:24] [INFO]   -> Set field 'businessName' = "JESSUP, ROBERT"
[2026-03-07 22:44:24] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 22:44:24] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:24] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 22:44:24] [INFO]   -> Found value: 36.19928
[2026-03-07 22:44:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1992800000000016780177247710525989532470703125
[2026-03-07 22:44:24] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 22:44:24] [INFO]   -> Found value: -85.49360
[2026-03-07 22:44:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4936000000000007048583938740193843841552734375
[2026-03-07 22:44:24] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 22:44:24] [INFO]   -> Found value: 2026-03-07 16:40:34
[2026-03-07 22:44:24] [INFO]   -> Set field 'alarm' = "2026-03-07 16:40:34"
[2026-03-07 22:44:24] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 22:44:24] [INFO]   -> Found value: 2026-03-07 16:42:35
[2026-03-07 22:44:24] [INFO]   -> Set field 'dispatched' = "2026-03-07 16:42:35"
[2026-03-07 22:44:24] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 22:44:24] [INFO]   -> Found value: 2026-03-07 16:44:20
[2026-03-07 22:44:24] [INFO]   -> Set field 'enroute' = "2026-03-07 16:44:20"
[2026-03-07 22:44:24] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 22:44:24] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:24] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 22:44:24] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:24] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 22:44:24] [INFO]   -> Found value: /DALE LN
[2026-03-07 22:44:24] [INFO]   -> Set field 'incidentLocationCross' = "\/DALE LN"
[2026-03-07 22:44:24] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 22:44:24] [INFO]   -> Found value: TK12
[2026-03-07 22:44:24] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 22:44:24] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 22:44:24] [INFO]   -> Found value: 2026-03-07 16:44:16
[2026-03-07 22:44:24] [INFO]   -> Set field 'timedispatch' = "2026-03-07 16:44:16"
[2026-03-07 22:44:24] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 22:44:24] [INFO]   -> Found value: 2026-03-07 16:44:20
[2026-03-07 22:44:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 16:44:20"
[2026-03-07 22:44:24] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 22:44:24] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:24] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 22:44:24] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:24] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 22:44:24] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:24] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 22:44:24] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 22:44:24] [INFO]   -> Found value: 20260025243
[2026-03-07 22:44:24] [INFO]   -> Set field 'policeReportNumber' = "20260025243"
[2026-03-07 22:44:24] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 22:44:24] [INFO]   -> Found value: [EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03/07/26 16:41:50 KELLIS] Event spawned from FA...
[2026-03-07 22:44:24] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:24] [INFO]   -> Set field 'cADLog' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:24] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 22:44:24] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 22:44:24] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 22:44:24] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 22:44:24] [INFO]   -> Found value: DIXON
[2026-03-07 22:44:24] [INFO]   -> Set field 'streetName' = "DIXON"
[2026-03-07 22:44:24] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 22:44:24] [INFO]   -> Found value: LN
[2026-03-07 22:44:24] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 22:44:24] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 22:44:24] [INFO]   -> Found value: 2415 DIXON LN
[2026-03-07 22:44:24] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2415 DIXON LN"
[2026-03-07 22:44:24] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 22:44:24] [INFO] Concatenating street name and type
[2026-03-07 22:44:24] [INFO]   -> Combined street name: DIXON LN
[2026-03-07 22:44:24] [INFO] Built locationCoordinates from lat/lng: 36.19928,-85.4936
[2026-03-07 22:44:24] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000622","dispatchRunNumber":"2026000622","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2415,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JESSUP, ROBERT","nERISIncidentLatitude":36.1992800000000016780177247710525989532470703125,"nERISIncidentLongitude":-85.4936000000000007048583938740193843841552734375,"alarm":"2026-03-07 16:40:34","dispatched":"2026-03-07 16:42:35","enroute":"2026-03-07 16:44:20","incidentLocationCross":"\/DALE LN","cADVehicleID":"TK12","timedispatch":"2026-03-07 16:44:16","timeenroutetoscene":"2026-03-07 16:44:20","policeReportNumber":"20260025243","dispatchNotes":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","cADLog":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"DIXON LN","incidentAddressTextVersionStreet":"2415 DIXON LN","locationCoordinates":"36.19928,-85.4936"}
[2026-03-07 22:44:24] [INFO] Number of extracted fields: 24
[2026-03-07 22:44:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 22:44:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 22:44:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 22:44:24] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 22:44:24] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 22:44:24] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 22:44:24] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 22:44:24] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 22:44:24] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 22:44:24] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 22:44:24] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 22:44:24] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 22:44:24] [INFO] Found existing Dispatch with cADNumber '2026000622', ID: 69aca9e2061b2d307 - will update instead of create
[2026-03-07 22:44:25] [INFO] Updated existing Dispatches record with ID: 69aca9e2061b2d307
[2026-03-07 22:44:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025243_20260307_224424.XML
[2026-03-07 22:44:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424.XML
[2026-03-07 22:44:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424_1.XML
[2026-03-07 22:44:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424_1.XML for user: 68f1466aed072ad4a
[2026-03-07 22:44:25] [INFO] File size: 6088 bytes
[2026-03-07 22:44:25] [INFO] Created FTPFiles record with ID: 69acaa497be0a6c26
[2026-03-07 22:44:25] [INFO] About to extract fields from XML. File size: 6088 bytes
[2026-03-07 22:44:25] [INFO] Number of mappings: 28
[2026-03-07 22:44:25] [INFO] Starting XML parsing. Content length: 6088
[2026-03-07 22:44:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 22:44:25] [INFO] Processing 28 field mappings
[2026-03-07 22:44:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 22:44:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 22:44:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 22:44:25] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 22:44:25] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 22:44:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 22:44:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 22:44:25] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 22:44:25] [INFO]   -> Found value: 2026000622
[2026-03-07 22:44:25] [INFO]   -> Set field 'incidentInternalId' = "2026000622"
[2026-03-07 22:44:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000622"
[2026-03-07 22:44:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 22:44:25] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 22:44:25] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 22:44:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 22:44:25] [INFO]   -> Found value: 2415
[2026-03-07 22:44:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2415
[2026-03-07 22:44:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 22:44:25] [INFO]   -> Found value: TN
[2026-03-07 22:44:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 22:44:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 22:44:25] [INFO]   -> Found value: 38501
[2026-03-07 22:44:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 22:44:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 22:44:25] [INFO]   -> Found value: JESSUP, ROBERT
[2026-03-07 22:44:25] [INFO]   -> Set field 'businessName' = "JESSUP, ROBERT"
[2026-03-07 22:44:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 22:44:25] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 22:44:25] [INFO]   -> Found value: 36.19928
[2026-03-07 22:44:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1992800000000016780177247710525989532470703125
[2026-03-07 22:44:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 22:44:25] [INFO]   -> Found value: -85.49360
[2026-03-07 22:44:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4936000000000007048583938740193843841552734375
[2026-03-07 22:44:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 22:44:25] [INFO]   -> Found value: 2026-03-07 16:40:34
[2026-03-07 22:44:25] [INFO]   -> Set field 'alarm' = "2026-03-07 16:40:34"
[2026-03-07 22:44:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 22:44:25] [INFO]   -> Found value: 2026-03-07 16:42:35
[2026-03-07 22:44:25] [INFO]   -> Set field 'dispatched' = "2026-03-07 16:42:35"
[2026-03-07 22:44:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 22:44:25] [INFO]   -> Found value: 2026-03-07 16:44:20
[2026-03-07 22:44:25] [INFO]   -> Set field 'enroute' = "2026-03-07 16:44:20"
[2026-03-07 22:44:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 22:44:25] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 22:44:25] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 22:44:25] [INFO]   -> Found value: /DALE LN
[2026-03-07 22:44:25] [INFO]   -> Set field 'incidentLocationCross' = "\/DALE LN"
[2026-03-07 22:44:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 22:44:25] [INFO]   -> Found value: TK12
[2026-03-07 22:44:25] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 22:44:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 22:44:25] [INFO]   -> Found value: 2026-03-07 16:44:16
[2026-03-07 22:44:25] [INFO]   -> Set field 'timedispatch' = "2026-03-07 16:44:16"
[2026-03-07 22:44:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 22:44:25] [INFO]   -> Found value: 2026-03-07 16:44:20
[2026-03-07 22:44:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 16:44:20"
[2026-03-07 22:44:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 22:44:25] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 22:44:25] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 22:44:25] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 22:44:25] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 22:44:25] [INFO]   -> Found value: 20260025243
[2026-03-07 22:44:25] [INFO]   -> Set field 'policeReportNumber' = "20260025243"
[2026-03-07 22:44:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 22:44:25] [INFO]   -> Found value: [EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03/07/26 16:41:50 KELLIS] Event spawned from FA...
[2026-03-07 22:44:25] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:25] [INFO]   -> Set field 'cADLog' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 22:44:25] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 22:44:25] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 22:44:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 22:44:25] [INFO]   -> Found value: DIXON
[2026-03-07 22:44:25] [INFO]   -> Set field 'streetName' = "DIXON"
[2026-03-07 22:44:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 22:44:25] [INFO]   -> Found value: LN
[2026-03-07 22:44:25] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 22:44:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 22:44:25] [INFO]   -> Found value: 2415 DIXON LN
[2026-03-07 22:44:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2415 DIXON LN"
[2026-03-07 22:44:25] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 22:44:25] [INFO] Concatenating street name and type
[2026-03-07 22:44:25] [INFO]   -> Combined street name: DIXON LN
[2026-03-07 22:44:25] [INFO] Built locationCoordinates from lat/lng: 36.19928,-85.4936
[2026-03-07 22:44:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000622","dispatchRunNumber":"2026000622","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2415,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JESSUP, ROBERT","nERISIncidentLatitude":36.1992800000000016780177247710525989532470703125,"nERISIncidentLongitude":-85.4936000000000007048583938740193843841552734375,"alarm":"2026-03-07 16:40:34","dispatched":"2026-03-07 16:42:35","enroute":"2026-03-07 16:44:20","incidentLocationCross":"\/DALE LN","cADVehicleID":"TK12","timedispatch":"2026-03-07 16:44:16","timeenroutetoscene":"2026-03-07 16:44:20","policeReportNumber":"20260025243","dispatchNotes":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","cADLog":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"DIXON LN","incidentAddressTextVersionStreet":"2415 DIXON LN","locationCoordinates":"36.19928,-85.4936"}
[2026-03-07 22:44:25] [INFO] Number of extracted fields: 24
[2026-03-07 22:44:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 22:44:25] [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-07 22:44:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 22:44:25] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 22:44:25] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 22:44:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 22:44: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-07 22:44: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-07 22:44:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 22:44:25] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 22:44:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 22:44:25] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 22:44:26] [INFO] Found existing Dispatch with cADNumber '2026000622', ID: 69aca9e2061b2d307 - will update instead of create
[2026-03-07 22:44:26] [INFO] Updated existing Dispatches record with ID: 69aca9e2061b2d307
[2026-03-07 22:44:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025243_20260307_224424_1.XML
[2026-03-07 22:44:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224424_1.XML
[2026-03-07 22:44:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224425.XML
[2026-03-07 22:44:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224425.XML for user: 68f1466aed072ad4a
[2026-03-07 22:44:26] [INFO] File size: 6088 bytes
[2026-03-07 22:44:26] [INFO] Created FTPFiles record with ID: 69acaa4a9e038ed74
[2026-03-07 22:44:26] [INFO] About to extract fields from XML. File size: 6088 bytes
[2026-03-07 22:44:26] [INFO] Number of mappings: 28
[2026-03-07 22:44:26] [INFO] Starting XML parsing. Content length: 6088
[2026-03-07 22:44:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 22:44:26] [INFO] Processing 28 field mappings
[2026-03-07 22:44:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 22:44:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 22:44:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 22:44:26] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 22:44:26] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 22:44:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 22:44:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 22:44:26] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 22:44:26] [INFO]   -> Found value: 2026000622
[2026-03-07 22:44:26] [INFO]   -> Set field 'incidentInternalId' = "2026000622"
[2026-03-07 22:44:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000622"
[2026-03-07 22:44:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 22:44:26] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 22:44:26] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 22:44:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 22:44:26] [INFO]   -> Found value: 2415
[2026-03-07 22:44:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2415
[2026-03-07 22:44:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 22:44:26] [INFO]   -> Found value: TN
[2026-03-07 22:44:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 22:44:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 22:44:26] [INFO]   -> Found value: 38501
[2026-03-07 22:44:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 22:44:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 22:44:26] [INFO]   -> Found value: JESSUP, ROBERT
[2026-03-07 22:44:26] [INFO]   -> Set field 'businessName' = "JESSUP, ROBERT"
[2026-03-07 22:44:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 22:44:26] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 22:44:26] [INFO]   -> Found value: 36.19928
[2026-03-07 22:44:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1992800000000016780177247710525989532470703125
[2026-03-07 22:44:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 22:44:26] [INFO]   -> Found value: -85.49360
[2026-03-07 22:44:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4936000000000007048583938740193843841552734375
[2026-03-07 22:44:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 22:44:26] [INFO]   -> Found value: 2026-03-07 16:40:34
[2026-03-07 22:44:26] [INFO]   -> Set field 'alarm' = "2026-03-07 16:40:34"
[2026-03-07 22:44:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 22:44:26] [INFO]   -> Found value: 2026-03-07 16:42:35
[2026-03-07 22:44:26] [INFO]   -> Set field 'dispatched' = "2026-03-07 16:42:35"
[2026-03-07 22:44:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 22:44:26] [INFO]   -> Found value: 2026-03-07 16:44:20
[2026-03-07 22:44:26] [INFO]   -> Set field 'enroute' = "2026-03-07 16:44:20"
[2026-03-07 22:44:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 22:44:26] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 22:44:26] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 22:44:26] [INFO]   -> Found value: /DALE LN
[2026-03-07 22:44:26] [INFO]   -> Set field 'incidentLocationCross' = "\/DALE LN"
[2026-03-07 22:44:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 22:44:26] [INFO]   -> Found value: TK12
[2026-03-07 22:44:26] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-07 22:44:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 22:44:26] [INFO]   -> Found value: 2026-03-07 16:44:16
[2026-03-07 22:44:26] [INFO]   -> Set field 'timedispatch' = "2026-03-07 16:44:16"
[2026-03-07 22:44:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 22:44:26] [INFO]   -> Found value: 2026-03-07 16:44:20
[2026-03-07 22:44:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 16:44:20"
[2026-03-07 22:44:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 22:44:26] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 22:44:26] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 22:44:26] [INFO]   -> No value found (null or empty)
[2026-03-07 22:44:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 22:44:26] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 22:44:26] [INFO]   -> Found value: 20260025243
[2026-03-07 22:44:26] [INFO]   -> Set field 'policeReportNumber' = "20260025243"
[2026-03-07 22:44:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 22:44:26] [INFO]   -> Found value: [EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03/07/26 16:41:50 KELLIS] Event spawned from FA...
[2026-03-07 22:44:26] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:26] [INFO]   -> Set field 'cADLog' = "[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]"
[2026-03-07 22:44:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 22:44:26] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 22:44:26] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 22:44:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 22:44:26] [INFO]   -> Found value: DIXON
[2026-03-07 22:44:26] [INFO]   -> Set field 'streetName' = "DIXON"
[2026-03-07 22:44:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 22:44:26] [INFO]   -> Found value: LN
[2026-03-07 22:44:26] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-07 22:44:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 22:44:26] [INFO]   -> Found value: 2415 DIXON LN
[2026-03-07 22:44:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2415 DIXON LN"
[2026-03-07 22:44:26] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-07 22:44:26] [INFO] Concatenating street name and type
[2026-03-07 22:44:26] [INFO]   -> Combined street name: DIXON LN
[2026-03-07 22:44:26] [INFO] Built locationCoordinates from lat/lng: 36.19928,-85.4936
[2026-03-07 22:44:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000622","dispatchRunNumber":"2026000622","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2415,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"JESSUP, ROBERT","nERISIncidentLatitude":36.1992800000000016780177247710525989532470703125,"nERISIncidentLongitude":-85.4936000000000007048583938740193843841552734375,"alarm":"2026-03-07 16:40:34","dispatched":"2026-03-07 16:42:35","enroute":"2026-03-07 16:44:20","incidentLocationCross":"\/DALE LN","cADVehicleID":"TK12","timedispatch":"2026-03-07 16:44:16","timeenroutetoscene":"2026-03-07 16:44:20","policeReportNumber":"20260025243","dispatchNotes":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","cADLog":"[EMS] LANDED ON HER SHOULDER SHE THINKS ITS BROKEN  [03\/07\/26 16:41:50 KELLIS] Event spawned from FALL VICTIM.  [03\/07\/2026 16:40:34 KELLIS]","incidentLocationCity":"COOKEVILLE","streetName":"DIXON LN","incidentAddressTextVersionStreet":"2415 DIXON LN","locationCoordinates":"36.19928,-85.4936"}
[2026-03-07 22:44:26] [INFO] Number of extracted fields: 24
[2026-03-07 22:44:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 22:44:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 22:44:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 22:44:26] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 22:44:26] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 22:44:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 22:44:26] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 22:44:26] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 22:44:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 22:44:26] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 22:44:26] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 22:44:27] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 22:44:27] [INFO] Found existing Dispatch with cADNumber '2026000622', ID: 69aca9e2061b2d307 - will update instead of create
[2026-03-07 22:44:27] [INFO] Updated existing Dispatches record with ID: 69aca9e2061b2d307
[2026-03-07 22:44:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224425.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025243_20260307_224425.XML
[2026-03-07 22:44:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025243_20260307_224425.XML
[2026-03-07 23:52:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235246.XML
[2026-03-07 23:52:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235246.XML for user: 68f1466aed072ad4a
[2026-03-07 23:52:46] [INFO] File size: 5275 bytes
[2026-03-07 23:52:46] [INFO] Created FTPFiles record with ID: 69acba4ec36eae7b6
[2026-03-07 23:52:46] [INFO] About to extract fields from XML. File size: 5275 bytes
[2026-03-07 23:52:46] [INFO] Number of mappings: 28
[2026-03-07 23:52:46] [INFO] Starting XML parsing. Content length: 5275
[2026-03-07 23:52:46] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 23:52:46] [INFO] Processing 28 field mappings
[2026-03-07 23:52:46] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 23:52:46] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 23:52:46] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 23:52:46] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 23:52:46] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 23:52:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 23:52:46] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 23:52:46] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 23:52:46] [INFO]   -> Found value: 2026000623
[2026-03-07 23:52:46] [INFO]   -> Set field 'incidentInternalId' = "2026000623"
[2026-03-07 23:52:46] [INFO]   -> Set field 'dispatchRunNumber' = "2026000623"
[2026-03-07 23:52:46] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 23:52:46] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 23:52:46] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 23:52:46] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 23:52:46] [INFO]   -> Found value: 205
[2026-03-07 23:52:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 205
[2026-03-07 23:52:46] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 23:52:46] [INFO]   -> Found value: TN
[2026-03-07 23:52:46] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 23:52:46] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 23:52:46] [INFO]   -> Found value: 38501
[2026-03-07 23:52:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 23:52:46] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 23:52:46] [INFO]   -> Found value: 36.17931
[2026-03-07 23:52:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1793100000000009686118573881685733795166015625
[2026-03-07 23:52:46] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 23:52:46] [INFO]   -> Found value: -85.55923
[2026-03-07 23:52:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5592299999999994497557054273784160614013671875
[2026-03-07 23:52:46] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 23:52:46] [INFO]   -> Found value: 2026-03-07 17:51:21
[2026-03-07 23:52:46] [INFO]   -> Set field 'alarm' = "2026-03-07 17:51:21"
[2026-03-07 23:52:46] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 23:52:46] [INFO]   -> Found value: 2026-03-07 17:52:43
[2026-03-07 23:52:46] [INFO]   -> Set field 'dispatched' = "2026-03-07 17:52:43"
[2026-03-07 23:52:46] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 23:52:46] [INFO]   -> Found value: W BROAD ST
[2026-03-07 23:52:46] [INFO]   -> Set field 'incidentLocationCross' = "W BROAD ST"
[2026-03-07 23:52:46] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 23:52:46] [INFO]   -> Found value: PCFR
[2026-03-07 23:52:46] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-07 23:52:46] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 23:52:46] [INFO]   -> Found value: 2026-03-07 17:52:43
[2026-03-07 23:52:46] [INFO]   -> Set field 'timedispatch' = "2026-03-07 17:52:43"
[2026-03-07 23:52:46] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 23:52:46] [INFO]   -> No value found (null or empty)
[2026-03-07 23:52:46] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 23:52:46] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 23:52:46] [INFO]   -> Found value: 20260025261
[2026-03-07 23:52:46] [INFO]   -> Set field 'policeReportNumber' = "20260025261"
[2026-03-07 23:52:46] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 23:52:46] [INFO]   -> Found value: [EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GE...
[2026-03-07 23:52:46] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:52:46] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:52:46] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 23:52:46] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 23:52:46] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 23:52:46] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 23:52:46] [INFO]   -> Found value: EAST
[2026-03-07 23:52:46] [INFO]   -> Set field 'streetName' = "EAST"
[2026-03-07 23:52:46] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 23:52:46] [INFO]   -> Found value: RD
[2026-03-07 23:52:46] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 23:52:46] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 23:52:46] [INFO]   -> Found value: 205 EAST RD
[2026-03-07 23:52:46] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "205 EAST RD"
[2026-03-07 23:52:46] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-07 23:52:46] [INFO] Concatenating street name and type
[2026-03-07 23:52:46] [INFO]   -> Combined street name: EAST RD
[2026-03-07 23:52:46] [INFO] Built locationCoordinates from lat/lng: 36.17931,-85.55923
[2026-03-07 23:52:46] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000623","dispatchRunNumber":"2026000623","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":205,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1793100000000009686118573881685733795166015625,"nERISIncidentLongitude":-85.5592299999999994497557054273784160614013671875,"alarm":"2026-03-07 17:51:21","dispatched":"2026-03-07 17:52:43","incidentLocationCross":"W BROAD ST","cADVehicleID":"PCFR","timedispatch":"2026-03-07 17:52:43","policeReportNumber":"20260025261","dispatchNotes":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","cADLog":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"EAST RD","incidentAddressTextVersionStreet":"205 EAST RD","locationCoordinates":"36.17931,-85.55923"}
[2026-03-07 23:52:46] [INFO] Number of extracted fields: 21
[2026-03-07 23:52:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 23:52:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 23:52:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 23:52:46] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 23:52:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 23:52:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 23:52: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-07 23:52: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-07 23:52:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 23:52:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 23:52:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 23:52:47] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 23:52:56] [INFO] Created new Dispatches record with ID: 69acba4faa6ecf88f
[2026-03-07 23:52:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235246.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025261_20260307_235246.XML
[2026-03-07 23:52:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235246.XML
[2026-03-07 23:53:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334.XML
[2026-03-07 23:53:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334.XML for user: 68f1466aed072ad4a
[2026-03-07 23:53:34] [INFO] File size: 6192 bytes
[2026-03-07 23:53:34] [INFO] Created FTPFiles record with ID: 69acba7e8269d512e
[2026-03-07 23:53:34] [INFO] About to extract fields from XML. File size: 6192 bytes
[2026-03-07 23:53:34] [INFO] Number of mappings: 28
[2026-03-07 23:53:34] [INFO] Starting XML parsing. Content length: 6192
[2026-03-07 23:53:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 23:53:34] [INFO] Processing 28 field mappings
[2026-03-07 23:53:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 23:53:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 23:53:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 23:53:34] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 23:53:34] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 23:53:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 23:53:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 23:53:34] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 23:53:34] [INFO]   -> Found value: 2026000623
[2026-03-07 23:53:34] [INFO]   -> Set field 'incidentInternalId' = "2026000623"
[2026-03-07 23:53:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000623"
[2026-03-07 23:53:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 23:53:34] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 23:53:34] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 23:53:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 23:53:34] [INFO]   -> Found value: 205
[2026-03-07 23:53:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 205
[2026-03-07 23:53:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 23:53:34] [INFO]   -> Found value: TN
[2026-03-07 23:53:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 23:53:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 23:53:34] [INFO]   -> Found value: 38501
[2026-03-07 23:53:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 23:53:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 23:53:34] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 23:53:34] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 23:53:34] [INFO]   -> Found value: 36.17931
[2026-03-07 23:53:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1793100000000009686118573881685733795166015625
[2026-03-07 23:53:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 23:53:34] [INFO]   -> Found value: -85.55923
[2026-03-07 23:53:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5592299999999994497557054273784160614013671875
[2026-03-07 23:53:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 23:53:34] [INFO]   -> Found value: 2026-03-07 17:51:21
[2026-03-07 23:53:34] [INFO]   -> Set field 'alarm' = "2026-03-07 17:51:21"
[2026-03-07 23:53:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 23:53:34] [INFO]   -> Found value: 2026-03-07 17:52:43
[2026-03-07 23:53:34] [INFO]   -> Set field 'dispatched' = "2026-03-07 17:52:43"
[2026-03-07 23:53:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 23:53:34] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:34] [INFO]   -> Set field 'enroute' = "2026-03-07 17:53:30"
[2026-03-07 23:53:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 23:53:34] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 23:53:34] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 23:53:34] [INFO]   -> Found value: W BROAD ST
[2026-03-07 23:53:34] [INFO]   -> Set field 'incidentLocationCross' = "W BROAD ST"
[2026-03-07 23:53:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 23:53:34] [INFO]   -> Found value: SQ11
[2026-03-07 23:53:34] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 23:53:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 23:53:34] [INFO]   -> Found value: 2026-03-07 17:53:29
[2026-03-07 23:53:34] [INFO]   -> Set field 'timedispatch' = "2026-03-07 17:53:29"
[2026-03-07 23:53:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 23:53:34] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:34] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 17:53:30"
[2026-03-07 23:53:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 23:53:34] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 23:53:34] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 23:53:34] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 23:53:34] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 23:53:34] [INFO]   -> Found value: 20260025261
[2026-03-07 23:53:34] [INFO]   -> Set field 'policeReportNumber' = "20260025261"
[2026-03-07 23:53:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 23:53:34] [INFO]   -> Found value: [EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GE...
[2026-03-07 23:53:34] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:34] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 23:53:34] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 23:53:34] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 23:53:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 23:53:34] [INFO]   -> Found value: EAST
[2026-03-07 23:53:34] [INFO]   -> Set field 'streetName' = "EAST"
[2026-03-07 23:53:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 23:53:34] [INFO]   -> Found value: RD
[2026-03-07 23:53:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 23:53:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 23:53:34] [INFO]   -> Found value: 205 EAST RD
[2026-03-07 23:53:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "205 EAST RD"
[2026-03-07 23:53:34] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 23:53:34] [INFO] Concatenating street name and type
[2026-03-07 23:53:34] [INFO]   -> Combined street name: EAST RD
[2026-03-07 23:53:34] [INFO] Built locationCoordinates from lat/lng: 36.17931,-85.55923
[2026-03-07 23:53:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000623","dispatchRunNumber":"2026000623","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":205,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1793100000000009686118573881685733795166015625,"nERISIncidentLongitude":-85.5592299999999994497557054273784160614013671875,"alarm":"2026-03-07 17:51:21","dispatched":"2026-03-07 17:52:43","enroute":"2026-03-07 17:53:30","incidentLocationCross":"W BROAD ST","cADVehicleID":"SQ11","timedispatch":"2026-03-07 17:53:29","timeenroutetoscene":"2026-03-07 17:53:30","policeReportNumber":"20260025261","dispatchNotes":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","cADLog":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"EAST RD","incidentAddressTextVersionStreet":"205 EAST RD","locationCoordinates":"36.17931,-85.55923"}
[2026-03-07 23:53:34] [INFO] Number of extracted fields: 23
[2026-03-07 23:53:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 23:53:34] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 23:53:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 23:53:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 23:53:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 23:53:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 23:53: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-07 23:53: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-07 23:53:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 23:53:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 23:53:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 23:53:34] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 23:53:35] [INFO] Found existing Dispatch with cADNumber '2026000623', ID: 69acba4faa6ecf88f - will update instead of create
[2026-03-07 23:53:35] [INFO] Updated existing Dispatches record with ID: 69acba4faa6ecf88f
[2026-03-07 23:53:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025261_20260307_235334.XML
[2026-03-07 23:53:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334.XML
[2026-03-07 23:53:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334_1.XML
[2026-03-07 23:53:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334_1.XML for user: 68f1466aed072ad4a
[2026-03-07 23:53:35] [INFO] File size: 6192 bytes
[2026-03-07 23:53:35] [INFO] Created FTPFiles record with ID: 69acba7fa6addd1bf
[2026-03-07 23:53:35] [INFO] About to extract fields from XML. File size: 6192 bytes
[2026-03-07 23:53:35] [INFO] Number of mappings: 28
[2026-03-07 23:53:35] [INFO] Starting XML parsing. Content length: 6192
[2026-03-07 23:53:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 23:53:35] [INFO] Processing 28 field mappings
[2026-03-07 23:53:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 23:53:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 23:53:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 23:53:35] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 23:53:35] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 23:53:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 23:53:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 23:53:35] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 23:53:35] [INFO]   -> Found value: 2026000623
[2026-03-07 23:53:35] [INFO]   -> Set field 'incidentInternalId' = "2026000623"
[2026-03-07 23:53:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000623"
[2026-03-07 23:53:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 23:53:35] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 23:53:35] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 23:53:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 23:53:35] [INFO]   -> Found value: 205
[2026-03-07 23:53:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 205
[2026-03-07 23:53:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 23:53:35] [INFO]   -> Found value: TN
[2026-03-07 23:53:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 23:53:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 23:53:35] [INFO]   -> Found value: 38501
[2026-03-07 23:53:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 23:53:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 23:53:35] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 23:53:35] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 23:53:35] [INFO]   -> Found value: 36.17931
[2026-03-07 23:53:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1793100000000009686118573881685733795166015625
[2026-03-07 23:53:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 23:53:35] [INFO]   -> Found value: -85.55923
[2026-03-07 23:53:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5592299999999994497557054273784160614013671875
[2026-03-07 23:53:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 23:53:35] [INFO]   -> Found value: 2026-03-07 17:51:21
[2026-03-07 23:53:35] [INFO]   -> Set field 'alarm' = "2026-03-07 17:51:21"
[2026-03-07 23:53:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 23:53:35] [INFO]   -> Found value: 2026-03-07 17:52:43
[2026-03-07 23:53:35] [INFO]   -> Set field 'dispatched' = "2026-03-07 17:52:43"
[2026-03-07 23:53:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 23:53:35] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:35] [INFO]   -> Set field 'enroute' = "2026-03-07 17:53:30"
[2026-03-07 23:53:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 23:53:35] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 23:53:35] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 23:53:35] [INFO]   -> Found value: W BROAD ST
[2026-03-07 23:53:35] [INFO]   -> Set field 'incidentLocationCross' = "W BROAD ST"
[2026-03-07 23:53:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 23:53:35] [INFO]   -> Found value: SQ11
[2026-03-07 23:53:35] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 23:53:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 23:53:35] [INFO]   -> Found value: 2026-03-07 17:53:29
[2026-03-07 23:53:35] [INFO]   -> Set field 'timedispatch' = "2026-03-07 17:53:29"
[2026-03-07 23:53:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 23:53:35] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 17:53:30"
[2026-03-07 23:53:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 23:53:35] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 23:53:35] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 23:53:35] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 23:53:35] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 23:53:35] [INFO]   -> Found value: 20260025261
[2026-03-07 23:53:35] [INFO]   -> Set field 'policeReportNumber' = "20260025261"
[2026-03-07 23:53:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 23:53:35] [INFO]   -> Found value: [EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GE...
[2026-03-07 23:53:35] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:35] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 23:53:35] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 23:53:35] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 23:53:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 23:53:35] [INFO]   -> Found value: EAST
[2026-03-07 23:53:35] [INFO]   -> Set field 'streetName' = "EAST"
[2026-03-07 23:53:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 23:53:35] [INFO]   -> Found value: RD
[2026-03-07 23:53:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 23:53:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 23:53:35] [INFO]   -> Found value: 205 EAST RD
[2026-03-07 23:53:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "205 EAST RD"
[2026-03-07 23:53:35] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 23:53:35] [INFO] Concatenating street name and type
[2026-03-07 23:53:35] [INFO]   -> Combined street name: EAST RD
[2026-03-07 23:53:35] [INFO] Built locationCoordinates from lat/lng: 36.17931,-85.55923
[2026-03-07 23:53:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000623","dispatchRunNumber":"2026000623","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":205,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1793100000000009686118573881685733795166015625,"nERISIncidentLongitude":-85.5592299999999994497557054273784160614013671875,"alarm":"2026-03-07 17:51:21","dispatched":"2026-03-07 17:52:43","enroute":"2026-03-07 17:53:30","incidentLocationCross":"W BROAD ST","cADVehicleID":"SQ11","timedispatch":"2026-03-07 17:53:29","timeenroutetoscene":"2026-03-07 17:53:30","policeReportNumber":"20260025261","dispatchNotes":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","cADLog":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"EAST RD","incidentAddressTextVersionStreet":"205 EAST RD","locationCoordinates":"36.17931,-85.55923"}
[2026-03-07 23:53:35] [INFO] Number of extracted fields: 23
[2026-03-07 23:53:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 23:53:35] [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-07 23:53:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 23:53:35] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 23:53:35] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 23:53:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 23:53:35] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 23:53:35] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 23:53:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 23:53:35] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 23:53:35] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 23:53:36] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 23:53:36] [INFO] Found existing Dispatch with cADNumber '2026000623', ID: 69acba4faa6ecf88f - will update instead of create
[2026-03-07 23:53:36] [INFO] Updated existing Dispatches record with ID: 69acba4faa6ecf88f
[2026-03-07 23:53:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025261_20260307_235334_1.XML
[2026-03-07 23:53:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235334_1.XML
[2026-03-07 23:53:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235340.XML
[2026-03-07 23:53:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235340.XML for user: 68f1466aed072ad4a
[2026-03-07 23:53:41] [INFO] File size: 6192 bytes
[2026-03-07 23:53:41] [INFO] Created FTPFiles record with ID: 69acba854d0af16f0
[2026-03-07 23:53:41] [INFO] About to extract fields from XML. File size: 6192 bytes
[2026-03-07 23:53:41] [INFO] Number of mappings: 28
[2026-03-07 23:53:41] [INFO] Starting XML parsing. Content length: 6192
[2026-03-07 23:53:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 23:53:41] [INFO] Processing 28 field mappings
[2026-03-07 23:53:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 23:53:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 23:53:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 23:53:41] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 23:53:41] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 23:53:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 23:53:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 23:53:41] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 23:53:41] [INFO]   -> Found value: 2026000623
[2026-03-07 23:53:41] [INFO]   -> Set field 'incidentInternalId' = "2026000623"
[2026-03-07 23:53:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000623"
[2026-03-07 23:53:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 23:53:41] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 23:53:41] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 23:53:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 23:53:41] [INFO]   -> Found value: 205
[2026-03-07 23:53:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 205
[2026-03-07 23:53:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 23:53:41] [INFO]   -> Found value: TN
[2026-03-07 23:53:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 23:53:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 23:53:41] [INFO]   -> Found value: 38501
[2026-03-07 23:53:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 23:53:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 23:53:41] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 23:53:41] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 23:53:41] [INFO]   -> Found value: 36.17931
[2026-03-07 23:53:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1793100000000009686118573881685733795166015625
[2026-03-07 23:53:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 23:53:41] [INFO]   -> Found value: -85.55923
[2026-03-07 23:53:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5592299999999994497557054273784160614013671875
[2026-03-07 23:53:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 23:53:41] [INFO]   -> Found value: 2026-03-07 17:51:21
[2026-03-07 23:53:41] [INFO]   -> Set field 'alarm' = "2026-03-07 17:51:21"
[2026-03-07 23:53:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 23:53:41] [INFO]   -> Found value: 2026-03-07 17:52:43
[2026-03-07 23:53:41] [INFO]   -> Set field 'dispatched' = "2026-03-07 17:52:43"
[2026-03-07 23:53:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 23:53:41] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:41] [INFO]   -> Set field 'enroute' = "2026-03-07 17:53:30"
[2026-03-07 23:53:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 23:53:41] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 23:53:41] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 23:53:41] [INFO]   -> Found value: W BROAD ST
[2026-03-07 23:53:41] [INFO]   -> Set field 'incidentLocationCross' = "W BROAD ST"
[2026-03-07 23:53:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 23:53:41] [INFO]   -> Found value: SQ11
[2026-03-07 23:53:41] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 23:53:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 23:53:41] [INFO]   -> Found value: 2026-03-07 17:53:29
[2026-03-07 23:53:41] [INFO]   -> Set field 'timedispatch' = "2026-03-07 17:53:29"
[2026-03-07 23:53:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 23:53:41] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:41] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 17:53:30"
[2026-03-07 23:53:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 23:53:41] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 23:53:41] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 23:53:41] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 23:53:41] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 23:53:41] [INFO]   -> Found value: 20260025261
[2026-03-07 23:53:41] [INFO]   -> Set field 'policeReportNumber' = "20260025261"
[2026-03-07 23:53:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 23:53:41] [INFO]   -> Found value: [EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GE...
[2026-03-07 23:53:41] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:41] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 23:53:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 23:53:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 23:53:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 23:53:41] [INFO]   -> Found value: EAST
[2026-03-07 23:53:41] [INFO]   -> Set field 'streetName' = "EAST"
[2026-03-07 23:53:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 23:53:41] [INFO]   -> Found value: RD
[2026-03-07 23:53:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 23:53:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 23:53:41] [INFO]   -> Found value: 205 EAST RD
[2026-03-07 23:53:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "205 EAST RD"
[2026-03-07 23:53:41] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 23:53:41] [INFO] Concatenating street name and type
[2026-03-07 23:53:41] [INFO]   -> Combined street name: EAST RD
[2026-03-07 23:53:41] [INFO] Built locationCoordinates from lat/lng: 36.17931,-85.55923
[2026-03-07 23:53:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000623","dispatchRunNumber":"2026000623","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":205,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1793100000000009686118573881685733795166015625,"nERISIncidentLongitude":-85.5592299999999994497557054273784160614013671875,"alarm":"2026-03-07 17:51:21","dispatched":"2026-03-07 17:52:43","enroute":"2026-03-07 17:53:30","incidentLocationCross":"W BROAD ST","cADVehicleID":"SQ11","timedispatch":"2026-03-07 17:53:29","timeenroutetoscene":"2026-03-07 17:53:30","policeReportNumber":"20260025261","dispatchNotes":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","cADLog":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"EAST RD","incidentAddressTextVersionStreet":"205 EAST RD","locationCoordinates":"36.17931,-85.55923"}
[2026-03-07 23:53:41] [INFO] Number of extracted fields: 23
[2026-03-07 23:53:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 23:53:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 23:53:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 23:53:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 23:53:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 23:53:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 23:53: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-07 23:53: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-07 23:53:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 23:53:41] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 23:53:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 23:53:41] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 23:53:41] [INFO] Found existing Dispatch with cADNumber '2026000623', ID: 69acba4faa6ecf88f - will update instead of create
[2026-03-07 23:53:42] [INFO] Updated existing Dispatches record with ID: 69acba4faa6ecf88f
[2026-03-07 23:53:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235340.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025261_20260307_235340.XML
[2026-03-07 23:53:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235340.XML
[2026-03-07 23:53:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235342.XML
[2026-03-07 23:53:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235342.XML for user: 68f1466aed072ad4a
[2026-03-07 23:53:42] [INFO] File size: 6192 bytes
[2026-03-07 23:53:42] [INFO] Created FTPFiles record with ID: 69acba86ca92800a7
[2026-03-07 23:53:42] [INFO] About to extract fields from XML. File size: 6192 bytes
[2026-03-07 23:53:42] [INFO] Number of mappings: 28
[2026-03-07 23:53:42] [INFO] Starting XML parsing. Content length: 6192
[2026-03-07 23:53:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-07 23:53:42] [INFO] Processing 28 field mappings
[2026-03-07 23:53:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-07 23:53:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-07 23:53:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-07 23:53:42] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-03-07 23:53:42] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-03-07 23:53:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-03-07 23:53:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-07 23:53:42] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-03-07 23:53:42] [INFO]   -> Found value: 2026000623
[2026-03-07 23:53:42] [INFO]   -> Set field 'incidentInternalId' = "2026000623"
[2026-03-07 23:53:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000623"
[2026-03-07 23:53:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-07 23:53:42] [INFO]   -> Found value: FALL VICTIM
[2026-03-07 23:53:42] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-07 23:53:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-07 23:53:42] [INFO]   -> Found value: 205
[2026-03-07 23:53:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 205
[2026-03-07 23:53:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-07 23:53:42] [INFO]   -> Found value: TN
[2026-03-07 23:53:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-07 23:53:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-07 23:53:42] [INFO]   -> Found value: 38501
[2026-03-07 23:53:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-07 23:53:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-07 23:53:42] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-07 23:53:42] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-07 23:53:42] [INFO]   -> Found value: 36.17931
[2026-03-07 23:53:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1793100000000009686118573881685733795166015625
[2026-03-07 23:53:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-07 23:53:42] [INFO]   -> Found value: -85.55923
[2026-03-07 23:53:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5592299999999994497557054273784160614013671875
[2026-03-07 23:53:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-07 23:53:42] [INFO]   -> Found value: 2026-03-07 17:51:21
[2026-03-07 23:53:42] [INFO]   -> Set field 'alarm' = "2026-03-07 17:51:21"
[2026-03-07 23:53:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-07 23:53:42] [INFO]   -> Found value: 2026-03-07 17:52:43
[2026-03-07 23:53:42] [INFO]   -> Set field 'dispatched' = "2026-03-07 17:52:43"
[2026-03-07 23:53:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-07 23:53:42] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:42] [INFO]   -> Set field 'enroute' = "2026-03-07 17:53:30"
[2026-03-07 23:53:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-07 23:53:42] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-07 23:53:42] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-07 23:53:42] [INFO]   -> Found value: W BROAD ST
[2026-03-07 23:53:42] [INFO]   -> Set field 'incidentLocationCross' = "W BROAD ST"
[2026-03-07 23:53:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-07 23:53:42] [INFO]   -> Found value: SQ11
[2026-03-07 23:53:42] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-07 23:53:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-07 23:53:42] [INFO]   -> Found value: 2026-03-07 17:53:29
[2026-03-07 23:53:42] [INFO]   -> Set field 'timedispatch' = "2026-03-07 17:53:29"
[2026-03-07 23:53:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-07 23:53:42] [INFO]   -> Found value: 2026-03-07 17:53:30
[2026-03-07 23:53:42] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-07 17:53:30"
[2026-03-07 23:53:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-07 23:53:42] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-07 23:53:42] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-07 23:53:42] [INFO]   -> No value found (null or empty)
[2026-03-07 23:53:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-07 23:53:42] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-03-07 23:53:42] [INFO]   -> Found value: 20260025261
[2026-03-07 23:53:42] [INFO]   -> Set field 'policeReportNumber' = "20260025261"
[2026-03-07 23:53:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-07 23:53:42] [INFO]   -> Found value: [EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GE...
[2026-03-07 23:53:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:42] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]"
[2026-03-07 23:53:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-07 23:53:42] [INFO]   -> Found value: COOKEVILLE
[2026-03-07 23:53:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-07 23:53:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-07 23:53:42] [INFO]   -> Found value: EAST
[2026-03-07 23:53:42] [INFO]   -> Set field 'streetName' = "EAST"
[2026-03-07 23:53:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-07 23:53:42] [INFO]   -> Found value: RD
[2026-03-07 23:53:42] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-07 23:53:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-07 23:53:42] [INFO]   -> Found value: 205 EAST RD
[2026-03-07 23:53:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "205 EAST RD"
[2026-03-07 23:53:42] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-07 23:53:42] [INFO] Concatenating street name and type
[2026-03-07 23:53:42] [INFO]   -> Combined street name: EAST RD
[2026-03-07 23:53:42] [INFO] Built locationCoordinates from lat/lng: 36.17931,-85.55923
[2026-03-07 23:53:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000623","dispatchRunNumber":"2026000623","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":205,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1793100000000009686118573881685733795166015625,"nERISIncidentLongitude":-85.5592299999999994497557054273784160614013671875,"alarm":"2026-03-07 17:51:21","dispatched":"2026-03-07 17:52:43","enroute":"2026-03-07 17:53:30","incidentLocationCross":"W BROAD ST","cADVehicleID":"SQ11","timedispatch":"2026-03-07 17:53:29","timeenroutetoscene":"2026-03-07 17:53:30","policeReportNumber":"20260025261","dispatchNotes":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","cADLog":"[EMS] CALLER STATED THAT SHE IS ON THE OTHER SIDE OF THE FRONT DOOR BUT THEY DO NOT HAVE A KEY TO GET IN  [03\/07\/26 17:51:45 SVOKOUN2] Event spawned from FALL VICTIM.  [03\/07\/2026 17:51:21 SVOKOUN2] MARY 88YOF FELL UNKOWN INJURIES  [03\/07\/26 17:51:18 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"EAST RD","incidentAddressTextVersionStreet":"205 EAST RD","locationCoordinates":"36.17931,-85.55923"}
[2026-03-07 23:53:42] [INFO] Number of extracted fields: 23
[2026-03-07 23:53:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-03-07 23:53:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-03-07 23:53:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-03-07 23:53:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-07 23:53:43] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-07 23:53:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-03-07 23:53:43] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-07 23:53:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-07 23:53:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-03-07 23:53:43] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-07 23:53:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-07 23:53:43] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-03-07 23:53:43] [INFO] Found existing Dispatch with cADNumber '2026000623', ID: 69acba4faa6ecf88f - will update instead of create
[2026-03-07 23:53:43] [INFO] Updated existing Dispatches record with ID: 69acba4faa6ecf88f
[2026-03-07 23:53:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235342.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-07/PCFD_20260025261_20260307_235342.XML
[2026-03-07 23:53:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260025261_20260307_235342.XML
