[2026-03-17 00:39:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07986.xml
[2026-03-17 00:39:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07986.xml for user: 68d56363ec1209189
[2026-03-17 00:39:30] [INFO] File size: 2080 bytes
[2026-03-17 00:39:30] [INFO] Created FTPFiles record with ID: 69b8a2c2cc6d7cb10
[2026-03-17 00:39:30] [INFO] About to extract fields from XML. File size: 2080 bytes
[2026-03-17 00:39:30] [INFO] Number of mappings: 21
[2026-03-17 00:39:30] [INFO] Starting XML parsing. Content length: 2080
[2026-03-17 00:39:30] [INFO] XML parsed successfully. Root element: Incident
[2026-03-17 00:39:30] [INFO] Processing 21 field mappings
[2026-03-17 00:39:30] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-17 00:39:30] [INFO]   -> Found value: 26-07986
[2026-03-17 00:39:30] [INFO]   -> Set field 'dispatchRunNumber' = "26-07986"
[2026-03-17 00:39:30] [INFO]   -> Set field 'cADNumber' = "26-07986"
[2026-03-17 00:39:30] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-17 00:39:30] [INFO]   -> Found value: 325
[2026-03-17 00:39:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 325
[2026-03-17 00:39:30] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-17 00:39:30] [INFO]   -> Found value: E MCCALLEN
[2026-03-17 00:39:30] [INFO]   -> Set field 'streetName' = "E MCCALLEN"
[2026-03-17 00:39:30] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-17 00:39:30] [INFO]   -> No value found (null or empty)
[2026-03-17 00:39:30] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-17 00:39:30] [INFO]   -> Found value: BLODGETT
[2026-03-17 00:39:30] [INFO]   -> Set field 'incidentLocationCity' = "BLODGETT"
[2026-03-17 00:39:30] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-17 00:39:30] [INFO]   -> No value found (null or empty)
[2026-03-17 00:39:30] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-17 00:39:30] [INFO]   -> No value found (null or empty)
[2026-03-17 00:39:30] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-17 00:39:30] [INFO]   -> Found value: 63824
[2026-03-17 00:39:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63824
[2026-03-17 00:39:30] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-17 00:39:30] [INFO]   -> Found value: 0
[2026-03-17 00:39:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-17 00:39:30] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-17 00:39:30] [INFO]   -> Found value: 0
[2026-03-17 00:39:30] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-17 00:39:30] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-17 00:39:30] [INFO]   -> Found value: MEDICAL
[2026-03-17 00:39:30] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-17 00:39:30] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-17 00:39:30] [INFO]   -> Found value: 03-16-2026 18:53:55|87 YOF POSS STROKE 03-16-2026 18:55:08|190/80 BP 03-16-2026 18:55:18|AWAKE AND A...
[2026-03-17 00:39:30] [INFO]   -> Set field 'dispatchNotes' = "03-16-2026 18:53:55|87 YOF POSS STROKE 03-16-2026 18:55:08|190\/80 BP 03-16-2026 18:55:18|AWAKE AND ALERT 03-16-2026 18:56:09|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/16\/2026 18:54:40\nNotes: Call Received on 03\/16\/2026 @ 18:54\n\nLocation: 1 COUNTY RD 539\n****** Appended notes from E911 Call end   ******\n 03-16-2026 19:11:39|Disposition - SSCA UNIT:  RPT 03-16-2026 19:20:38|1707 ON SCENE 03-16-2026 19:23:19|SSCA 1X MERCY"
[2026-03-17 00:39:30] [INFO]   -> Set field 'cADLog' = "03-16-2026 18:53:55|87 YOF POSS STROKE 03-16-2026 18:55:08|190\/80 BP 03-16-2026 18:55:18|AWAKE AND ALERT 03-16-2026 18:56:09|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/16\/2026 18:54:40\nNotes: Call Received on 03\/16\/2026 @ 18:54\n\nLocation: 1 COUNTY RD 539\n****** Appended notes from E911 Call end   ******\n 03-16-2026 19:11:39|Disposition - SSCA UNIT:  RPT 03-16-2026 19:20:38|1707 ON SCENE 03-16-2026 19:23:19|SSCA 1X MERCY"
[2026-03-17 00:39:30] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-17 00:39:30] [INFO]   -> Found value: 03-16-2026T18:55:57
[2026-03-17 00:39:30] [INFO] Reformatted DD-MM-YYYY date '03-16-2026' (day=03, month=16) to ISO: 2026-16-03T18:55:57
[2026-03-17 00:39:30] [ERROR] Error formatting datetime '2026-16-03T18:55:57': Failed to parse time string (2026-16-03T18:55:57) at position 6 (6): Unexpected character
[2026-03-17 00:39:30] [INFO]   -> Set field 'alarm' = null
[2026-03-17 00:39:30] [INFO] Reformatted DD-MM-YYYY date '03-16-2026' (day=03, month=16) to ISO: 2026-16-03T18:55:57
[2026-03-17 00:39:30] [ERROR] Error formatting datetime '2026-16-03T18:55:57': Failed to parse time string (2026-16-03T18:55:57) at position 6 (6): Unexpected character
[2026-03-17 00:39:30] [INFO]   -> Set field 'dispatched' = null
[2026-03-17 00:39:30] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-17 00:39:30] [INFO]   -> Found value: 03-16-2026T19:08:53
[2026-03-17 00:39:30] [INFO] Reformatted DD-MM-YYYY date '03-16-2026' (day=03, month=16) to ISO: 2026-16-03T19:08:53
[2026-03-17 00:39:30] [ERROR] Error formatting datetime '2026-16-03T19:08:53': Failed to parse time string (2026-16-03T19:08:53) at position 6 (6): Unexpected character
[2026-03-17 00:39:30] [INFO]   -> Set field 'onScene' = null
[2026-03-17 00:39:30] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-17 00:39:30] [INFO]   -> No value found (null or empty)
[2026-03-17 00:39:30] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-17 00:39:30] [INFO]   -> Found value: 1760
[2026-03-17 00:39:30] [INFO]   -> Set field 'cADVehicleID' = 1760
[2026-03-17 00:39:30] [INFO]   -> Set field 'name' = "1760"
[2026-03-17 00:39:30] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-17 00:39:30] [INFO]   -> No value found (null or empty)
[2026-03-17 00:39:30] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-17 00:39:30] [INFO]   -> Found value: 03-16-2026T19:08:53
[2026-03-17 00:39:30] [INFO] Reformatted DD-MM-YYYY date '03-16-2026' (day=03, month=16) to ISO: 2026-16-03T19:08:53
[2026-03-17 00:39:30] [ERROR] Error formatting datetime '2026-16-03T19:08:53': Failed to parse time string (2026-16-03T19:08:53) at position 6 (6): Unexpected character
[2026-03-17 00:39:30] [INFO]   -> Set field 'timeonscene' = null
[2026-03-17 00:39:30] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-17 00:39:30] [INFO]   -> Found value: 03-16-2026T19:38:59
[2026-03-17 00:39:30] [INFO] Reformatted DD-MM-YYYY date '03-16-2026' (day=03, month=16) to ISO: 2026-16-03T19:38:59
[2026-03-17 00:39:30] [ERROR] Error formatting datetime '2026-16-03T19:38:59': Failed to parse time string (2026-16-03T19:38:59) at position 6 (6): Unexpected character
[2026-03-17 00:39:30] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-17 00:39:30] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-17 00:39:30] [INFO]   -> Found value: 03-16-2026T19:08:51
[2026-03-17 00:39:30] [INFO] Reformatted DD-MM-YYYY date '03-16-2026' (day=03, month=16) to ISO: 2026-16-03T19:08:51
[2026-03-17 00:39:30] [ERROR] Error formatting datetime '2026-16-03T19:08:51': Failed to parse time string (2026-16-03T19:08:51) at position 6 (6): Unexpected character
[2026-03-17 00:39:30] [INFO]   -> Set field 'timedispatch' = null
[2026-03-17 00:39:30] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-17 00:39:30] [INFO]   -> Found value: SCRFD
[2026-03-17 00:39:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-17 00:39:30] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-17 00:39:30] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-17 00:39:30] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-07986","cADNumber":"26-07986","incidentLocationStreetNumber":325,"streetName":"E MCCALLEN","incidentLocationCity":"BLODGETT","nERISIncidentPostalCode":63824,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-16-2026 18:53:55|87 YOF POSS STROKE 03-16-2026 18:55:08|190\/80 BP 03-16-2026 18:55:18|AWAKE AND ALERT 03-16-2026 18:56:09|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/16\/2026 18:54:40\nNotes: Call Received on 03\/16\/2026 @ 18:54\n\nLocation: 1 COUNTY RD 539\n****** Appended notes from E911 Call end   ******\n 03-16-2026 19:11:39|Disposition - SSCA UNIT:  RPT 03-16-2026 19:20:38|1707 ON SCENE 03-16-2026 19:23:19|SSCA 1X MERCY","cADLog":"03-16-2026 18:53:55|87 YOF POSS STROKE 03-16-2026 18:55:08|190\/80 BP 03-16-2026 18:55:18|AWAKE AND ALERT 03-16-2026 18:56:09|****** Appended notes from E911 Call begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 03\/16\/2026 18:54:40\nNotes: Call Received on 03\/16\/2026 @ 18:54\n\nLocation: 1 COUNTY RD 539\n****** Appended notes from E911 Call end   ******\n 03-16-2026 19:11:39|Disposition - SSCA UNIT:  RPT 03-16-2026 19:20:38|1707 ON SCENE 03-16-2026 19:23:19|SSCA 1X MERCY","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":1760,"name":"1760","timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-17 00:39:30] [INFO] Number of extracted fields: 21
[2026-03-17 00:39:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-17 00:39:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-17 00:39:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-17 00:39:30] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-17 00:39:31] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-17 00:39:32] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-17 00:39:32] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-17 00:39:32] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-17 00:39:32] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-03-17 00:39:32] [INFO] Found existing Dispatch with cADNumber '26-07986', ID: 69b89891dfdd3e1a3 - will update instead of create
[2026-03-17 00:39:33] [INFO] Updated existing Dispatches record with ID: 69b89891dfdd3e1a3
[2026-03-17 00:39:33] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17
[2026-03-17 00:39:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07986.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17/SCRFD_26-07986.xml
[2026-03-17 00:39:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-07986.xml
[2026-03-17 05:24:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052458.XML
[2026-03-17 05:24:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052458.XML for user: 68f1466aed072ad4a
[2026-03-17 05:24:58] [INFO] File size: 5539 bytes
[2026-03-17 05:24:59] [INFO] Created FTPFiles record with ID: 69b8e5ab27fdf598b
[2026-03-17 05:24:59] [INFO] About to extract fields from XML. File size: 5539 bytes
[2026-03-17 05:24:59] [INFO] Number of mappings: 28
[2026-03-17 05:24:59] [INFO] Starting XML parsing. Content length: 5539
[2026-03-17 05:24:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 05:24:59] [INFO] Processing 28 field mappings
[2026-03-17 05:24:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 05:24:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 05:24:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 05:24:59] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 05:24:59] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 05:24:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 05:24:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 05:24:59] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 05:24:59] [INFO]   -> Found value: 2026000715
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentInternalId' = "2026000715"
[2026-03-17 05:24:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000715"
[2026-03-17 05:24:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 05:24:59] [INFO]   -> Found value: SEIZURE
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-17 05:24:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 05:24:59] [INFO]   -> Found value: 2530
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2530
[2026-03-17 05:24:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 05:24:59] [INFO]   -> Found value: TN
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 05:24:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 05:24:59] [INFO]   -> Found value: 38501
[2026-03-17 05:24:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 05:24:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 05:24:59] [INFO]   -> Found value: 9
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentLocationApt' = 9
[2026-03-17 05:24:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 05:24:59] [INFO]   -> Found value: 36.20018
[2026-03-17 05:24:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2001800000000031332092476077377796173095703125
[2026-03-17 05:24:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 05:24:59] [INFO]   -> Found value: -85.51266
[2026-03-17 05:24:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5126599999999967849362292326986789703369140625
[2026-03-17 05:24:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 05:24:59] [INFO]   -> Found value: 2026-03-17 00:24:32
[2026-03-17 05:24:59] [INFO]   -> Set field 'alarm' = "2026-03-17 00:24:32"
[2026-03-17 05:24:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 05:24:59] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:24:59] [INFO]   -> Set field 'dispatched' = "2026-03-17 00:24:55"
[2026-03-17 05:24:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 05:24:59] [INFO]   -> Found value: N DIXIE AVE/KINNIARD RD
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentLocationCross' = "N DIXIE AVE\/KINNIARD RD"
[2026-03-17 05:24:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 05:24:59] [INFO]   -> Found value: PCFR
[2026-03-17 05:24:59] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 05:24:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 05:24:59] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:24:59] [INFO]   -> Set field 'timedispatch' = "2026-03-17 00:24:55"
[2026-03-17 05:24:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 05:24:59] [INFO]   -> No value found (null or empty)
[2026-03-17 05:24:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 05:24:59] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 05:24:59] [INFO]   -> Found value: 20260028849
[2026-03-17 05:24:59] [INFO]   -> Set field 'policeReportNumber' = "20260028849"
[2026-03-17 05:24:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 05:24:59] [INFO]   -> Found value: [EMS] 27 YOF  [03/17/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03/17/26 00:24:42 EALMENDAREZ] E...
[2026-03-17 05:24:59] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:24:59] [INFO]   -> Set field 'cADLog' = "[EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:24:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 05:24:59] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 05:24:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 05:24:59] [INFO]   -> Found value: DODSON BRANCH
[2026-03-17 05:24:59] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-17 05:24:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 05:24:59] [INFO]   -> Found value: RD
[2026-03-17 05:24:59] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 05:24:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 05:24:59] [INFO]   -> Found value: 2530-9 DODSON BRANCH RD
[2026-03-17 05:24:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2530-9 DODSON BRANCH RD"
[2026-03-17 05:24:59] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 05:24:59] [INFO] Concatenating street name and type
[2026-03-17 05:24:59] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-17 05:24:59] [INFO] Built locationCoordinates from lat/lng: 36.20018,-85.51266
[2026-03-17 05:24:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000715","dispatchRunNumber":"2026000715","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":2530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":9,"nERISIncidentLatitude":36.2001800000000031332092476077377796173095703125,"nERISIncidentLongitude":-85.5126599999999967849362292326986789703369140625,"alarm":"2026-03-17 00:24:32","dispatched":"2026-03-17 00:24:55","incidentLocationCross":"N DIXIE AVE\/KINNIARD RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 00:24:55","policeReportNumber":"20260028849","dispatchNotes":"[EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","cADLog":"[EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"2530-9 DODSON BRANCH RD","locationCoordinates":"36.20018,-85.51266"}
[2026-03-17 05:24:59] [INFO] Number of extracted fields: 22
[2026-03-17 05:24:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 05:24:59] [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-17 05:24:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 05:24:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 05:24:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 05:24:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 05:24:59] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 05:24:59] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 05:24:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 05:24:59] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 05:24:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 05:24:59] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-17 05:25:11] [INFO] Created new Dispatches record with ID: 69b8e5abef352961c
[2026-03-17 05:25:11] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17
[2026-03-17 05:25:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052458.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260028849_20260317_052458.XML
[2026-03-17 05:25:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052458.XML
[2026-03-17 05:28:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052836.XML
[2026-03-17 05:28:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052836.XML for user: 68f1466aed072ad4a
[2026-03-17 05:28:36] [INFO] File size: 6488 bytes
[2026-03-17 05:28:36] [INFO] Created FTPFiles record with ID: 69b8e684796f1cbe9
[2026-03-17 05:28:36] [INFO] About to extract fields from XML. File size: 6488 bytes
[2026-03-17 05:28:36] [INFO] Number of mappings: 28
[2026-03-17 05:28:36] [INFO] Starting XML parsing. Content length: 6488
[2026-03-17 05:28:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 05:28:36] [INFO] Processing 28 field mappings
[2026-03-17 05:28:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 05:28:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 05:28:36] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 05:28:36] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 05:28:36] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 05:28:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 05:28:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 05:28:36] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 05:28:36] [INFO]   -> Found value: 2026000715
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentInternalId' = "2026000715"
[2026-03-17 05:28:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000715"
[2026-03-17 05:28:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 05:28:36] [INFO]   -> Found value: SEIZURE
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-17 05:28:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 05:28:36] [INFO]   -> Found value: 2530
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2530
[2026-03-17 05:28:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 05:28:36] [INFO]   -> Found value: TN
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 05:28:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 05:28:36] [INFO]   -> Found value: 38501
[2026-03-17 05:28:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 05:28:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 05:28:36] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 05:28:36] [INFO]   -> Found value: 9
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentLocationApt' = 9
[2026-03-17 05:28:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 05:28:36] [INFO]   -> Found value: 36.20018
[2026-03-17 05:28:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2001800000000031332092476077377796173095703125
[2026-03-17 05:28:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 05:28:36] [INFO]   -> Found value: -85.51266
[2026-03-17 05:28:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5126599999999967849362292326986789703369140625
[2026-03-17 05:28:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 05:28:36] [INFO]   -> Found value: 2026-03-17 00:24:32
[2026-03-17 05:28:36] [INFO]   -> Set field 'alarm' = "2026-03-17 00:24:32"
[2026-03-17 05:28:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 05:28:36] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:28:36] [INFO]   -> Set field 'dispatched' = "2026-03-17 00:24:55"
[2026-03-17 05:28:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 05:28:36] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 05:28:36] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 05:28:36] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 05:28:36] [INFO]   -> Found value: N DIXIE AVE/KINNIARD RD
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentLocationCross' = "N DIXIE AVE\/KINNIARD RD"
[2026-03-17 05:28:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 05:28:36] [INFO]   -> Found value: PCFR
[2026-03-17 05:28:36] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 05:28:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 05:28:36] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:28:36] [INFO]   -> Set field 'timedispatch' = "2026-03-17 00:24:55"
[2026-03-17 05:28:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 05:28:36] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 05:28:36] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 05:28:36] [INFO]   -> Found value: 2026-03-17 00:28:30
[2026-03-17 05:28:36] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 00:28:30"
[2026-03-17 05:28:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 05:28:36] [INFO]   -> Found value: 2026-03-17 00:28:30
[2026-03-17 05:28:36] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-17 00:28:30"
[2026-03-17 05:28:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 05:28:36] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 05:28:36] [INFO]   -> Found value: 20260028849
[2026-03-17 05:28:36] [INFO]   -> Set field 'policeReportNumber' = "20260028849"
[2026-03-17 05:28:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 05:28:36] [INFO]   -> Found value: [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03/17/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03/17/26 00:24...
[2026-03-17 05:28:36] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:28:36] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:28:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 05:28:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 05:28:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 05:28:36] [INFO]   -> Found value: DODSON BRANCH
[2026-03-17 05:28:36] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-17 05:28:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 05:28:36] [INFO]   -> Found value: RD
[2026-03-17 05:28:36] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 05:28:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 05:28:36] [INFO]   -> Found value: 2530-9 DODSON BRANCH RD
[2026-03-17 05:28:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2530-9 DODSON BRANCH RD"
[2026-03-17 05:28:36] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 05:28:36] [INFO] Concatenating street name and type
[2026-03-17 05:28:36] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-17 05:28:36] [INFO] Built locationCoordinates from lat/lng: 36.20018,-85.51266
[2026-03-17 05:28:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000715","dispatchRunNumber":"2026000715","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":2530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":9,"nERISIncidentLatitude":36.2001800000000031332092476077377796173095703125,"nERISIncidentLongitude":-85.5126599999999967849362292326986789703369140625,"alarm":"2026-03-17 00:24:32","dispatched":"2026-03-17 00:24:55","incidentLocationCross":"N DIXIE AVE\/KINNIARD RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 00:24:55","timeunitclear":"2026-03-17 00:28:30","timecanceledenroute":"2026-03-17 00:28:30","policeReportNumber":"20260028849","dispatchNotes":"[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","cADLog":"[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"2530-9 DODSON BRANCH RD","locationCoordinates":"36.20018,-85.51266"}
[2026-03-17 05:28:36] [INFO] Number of extracted fields: 24
[2026-03-17 05:28:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 05:28:36] [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-17 05:28:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 05:28:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 05:28:36] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 05:28:36] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 05:28:36] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 05:28:36] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 05:28:36] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 05:28:36] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 05:28:36] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 05:28:36] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-17 05:28:37] [INFO] Found existing Dispatch with cADNumber '2026000715', ID: 69b8e5abef352961c - will update instead of create
[2026-03-17 05:28:37] [INFO] Updated existing Dispatches record with ID: 69b8e5abef352961c
[2026-03-17 05:28:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052836.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260028849_20260317_052836.XML
[2026-03-17 05:28:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052836.XML
[2026-03-17 05:28:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052838.XML
[2026-03-17 05:28:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052838.XML for user: 68f1466aed072ad4a
[2026-03-17 05:28:38] [INFO] File size: 6488 bytes
[2026-03-17 05:28:38] [INFO] Created FTPFiles record with ID: 69b8e6867c7f96943
[2026-03-17 05:28:38] [INFO] About to extract fields from XML. File size: 6488 bytes
[2026-03-17 05:28:38] [INFO] Number of mappings: 28
[2026-03-17 05:28:38] [INFO] Starting XML parsing. Content length: 6488
[2026-03-17 05:28:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 05:28:38] [INFO] Processing 28 field mappings
[2026-03-17 05:28:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 05:28:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 05:28:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 05:28:38] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 05:28:38] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 05:28:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 05:28:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 05:28:38] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 05:28:38] [INFO]   -> Found value: 2026000715
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentInternalId' = "2026000715"
[2026-03-17 05:28:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000715"
[2026-03-17 05:28:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 05:28:38] [INFO]   -> Found value: SEIZURE
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-17 05:28:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 05:28:38] [INFO]   -> Found value: 2530
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2530
[2026-03-17 05:28:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 05:28:38] [INFO]   -> Found value: TN
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 05:28:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 05:28:38] [INFO]   -> Found value: 38501
[2026-03-17 05:28:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 05:28:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 05:28:38] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 05:28:38] [INFO]   -> Found value: 9
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentLocationApt' = 9
[2026-03-17 05:28:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 05:28:38] [INFO]   -> Found value: 36.20018
[2026-03-17 05:28:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2001800000000031332092476077377796173095703125
[2026-03-17 05:28:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 05:28:38] [INFO]   -> Found value: -85.51266
[2026-03-17 05:28:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5126599999999967849362292326986789703369140625
[2026-03-17 05:28:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 05:28:38] [INFO]   -> Found value: 2026-03-17 00:24:32
[2026-03-17 05:28:38] [INFO]   -> Set field 'alarm' = "2026-03-17 00:24:32"
[2026-03-17 05:28:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 05:28:38] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:28:38] [INFO]   -> Set field 'dispatched' = "2026-03-17 00:24:55"
[2026-03-17 05:28:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 05:28:38] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 05:28:38] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 05:28:38] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 05:28:38] [INFO]   -> Found value: N DIXIE AVE/KINNIARD RD
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentLocationCross' = "N DIXIE AVE\/KINNIARD RD"
[2026-03-17 05:28:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 05:28:38] [INFO]   -> Found value: PCFR
[2026-03-17 05:28:38] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 05:28:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 05:28:38] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:28:38] [INFO]   -> Set field 'timedispatch' = "2026-03-17 00:24:55"
[2026-03-17 05:28:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 05:28:38] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 05:28:38] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 05:28:38] [INFO]   -> Found value: 2026-03-17 00:28:30
[2026-03-17 05:28:38] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 00:28:30"
[2026-03-17 05:28:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 05:28:38] [INFO]   -> Found value: 2026-03-17 00:28:30
[2026-03-17 05:28:38] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-17 00:28:30"
[2026-03-17 05:28:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 05:28:38] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 05:28:38] [INFO]   -> Found value: 20260028849
[2026-03-17 05:28:38] [INFO]   -> Set field 'policeReportNumber' = "20260028849"
[2026-03-17 05:28:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 05:28:38] [INFO]   -> Found value: [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03/17/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03/17/26 00:24...
[2026-03-17 05:28:38] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:28:38] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:28:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 05:28:38] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 05:28:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 05:28:38] [INFO]   -> Found value: DODSON BRANCH
[2026-03-17 05:28:38] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-17 05:28:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 05:28:38] [INFO]   -> Found value: RD
[2026-03-17 05:28:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 05:28:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 05:28:38] [INFO]   -> Found value: 2530-9 DODSON BRANCH RD
[2026-03-17 05:28:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2530-9 DODSON BRANCH RD"
[2026-03-17 05:28:38] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 05:28:38] [INFO] Concatenating street name and type
[2026-03-17 05:28:38] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-17 05:28:38] [INFO] Built locationCoordinates from lat/lng: 36.20018,-85.51266
[2026-03-17 05:28:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000715","dispatchRunNumber":"2026000715","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":2530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":9,"nERISIncidentLatitude":36.2001800000000031332092476077377796173095703125,"nERISIncidentLongitude":-85.5126599999999967849362292326986789703369140625,"alarm":"2026-03-17 00:24:32","dispatched":"2026-03-17 00:24:55","incidentLocationCross":"N DIXIE AVE\/KINNIARD RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 00:24:55","timeunitclear":"2026-03-17 00:28:30","timecanceledenroute":"2026-03-17 00:28:30","policeReportNumber":"20260028849","dispatchNotes":"[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","cADLog":"[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"2530-9 DODSON BRANCH RD","locationCoordinates":"36.20018,-85.51266"}
[2026-03-17 05:28:38] [INFO] Number of extracted fields: 24
[2026-03-17 05:28:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 05:28:38] [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-17 05:28:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 05:28:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 05:28:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 05:28:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 05:28:38] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 05:28:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 05:28:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 05:28:38] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 05:28:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 05:28:38] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-17 05:28:39] [INFO] Found existing Dispatch with cADNumber '2026000715', ID: 69b8e5abef352961c - will update instead of create
[2026-03-17 05:28:39] [INFO] Updated existing Dispatches record with ID: 69b8e5abef352961c
[2026-03-17 05:28:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052838.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260028849_20260317_052838.XML
[2026-03-17 05:28:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052838.XML
[2026-03-17 05:28:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052840.XML
[2026-03-17 05:28:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052840.XML for user: 68f1466aed072ad4a
[2026-03-17 05:28:40] [INFO] File size: 6488 bytes
[2026-03-17 05:28:40] [INFO] Created FTPFiles record with ID: 69b8e6887d3dde609
[2026-03-17 05:28:40] [INFO] About to extract fields from XML. File size: 6488 bytes
[2026-03-17 05:28:40] [INFO] Number of mappings: 28
[2026-03-17 05:28:40] [INFO] Starting XML parsing. Content length: 6488
[2026-03-17 05:28:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 05:28:40] [INFO] Processing 28 field mappings
[2026-03-17 05:28:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 05:28:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 05:28:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 05:28:40] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 05:28:40] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 05:28:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 05:28:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 05:28:40] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 05:28:40] [INFO]   -> Found value: 2026000715
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentInternalId' = "2026000715"
[2026-03-17 05:28:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000715"
[2026-03-17 05:28:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 05:28:40] [INFO]   -> Found value: SEIZURE
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-03-17 05:28:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 05:28:40] [INFO]   -> Found value: 2530
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2530
[2026-03-17 05:28:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 05:28:40] [INFO]   -> Found value: TN
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 05:28:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 05:28:40] [INFO]   -> Found value: 38501
[2026-03-17 05:28:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 05:28:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 05:28:40] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 05:28:40] [INFO]   -> Found value: 9
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentLocationApt' = 9
[2026-03-17 05:28:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 05:28:40] [INFO]   -> Found value: 36.20018
[2026-03-17 05:28:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2001800000000031332092476077377796173095703125
[2026-03-17 05:28:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 05:28:40] [INFO]   -> Found value: -85.51266
[2026-03-17 05:28:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5126599999999967849362292326986789703369140625
[2026-03-17 05:28:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 05:28:40] [INFO]   -> Found value: 2026-03-17 00:24:32
[2026-03-17 05:28:40] [INFO]   -> Set field 'alarm' = "2026-03-17 00:24:32"
[2026-03-17 05:28:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 05:28:40] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:28:40] [INFO]   -> Set field 'dispatched' = "2026-03-17 00:24:55"
[2026-03-17 05:28:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 05:28:40] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 05:28:40] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 05:28:40] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 05:28:40] [INFO]   -> Found value: N DIXIE AVE/KINNIARD RD
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentLocationCross' = "N DIXIE AVE\/KINNIARD RD"
[2026-03-17 05:28:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 05:28:40] [INFO]   -> Found value: PCFR
[2026-03-17 05:28:40] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 05:28:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 05:28:40] [INFO]   -> Found value: 2026-03-17 00:24:55
[2026-03-17 05:28:40] [INFO]   -> Set field 'timedispatch' = "2026-03-17 00:24:55"
[2026-03-17 05:28:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 05:28:40] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 05:28:40] [INFO]   -> No value found (null or empty)
[2026-03-17 05:28:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 05:28:40] [INFO]   -> Found value: 2026-03-17 00:28:30
[2026-03-17 05:28:40] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 00:28:30"
[2026-03-17 05:28:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 05:28:40] [INFO]   -> Found value: 2026-03-17 00:28:30
[2026-03-17 05:28:40] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-17 00:28:30"
[2026-03-17 05:28:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 05:28:40] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 05:28:40] [INFO]   -> Found value: 20260028849
[2026-03-17 05:28:40] [INFO]   -> Set field 'policeReportNumber' = "20260028849"
[2026-03-17 05:28:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 05:28:40] [INFO]   -> Found value: [LAW] LE NOT RESPONDING UNLESS REQUESTED  [03/17/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03/17/26 00:24...
[2026-03-17 05:28:40] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:28:40] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]"
[2026-03-17 05:28:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 05:28:40] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 05:28:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 05:28:40] [INFO]   -> Found value: DODSON BRANCH
[2026-03-17 05:28:40] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-17 05:28:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 05:28:40] [INFO]   -> Found value: RD
[2026-03-17 05:28:40] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 05:28:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 05:28:40] [INFO]   -> Found value: 2530-9 DODSON BRANCH RD
[2026-03-17 05:28:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2530-9 DODSON BRANCH RD"
[2026-03-17 05:28:40] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 05:28:40] [INFO] Concatenating street name and type
[2026-03-17 05:28:40] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-17 05:28:40] [INFO] Built locationCoordinates from lat/lng: 36.20018,-85.51266
[2026-03-17 05:28:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000715","dispatchRunNumber":"2026000715","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":2530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":9,"nERISIncidentLatitude":36.2001800000000031332092476077377796173095703125,"nERISIncidentLongitude":-85.5126599999999967849362292326986789703369140625,"alarm":"2026-03-17 00:24:32","dispatched":"2026-03-17 00:24:55","incidentLocationCross":"N DIXIE AVE\/KINNIARD RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 00:24:55","timeunitclear":"2026-03-17 00:28:30","timecanceledenroute":"2026-03-17 00:28:30","policeReportNumber":"20260028849","dispatchNotes":"[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","cADLog":"[LAW] LE NOT RESPONDING UNLESS REQUESTED  [03\/17\/26 00:27:07 RJGIPSON] [EMS] 27 YOF  [03\/17\/26 00:24:54 EALMENDAREZ] [EMS] VICTORIA CARR  [03\/17\/26 00:24:42 EALMENDAREZ] Event spawned from SEIZURE.  [03\/17\/2026 00:24:32 EALMENDAREZ] MULTIPLE SEIZURES TODAY SEMI RESPONSIVE  [03\/17\/26 00:24:28 EALMENDAREZ]]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"2530-9 DODSON BRANCH RD","locationCoordinates":"36.20018,-85.51266"}
[2026-03-17 05:28:40] [INFO] Number of extracted fields: 24
[2026-03-17 05:28:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 05:28: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-17 05:28:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 05:28:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 05:28:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 05:28:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 05:28: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-17 05:28: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-17 05:28:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 05:28:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 05:28:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 05:28:40] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-03-17 05:28:41] [INFO] Found existing Dispatch with cADNumber '2026000715', ID: 69b8e5abef352961c - will update instead of create
[2026-03-17 05:28:41] [INFO] Updated existing Dispatches record with ID: 69b8e5abef352961c
[2026-03-17 05:28:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052840.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260028849_20260317_052840.XML
[2026-03-17 05:28:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028849_20260317_052840.XML
[2026-03-17 12:53:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:53:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:53:16] [INFO] File size: 14529 bytes
[2026-03-17 12:53:16] [INFO] Created FTPFiles record with ID: 69b94ebcdd2a4c582
[2026-03-17 12:53:16] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:53:16] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17
[2026-03-17 12:53:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602.xml
[2026-03-17 12:53:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:53:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:53:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:53:45] [INFO] File size: 15500 bytes
[2026-03-17 12:53:46] [INFO] Created FTPFiles record with ID: 69b94eda4cbe96dbb
[2026-03-17 12:53:46] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:53:46] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752026.xml
[2026-03-17 12:53:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752026.xml
[2026-03-17 12:53:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:54:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:54:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:54:26] [INFO] File size: 17738 bytes
[2026-03-17 12:54:27] [INFO] Created FTPFiles record with ID: 69b94f0334f0835b5
[2026-03-17 12:54:27] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:54:27] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752067.xml
[2026-03-17 12:54:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752067.xml
[2026-03-17 12:54:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:54:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:54:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:54:33] [INFO] File size: 19327 bytes
[2026-03-17 12:54:34] [INFO] Created FTPFiles record with ID: 69b94f0a490a65cff
[2026-03-17 12:54:34] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:54:34] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752074.xml
[2026-03-17 12:54:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752074.xml
[2026-03-17 12:54:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:55:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:55:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:55:00] [INFO] File size: 21565 bytes
[2026-03-17 12:55:00] [INFO] Created FTPFiles record with ID: 69b94f2477ca14e37
[2026-03-17 12:55:00] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:55:00] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752100.xml
[2026-03-17 12:55:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752100.xml
[2026-03-17 12:55:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:58:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:58:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:58:01] [INFO] File size: 23795 bytes
[2026-03-17 12:58:01] [INFO] Created FTPFiles record with ID: 69b94fd95ae45aa54
[2026-03-17 12:58:01] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:58:01] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752281.xml
[2026-03-17 12:58:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752281.xml
[2026-03-17 12:58:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:58:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:58:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:58:26] [INFO] File size: 24743 bytes
[2026-03-17 12:58:27] [INFO] Created FTPFiles record with ID: 69b94ff3138640b88
[2026-03-17 12:58:27] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:58:27] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752307.xml
[2026-03-17 12:58:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752307.xml
[2026-03-17 12:58:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:58:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 12:58:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 12:58:52] [INFO] File size: 26973 bytes
[2026-03-17 12:58:52] [INFO] Created FTPFiles record with ID: 69b9500ca7e0d29bf
[2026-03-17 12:58:52] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 12:58:52] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752332.xml
[2026-03-17 12:58:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752332.xml
[2026-03-17 12:58:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 13:04:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 13:04:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 13:04:31] [INFO] File size: 26974 bytes
[2026-03-17 13:04:31] [INFO] Created FTPFiles record with ID: 69b9515fda1fb149b
[2026-03-17 13:04:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 13:04:31] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752671.xml
[2026-03-17 13:04:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752671.xml
[2026-03-17 13:04:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 13:04:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 13:04:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 13:04:33] [INFO] File size: 26974 bytes
[2026-03-17 13:04:34] [INFO] Created FTPFiles record with ID: 69b95161f264d8894
[2026-03-17 13:04:34] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 13:04:34] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773752674.xml
[2026-03-17 13:04:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773752674.xml
[2026-03-17 13:04:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 13:20:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 13:20:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml for user: 69320e6a9e3e5ef71
[2026-03-17 13:20:39] [INFO] File size: 27919 bytes
[2026-03-17 13:20:39] [INFO] Created FTPFiles record with ID: 69b955278274fbc3f
[2026-03-17 13:20:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-17 13:20:39] [INFO] File already exists in archive, using unique name: cfs_2026-017602_1773753639.xml
[2026-03-17 13:20:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-17/cfs_2026-017602_1773753639.xml
[2026-03-17 13:20:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-017602.xml
[2026-03-17 13:46:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134648.XML
[2026-03-17 13:46:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134648.XML for user: 68f1466aed072ad4a
[2026-03-17 13:46:48] [INFO] File size: 5320 bytes
[2026-03-17 13:46:48] [INFO] Created FTPFiles record with ID: 69b95b48c542e7a43
[2026-03-17 13:46:48] [INFO] About to extract fields from XML. File size: 5320 bytes
[2026-03-17 13:46:48] [INFO] Number of mappings: 28
[2026-03-17 13:46:48] [INFO] Starting XML parsing. Content length: 5320
[2026-03-17 13:46:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 13:46:48] [INFO] Processing 28 field mappings
[2026-03-17 13:46:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 13:46:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 13:46:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 13:46:48] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 13:46:48] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 13:46:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 13:46:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 13:46:48] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 13:46:48] [INFO]   -> Found value: 2026000716
[2026-03-17 13:46:48] [INFO]   -> Set field 'incidentInternalId' = "2026000716"
[2026-03-17 13:46:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000716"
[2026-03-17 13:46:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 13:46:48] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 13:46:48] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 13:46:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 13:46:48] [INFO]   -> Found value: 2102
[2026-03-17 13:46:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2102
[2026-03-17 13:46:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 13:46:48] [INFO]   -> Found value: TN
[2026-03-17 13:46:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 13:46:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 13:46:48] [INFO]   -> Found value: 38506
[2026-03-17 13:46:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 13:46:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 13:46:48] [INFO]   -> Found value: 36.08376
[2026-03-17 13:46:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0837599999999980582288117147982120513916015625
[2026-03-17 13:46:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 13:46:48] [INFO]   -> Found value: -85.55506
[2026-03-17 13:46:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.555059999999997444319888018071651458740234375
[2026-03-17 13:46:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 13:46:48] [INFO]   -> Found value: 2026-03-17 08:46:16
[2026-03-17 13:46:48] [INFO]   -> Set field 'alarm' = "2026-03-17 08:46:16"
[2026-03-17 13:46:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 13:46:48] [INFO]   -> Found value: 2026-03-17 08:46:45
[2026-03-17 13:46:48] [INFO]   -> Set field 'dispatched' = "2026-03-17 08:46:45"
[2026-03-17 13:46:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 13:46:48] [INFO]   -> Found value: HOOPER BURGESS RD
[2026-03-17 13:46:48] [INFO]   -> Set field 'incidentLocationCross' = "HOOPER BURGESS RD"
[2026-03-17 13:46:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 13:46:48] [INFO]   -> Found value: PCFR
[2026-03-17 13:46:48] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 13:46:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 13:46:48] [INFO]   -> Found value: 2026-03-17 08:46:45
[2026-03-17 13:46:48] [INFO]   -> Set field 'timedispatch' = "2026-03-17 08:46:45"
[2026-03-17 13:46:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 13:46:48] [INFO]   -> No value found (null or empty)
[2026-03-17 13:46:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 13:46:48] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 13:46:48] [INFO]   -> Found value: 20260028916
[2026-03-17 13:46:48] [INFO]   -> Set field 'policeReportNumber' = "20260028916"
[2026-03-17 13:46:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 13:46:48] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/17/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS. ...
[2026-03-17 13:46:48] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]"
[2026-03-17 13:46:48] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]"
[2026-03-17 13:46:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 13:46:48] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 13:46:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 13:46:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 13:46:48] [INFO]   -> Found value: AMBER MEADOWS
[2026-03-17 13:46:48] [INFO]   -> Set field 'streetName' = "AMBER MEADOWS"
[2026-03-17 13:46:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 13:46:48] [INFO]   -> Found value: RD
[2026-03-17 13:46:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 13:46:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 13:46:48] [INFO]   -> Found value: 2102 AMBER MEADOWS RD
[2026-03-17 13:46:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2102 AMBER MEADOWS RD"
[2026-03-17 13:46:48] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 13:46:48] [INFO] Concatenating street name and type
[2026-03-17 13:46:48] [INFO]   -> Combined street name: AMBER MEADOWS RD
[2026-03-17 13:46:48] [INFO] Built locationCoordinates from lat/lng: 36.08376,-85.55506
[2026-03-17 13:46:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000716","dispatchRunNumber":"2026000716","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":2102,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.0837599999999980582288117147982120513916015625,"nERISIncidentLongitude":-85.555059999999997444319888018071651458740234375,"alarm":"2026-03-17 08:46:16","dispatched":"2026-03-17 08:46:45","incidentLocationCross":"HOOPER BURGESS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 08:46:45","policeReportNumber":"20260028916","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"AMBER MEADOWS RD","incidentAddressTextVersionStreet":"2102 AMBER MEADOWS RD","locationCoordinates":"36.08376,-85.55506"}
[2026-03-17 13:46:48] [INFO] Number of extracted fields: 21
[2026-03-17 13:46:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 13:46:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 13:46:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 13:46:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 13:46:49] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 13:46:49] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 13:46:49] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 13:46:49] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 13:46:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 13:46:49] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 13:46:49] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 13:46:49] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 13:46:59] [INFO] Created new Dispatches record with ID: 69b95b49b1dd11089
[2026-03-17 13:46:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134648.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260028916_20260317_134648.XML
[2026-03-17 13:46:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134648.XML
[2026-03-17 13:48:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134839.XML
[2026-03-17 13:48:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134839.XML for user: 68f1466aed072ad4a
[2026-03-17 13:48:39] [INFO] File size: 6413 bytes
[2026-03-17 13:48:39] [INFO] Created FTPFiles record with ID: 69b95bb7d423c9180
[2026-03-17 13:48:39] [INFO] About to extract fields from XML. File size: 6413 bytes
[2026-03-17 13:48:39] [INFO] Number of mappings: 28
[2026-03-17 13:48:39] [INFO] Starting XML parsing. Content length: 6413
[2026-03-17 13:48:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 13:48:39] [INFO] Processing 28 field mappings
[2026-03-17 13:48:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 13:48:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 13:48:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 13:48:39] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 13:48:39] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 13:48:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 13:48:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 13:48:39] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 13:48:39] [INFO]   -> Found value: 2026000716
[2026-03-17 13:48:39] [INFO]   -> Set field 'incidentInternalId' = "2026000716"
[2026-03-17 13:48:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000716"
[2026-03-17 13:48:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 13:48:39] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 13:48:39] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 13:48:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 13:48:39] [INFO]   -> Found value: 2102
[2026-03-17 13:48:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2102
[2026-03-17 13:48:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 13:48:39] [INFO]   -> Found value: TN
[2026-03-17 13:48:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 13:48:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 13:48:39] [INFO]   -> Found value: 38506
[2026-03-17 13:48:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 13:48:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 13:48:39] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 13:48:39] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 13:48:39] [INFO]   -> Found value: 36.08376
[2026-03-17 13:48:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0837599999999980582288117147982120513916015625
[2026-03-17 13:48:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 13:48:39] [INFO]   -> Found value: -85.55506
[2026-03-17 13:48:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.555059999999997444319888018071651458740234375
[2026-03-17 13:48:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 13:48:39] [INFO]   -> Found value: 2026-03-17 08:46:16
[2026-03-17 13:48:39] [INFO]   -> Set field 'alarm' = "2026-03-17 08:46:16"
[2026-03-17 13:48:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 13:48:39] [INFO]   -> Found value: 2026-03-17 08:46:45
[2026-03-17 13:48:39] [INFO]   -> Set field 'dispatched' = "2026-03-17 08:46:45"
[2026-03-17 13:48:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 13:48:39] [INFO]   -> Found value: 2026-03-17 08:48:35
[2026-03-17 13:48:39] [INFO]   -> Set field 'enroute' = "2026-03-17 08:48:35"
[2026-03-17 13:48:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 13:48:39] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 13:48:39] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 13:48:39] [INFO]   -> Found value: HOOPER BURGESS RD
[2026-03-17 13:48:39] [INFO]   -> Set field 'incidentLocationCross' = "HOOPER BURGESS RD"
[2026-03-17 13:48:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 13:48:39] [INFO]   -> Found value: SQ11
[2026-03-17 13:48:39] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 13:48:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 13:48:39] [INFO]   -> Found value: 2026-03-17 08:48:32
[2026-03-17 13:48:39] [INFO]   -> Set field 'timedispatch' = "2026-03-17 08:48:32"
[2026-03-17 13:48:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 13:48:39] [INFO]   -> Found value: 2026-03-17 08:48:35
[2026-03-17 13:48:39] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 08:48:35"
[2026-03-17 13:48:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 13:48:39] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 13:48:39] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 13:48:39] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 13:48:39] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 13:48:39] [INFO]   -> Found value: 20260028916
[2026-03-17 13:48:39] [INFO]   -> Set field 'policeReportNumber' = "20260028916"
[2026-03-17 13:48:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 13:48:39] [INFO]   -> Found value: [EMS] CARPORT ENTRANCE  [03/17/26 08:47:38 KBEATY] [EMS] DOB 4/21/1975  [03/17/26 08:47:14 KBEATY] [...
[2026-03-17 13:48:39] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]"
[2026-03-17 13:48:39] [INFO]   -> Set field 'cADLog' = "[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]"
[2026-03-17 13:48:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 13:48:39] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 13:48:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 13:48:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 13:48:39] [INFO]   -> Found value: AMBER MEADOWS
[2026-03-17 13:48:39] [INFO]   -> Set field 'streetName' = "AMBER MEADOWS"
[2026-03-17 13:48:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 13:48:39] [INFO]   -> Found value: RD
[2026-03-17 13:48:39] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 13:48:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 13:48:39] [INFO]   -> Found value: 2102 AMBER MEADOWS RD
[2026-03-17 13:48:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2102 AMBER MEADOWS RD"
[2026-03-17 13:48:39] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 13:48:39] [INFO] Concatenating street name and type
[2026-03-17 13:48:39] [INFO]   -> Combined street name: AMBER MEADOWS RD
[2026-03-17 13:48:39] [INFO] Built locationCoordinates from lat/lng: 36.08376,-85.55506
[2026-03-17 13:48:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000716","dispatchRunNumber":"2026000716","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":2102,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.0837599999999980582288117147982120513916015625,"nERISIncidentLongitude":-85.555059999999997444319888018071651458740234375,"alarm":"2026-03-17 08:46:16","dispatched":"2026-03-17 08:46:45","enroute":"2026-03-17 08:48:35","incidentLocationCross":"HOOPER BURGESS RD","cADVehicleID":"SQ11","timedispatch":"2026-03-17 08:48:32","timeenroutetoscene":"2026-03-17 08:48:35","policeReportNumber":"20260028916","dispatchNotes":"[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]","cADLog":"[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"AMBER MEADOWS RD","incidentAddressTextVersionStreet":"2102 AMBER MEADOWS RD","locationCoordinates":"36.08376,-85.55506"}
[2026-03-17 13:48:39] [INFO] Number of extracted fields: 23
[2026-03-17 13:48:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 13:48:39] [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-17 13:48:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 13:48:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 13:48:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 13:48:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 13:48: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-17 13:48: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-17 13:48:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 13:48:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 13:48:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 13:48:40] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 13:48:40] [INFO] Found existing Dispatch with cADNumber '2026000716', ID: 69b95b49b1dd11089 - will update instead of create
[2026-03-17 13:48:40] [INFO] Updated existing Dispatches record with ID: 69b95b49b1dd11089
[2026-03-17 13:48:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134839.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260028916_20260317_134839.XML
[2026-03-17 13:48:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134839.XML
[2026-03-17 13:48:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134841.XML
[2026-03-17 13:48:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134841.XML for user: 68f1466aed072ad4a
[2026-03-17 13:48:41] [INFO] File size: 6413 bytes
[2026-03-17 13:48:41] [INFO] Created FTPFiles record with ID: 69b95bb975061eac7
[2026-03-17 13:48:41] [INFO] About to extract fields from XML. File size: 6413 bytes
[2026-03-17 13:48:41] [INFO] Number of mappings: 28
[2026-03-17 13:48:41] [INFO] Starting XML parsing. Content length: 6413
[2026-03-17 13:48:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 13:48:41] [INFO] Processing 28 field mappings
[2026-03-17 13:48:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 13:48:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 13:48:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 13:48:41] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 13:48:41] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 13:48:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 13:48:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 13:48:41] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 13:48:41] [INFO]   -> Found value: 2026000716
[2026-03-17 13:48:41] [INFO]   -> Set field 'incidentInternalId' = "2026000716"
[2026-03-17 13:48:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000716"
[2026-03-17 13:48:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 13:48:41] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 13:48:41] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 13:48:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 13:48:41] [INFO]   -> Found value: 2102
[2026-03-17 13:48:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2102
[2026-03-17 13:48:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 13:48:41] [INFO]   -> Found value: TN
[2026-03-17 13:48:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 13:48:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 13:48:41] [INFO]   -> Found value: 38506
[2026-03-17 13:48:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 13:48:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 13:48:41] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 13:48:41] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 13:48:41] [INFO]   -> Found value: 36.08376
[2026-03-17 13:48:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0837599999999980582288117147982120513916015625
[2026-03-17 13:48:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 13:48:41] [INFO]   -> Found value: -85.55506
[2026-03-17 13:48:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.555059999999997444319888018071651458740234375
[2026-03-17 13:48:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 13:48:41] [INFO]   -> Found value: 2026-03-17 08:46:16
[2026-03-17 13:48:41] [INFO]   -> Set field 'alarm' = "2026-03-17 08:46:16"
[2026-03-17 13:48:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 13:48:41] [INFO]   -> Found value: 2026-03-17 08:46:45
[2026-03-17 13:48:41] [INFO]   -> Set field 'dispatched' = "2026-03-17 08:46:45"
[2026-03-17 13:48:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 13:48:41] [INFO]   -> Found value: 2026-03-17 08:48:35
[2026-03-17 13:48:41] [INFO]   -> Set field 'enroute' = "2026-03-17 08:48:35"
[2026-03-17 13:48:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 13:48:41] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 13:48:41] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 13:48:41] [INFO]   -> Found value: HOOPER BURGESS RD
[2026-03-17 13:48:41] [INFO]   -> Set field 'incidentLocationCross' = "HOOPER BURGESS RD"
[2026-03-17 13:48:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 13:48:41] [INFO]   -> Found value: SQ11
[2026-03-17 13:48:41] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 13:48:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 13:48:41] [INFO]   -> Found value: 2026-03-17 08:48:32
[2026-03-17 13:48:41] [INFO]   -> Set field 'timedispatch' = "2026-03-17 08:48:32"
[2026-03-17 13:48:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 13:48:41] [INFO]   -> Found value: 2026-03-17 08:48:35
[2026-03-17 13:48:41] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 08:48:35"
[2026-03-17 13:48:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 13:48:41] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 13:48:41] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 13:48:41] [INFO]   -> No value found (null or empty)
[2026-03-17 13:48:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 13:48:41] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 13:48:41] [INFO]   -> Found value: 20260028916
[2026-03-17 13:48:41] [INFO]   -> Set field 'policeReportNumber' = "20260028916"
[2026-03-17 13:48:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 13:48:41] [INFO]   -> Found value: [EMS] CARPORT ENTRANCE  [03/17/26 08:47:38 KBEATY] [EMS] DOB 4/21/1975  [03/17/26 08:47:14 KBEATY] [...
[2026-03-17 13:48:41] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]"
[2026-03-17 13:48:41] [INFO]   -> Set field 'cADLog' = "[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]"
[2026-03-17 13:48:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 13:48:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 13:48:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 13:48:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 13:48:41] [INFO]   -> Found value: AMBER MEADOWS
[2026-03-17 13:48:41] [INFO]   -> Set field 'streetName' = "AMBER MEADOWS"
[2026-03-17 13:48:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 13:48:41] [INFO]   -> Found value: RD
[2026-03-17 13:48:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 13:48:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 13:48:41] [INFO]   -> Found value: 2102 AMBER MEADOWS RD
[2026-03-17 13:48:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2102 AMBER MEADOWS RD"
[2026-03-17 13:48:41] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 13:48:41] [INFO] Concatenating street name and type
[2026-03-17 13:48:41] [INFO]   -> Combined street name: AMBER MEADOWS RD
[2026-03-17 13:48:41] [INFO] Built locationCoordinates from lat/lng: 36.08376,-85.55506
[2026-03-17 13:48:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000716","dispatchRunNumber":"2026000716","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":2102,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.0837599999999980582288117147982120513916015625,"nERISIncidentLongitude":-85.555059999999997444319888018071651458740234375,"alarm":"2026-03-17 08:46:16","dispatched":"2026-03-17 08:46:45","enroute":"2026-03-17 08:48:35","incidentLocationCross":"HOOPER BURGESS RD","cADVehicleID":"SQ11","timedispatch":"2026-03-17 08:48:32","timeenroutetoscene":"2026-03-17 08:48:35","policeReportNumber":"20260028916","dispatchNotes":"[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]","cADLog":"[EMS] CARPORT ENTRANCE  [03\/17\/26 08:47:38 KBEATY] [EMS] DOB 4\/21\/1975  [03\/17\/26 08:47:14 KBEATY] [EMS] JASON ANDERSON  [03\/17\/26 08:47:04 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 08:46:22 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 08:46:16 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"AMBER MEADOWS RD","incidentAddressTextVersionStreet":"2102 AMBER MEADOWS RD","locationCoordinates":"36.08376,-85.55506"}
[2026-03-17 13:48:41] [INFO] Number of extracted fields: 23
[2026-03-17 13:48:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 13:48:41] [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-17 13:48:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 13:48:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 13:48:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 13:48:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 13:48: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-17 13:48: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-17 13:48:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 13:48:41] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 13:48:41] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 13:48:42] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 13:48:42] [INFO] Found existing Dispatch with cADNumber '2026000716', ID: 69b95b49b1dd11089 - will update instead of create
[2026-03-17 13:48:42] [INFO] Updated existing Dispatches record with ID: 69b95b49b1dd11089
[2026-03-17 13:48:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134841.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260028916_20260317_134841.XML
[2026-03-17 13:48:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260028916_20260317_134841.XML
[2026-03-17 14:19:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08055.xml
[2026-03-17 14:19:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08055.xml for user: 68d56363ec1209189
[2026-03-17 14:19:28] [INFO] File size: 1989 bytes
[2026-03-17 14:19:28] [INFO] Created FTPFiles record with ID: 69b962f0e5e7ce3c5
[2026-03-17 14:19:28] [INFO] About to extract fields from XML. File size: 1989 bytes
[2026-03-17 14:19:28] [INFO] Number of mappings: 21
[2026-03-17 14:19:28] [INFO] Starting XML parsing. Content length: 1989
[2026-03-17 14:19:28] [INFO] XML parsed successfully. Root element: Incident
[2026-03-17 14:19:28] [INFO] Processing 21 field mappings
[2026-03-17 14:19:28] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-17 14:19:28] [INFO]   -> Found value: 26-08055
[2026-03-17 14:19:28] [INFO]   -> Set field 'dispatchRunNumber' = "26-08055"
[2026-03-17 14:19:28] [INFO]   -> Set field 'cADNumber' = "26-08055"
[2026-03-17 14:19:28] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-17 14:19:28] [INFO]   -> Found value: 606
[2026-03-17 14:19:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 606
[2026-03-17 14:19:28] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-17 14:19:28] [INFO]   -> Found value: TANGLEWOOD
[2026-03-17 14:19:28] [INFO]   -> Set field 'streetName' = "TANGLEWOOD"
[2026-03-17 14:19:28] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-17 14:19:28] [INFO]   -> No value found (null or empty)
[2026-03-17 14:19:28] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-17 14:19:28] [INFO]   -> Found value: SIKESTON
[2026-03-17 14:19:28] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-17 14:19:28] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-17 14:19:28] [INFO]   -> No value found (null or empty)
[2026-03-17 14:19:28] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-17 14:19:28] [INFO]   -> Found value: MO
[2026-03-17 14:19:28] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-17 14:19:28] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-17 14:19:28] [INFO]   -> Found value: 63801
[2026-03-17 14:19:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-17 14:19:28] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-17 14:19:28] [INFO]   -> Found value: 0
[2026-03-17 14:19:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-17 14:19:28] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-17 14:19:28] [INFO]   -> Found value: 0
[2026-03-17 14:19:28] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-17 14:19:28] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-17 14:19:28] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-03-17 14:19:28] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-03-17 14:19:28] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-17 14:19:28] [INFO]   -> Found value: 03-17-2026 09:12:33|GENERAL FIRE ALARM 
MIKE CONWAY 573-471-1115
 03-17-2026 09:18:20|ACCIDENTAL 03-...
[2026-03-17 14:19:28] [INFO]   -> Set field 'dispatchNotes' = "03-17-2026 09:12:33|GENERAL FIRE ALARM \nMIKE CONWAY 573-471-1115\n 03-17-2026 09:18:20|ACCIDENTAL 03-17-2026 09:18:28|DUST GOT INTO THE SMOKE ALARM"
[2026-03-17 14:19:28] [INFO]   -> Set field 'cADLog' = "03-17-2026 09:12:33|GENERAL FIRE ALARM \nMIKE CONWAY 573-471-1115\n 03-17-2026 09:18:20|ACCIDENTAL 03-17-2026 09:18:28|DUST GOT INTO THE SMOKE ALARM"
[2026-03-17 14:19:28] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-17 14:19:28] [INFO]   -> Found value: 03-17-2026T09:14:21
[2026-03-17 14:19:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T09:14:21
[2026-03-17 14:19:28] [ERROR] Error formatting datetime '2026-17-03T09:14:21': Failed to parse time string (2026-17-03T09:14:21) at position 6 (7): Unexpected character
[2026-03-17 14:19:28] [INFO]   -> Set field 'alarm' = null
[2026-03-17 14:19:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T09:14:21
[2026-03-17 14:19:28] [ERROR] Error formatting datetime '2026-17-03T09:14:21': Failed to parse time string (2026-17-03T09:14:21) at position 6 (7): Unexpected character
[2026-03-17 14:19:28] [INFO]   -> Set field 'dispatched' = null
[2026-03-17 14:19:28] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-17 14:19:28] [INFO]   -> No value found (null or empty)
[2026-03-17 14:19:28] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-17 14:19:28] [INFO]   -> No value found (null or empty)
[2026-03-17 14:19:28] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-17 14:19:28] [INFO]   -> Found value: ENG2
[2026-03-17 14:19:28] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-17 14:19:28] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-17 14:19:28] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-17 14:19:28] [INFO]   -> Found value: 03-17-2026T09:16:11
[2026-03-17 14:19:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T09:16:11
[2026-03-17 14:19:28] [ERROR] Error formatting datetime '2026-17-03T09:16:11': Failed to parse time string (2026-17-03T09:16:11) at position 6 (7): Unexpected character
[2026-03-17 14:19:28] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-17 14:19:28] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-17 14:19:28] [INFO]   -> No value found (null or empty)
[2026-03-17 14:19:28] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-17 14:19:28] [INFO]   -> Found value: 03-17-2026T09:18:32
[2026-03-17 14:19:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T09:18:32
[2026-03-17 14:19:28] [ERROR] Error formatting datetime '2026-17-03T09:18:32': Failed to parse time string (2026-17-03T09:18:32) at position 6 (7): Unexpected character
[2026-03-17 14:19:28] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-17 14:19:28] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-17 14:19:28] [INFO]   -> Found value: 03-17-2026T09:16:08
[2026-03-17 14:19:28] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T09:16:08
[2026-03-17 14:19:28] [ERROR] Error formatting datetime '2026-17-03T09:16:08': Failed to parse time string (2026-17-03T09:16:08) at position 6 (7): Unexpected character
[2026-03-17 14:19:28] [INFO]   -> Set field 'timedispatch' = null
[2026-03-17 14:19:28] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-17 14:19:28] [INFO]   -> Found value: SDPSFD
[2026-03-17 14:19:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-17 14:19:28] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-17 14:19:28] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-17 14:19:28] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08055","cADNumber":"26-08055","incidentLocationStreetNumber":606,"streetName":"TANGLEWOOD","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"03-17-2026 09:12:33|GENERAL FIRE ALARM \nMIKE CONWAY 573-471-1115\n 03-17-2026 09:18:20|ACCIDENTAL 03-17-2026 09:18:28|DUST GOT INTO THE SMOKE ALARM","cADLog":"03-17-2026 09:12:33|GENERAL FIRE ALARM \nMIKE CONWAY 573-471-1115\n 03-17-2026 09:18:20|ACCIDENTAL 03-17-2026 09:18:28|DUST GOT INTO THE SMOKE ALARM","alarm":null,"dispatched":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-17 14:19:28] [INFO] Number of extracted fields: 21
[2026-03-17 14:19:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-17 14: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-17 14:19:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-17 14:19:28] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-17 14:19:29] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-17 14:19:30] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-17 14:19:30] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-17 14:19:30] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-17 14:19:31] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-03-17 14:19:33] [INFO] Created new Dispatches record with ID: 69b962f3734a79f38
[2026-03-17 14:19:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08055.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17/SDPSFD_26-08055.xml
[2026-03-17 14:19:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08055.xml
[2026-03-17 14:24:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142457.XML
[2026-03-17 14:24:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142457.XML for user: 68f1466aed072ad4a
[2026-03-17 14:24:57] [INFO] File size: 4651 bytes
[2026-03-17 14:24:58] [INFO] Created FTPFiles record with ID: 69b9643a46153d4f4
[2026-03-17 14:24:58] [INFO] About to extract fields from XML. File size: 4651 bytes
[2026-03-17 14:24:58] [INFO] Number of mappings: 28
[2026-03-17 14:24:58] [INFO] Starting XML parsing. Content length: 4651
[2026-03-17 14:24:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 14:24:58] [INFO] Processing 28 field mappings
[2026-03-17 14:24:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 14:24:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 14:24:58] [INFO]   -> Found value: BFD
[2026-03-17 14:24:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-17 14:24:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 14:24:58] [INFO]   -> Found value: 2026000090
[2026-03-17 14:24:58] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-17 14:24:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-17 14:24:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 14:24:58] [INFO]   -> Found value: CARBON MONOXIDE ALARM
[2026-03-17 14:24:58] [INFO]   -> Set field 'incidentTypeValue1' = "CARBON MONOXIDE ALARM"
[2026-03-17 14:24:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 14:24:58] [INFO]   -> Found value: 125
[2026-03-17 14:24:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-17 14:24:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 14:24:58] [INFO]   -> Found value: TN
[2026-03-17 14:24:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 14:24:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 14:24:58] [INFO]   -> Found value: 38544
[2026-03-17 14:24:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 14:24:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 14:24:58] [INFO]   -> Found value: TACO BELL
[2026-03-17 14:24:58] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-17 14:24:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 14:24:58] [INFO]   -> Found value: 36.14003
[2026-03-17 14:24:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-17 14:24:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 14:24:58] [INFO]   -> Found value: -85.63156
[2026-03-17 14:24:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-17 14:24:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 14:24:58] [INFO]   -> Found value: 2026-03-17 09:23:47
[2026-03-17 14:24:58] [INFO]   -> Set field 'alarm' = "2026-03-17 09:23:47"
[2026-03-17 14:24:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 14:24:58] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:24:58] [INFO]   -> Set field 'dispatched' = "2026-03-17 09:24:51"
[2026-03-17 14:24:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 14:24:58] [INFO]   -> Found value: FIRST AVE S
[2026-03-17 14:24:58] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-17 14:24:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 14:24:58] [INFO]   -> Found value: BEN2
[2026-03-17 14:24:58] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 14:24:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 14:24:58] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:24:58] [INFO]   -> Set field 'timedispatch' = "2026-03-17 09:24:51"
[2026-03-17 14:24:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 14:24:58] [INFO]   -> Found value: 20260028936
[2026-03-17 14:24:58] [INFO]   -> Set field 'policeReportNumber' = "20260028936"
[2026-03-17 14:24:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 14:24:58] [INFO]   -> No value found (null or empty)
[2026-03-17 14:24:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 14:24:58] [INFO]   -> Found value: BAXTER
[2026-03-17 14:24:58] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 14:24:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 14:24:58] [INFO]   -> Found value: FAST
[2026-03-17 14:24:58] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-17 14:24:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 14:24:58] [INFO]   -> Found value: LN
[2026-03-17 14:24:58] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-17 14:24:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 14:24:58] [INFO]   -> Found value: 125 FAST LN
[2026-03-17 14:24:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-17 14:24:58] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-17 14:24:58] [INFO] Concatenating street name and type
[2026-03-17 14:24:58] [INFO]   -> Combined street name: FAST LN
[2026-03-17 14:24:58] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-17 14:24:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"CARBON MONOXIDE ALARM","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-17 09:23:47","dispatched":"2026-03-17 09:24:51","incidentLocationCross":"FIRST AVE S","cADVehicleID":"BEN2","timedispatch":"2026-03-17 09:24:51","policeReportNumber":"20260028936","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-17 14:24:58] [INFO] Number of extracted fields: 20
[2026-03-17 14:24:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-17 14:24:58] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-17 14:24:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-17 14:24:58] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 14:24:58] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 14:24:58] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 14:24:58] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 14:24:58] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 14:24:58] [INFO] Found existing IncidentTypeMapping with ID: 6945b36b9dc9f5878
[2026-03-17 14:25:04] [INFO] Created new Dispatches record with ID: 69b9643b4eaee34e2
[2026-03-17 14:25:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142457.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260028936_20260317_142457.XML
[2026-03-17 14:25:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142457.XML
[2026-03-17 14:25:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458.XML
[2026-03-17 14:25:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458.XML for user: 68f1466aed072ad4a
[2026-03-17 14:25:04] [INFO] File size: 4651 bytes
[2026-03-17 14:25:04] [INFO] Created FTPFiles record with ID: 69b9644061db6a094
[2026-03-17 14:25:04] [INFO] About to extract fields from XML. File size: 4651 bytes
[2026-03-17 14:25:04] [INFO] Number of mappings: 28
[2026-03-17 14:25:04] [INFO] Starting XML parsing. Content length: 4651
[2026-03-17 14:25:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 14:25:04] [INFO] Processing 28 field mappings
[2026-03-17 14:25:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 14:25:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 14:25:04] [INFO]   -> Found value: BFD
[2026-03-17 14:25:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-17 14:25:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 14:25:04] [INFO]   -> Found value: 2026000090
[2026-03-17 14:25:04] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-17 14:25:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-17 14:25:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 14:25:04] [INFO]   -> Found value: CARBON MONOXIDE ALARM
[2026-03-17 14:25:04] [INFO]   -> Set field 'incidentTypeValue1' = "CARBON MONOXIDE ALARM"
[2026-03-17 14:25:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 14:25:04] [INFO]   -> Found value: 125
[2026-03-17 14:25:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-17 14:25:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 14:25:04] [INFO]   -> Found value: TN
[2026-03-17 14:25:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 14:25:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 14:25:04] [INFO]   -> Found value: 38544
[2026-03-17 14:25:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 14:25:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 14:25:04] [INFO]   -> Found value: TACO BELL
[2026-03-17 14:25:04] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-17 14:25:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 14:25:04] [INFO]   -> Found value: 36.14003
[2026-03-17 14:25:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-17 14:25:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 14:25:04] [INFO]   -> Found value: -85.63156
[2026-03-17 14:25:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-17 14:25:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 14:25:04] [INFO]   -> Found value: 2026-03-17 09:23:47
[2026-03-17 14:25:04] [INFO]   -> Set field 'alarm' = "2026-03-17 09:23:47"
[2026-03-17 14:25:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 14:25:04] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:04] [INFO]   -> Set field 'dispatched' = "2026-03-17 09:24:51"
[2026-03-17 14:25:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 14:25:04] [INFO]   -> Found value: FIRST AVE S
[2026-03-17 14:25:04] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-17 14:25:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 14:25:04] [INFO]   -> Found value: BEN2
[2026-03-17 14:25:04] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 14:25:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 14:25:04] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:04] [INFO]   -> Set field 'timedispatch' = "2026-03-17 09:24:51"
[2026-03-17 14:25:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 14:25:04] [INFO]   -> Found value: 20260028936
[2026-03-17 14:25:04] [INFO]   -> Set field 'policeReportNumber' = "20260028936"
[2026-03-17 14:25:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 14:25:04] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 14:25:04] [INFO]   -> Found value: BAXTER
[2026-03-17 14:25:04] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 14:25:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 14:25:04] [INFO]   -> Found value: FAST
[2026-03-17 14:25:04] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-17 14:25:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 14:25:04] [INFO]   -> Found value: LN
[2026-03-17 14:25:04] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-17 14:25:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 14:25:04] [INFO]   -> Found value: 125 FAST LN
[2026-03-17 14:25:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-17 14:25:04] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-17 14:25:04] [INFO] Concatenating street name and type
[2026-03-17 14:25:04] [INFO]   -> Combined street name: FAST LN
[2026-03-17 14:25:04] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-17 14:25:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"CARBON MONOXIDE ALARM","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-17 09:23:47","dispatched":"2026-03-17 09:24:51","incidentLocationCross":"FIRST AVE S","cADVehicleID":"BEN2","timedispatch":"2026-03-17 09:24:51","policeReportNumber":"20260028936","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-17 14:25:04] [INFO] Number of extracted fields: 20
[2026-03-17 14:25:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-17 14:25:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-17 14:25:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-17 14:25:04] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 14:25:04] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 14:25:04] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 14:25:04] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 14:25:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 14:25:05] [INFO] Found existing IncidentTypeMapping with ID: 6945b36b9dc9f5878
[2026-03-17 14:25:05] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b9643b4eaee34e2 - will update instead of create
[2026-03-17 14:25:05] [INFO] Updated existing Dispatches record with ID: 69b9643b4eaee34e2
[2026-03-17 14:25:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260028936_20260317_142458.XML
[2026-03-17 14:25:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458.XML
[2026-03-17 14:25:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458_1.XML
[2026-03-17 14:25:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458_1.XML for user: 68f1466aed072ad4a
[2026-03-17 14:25:05] [INFO] File size: 4651 bytes
[2026-03-17 14:25:05] [INFO] Created FTPFiles record with ID: 69b96441d9a19e456
[2026-03-17 14:25:05] [INFO] About to extract fields from XML. File size: 4651 bytes
[2026-03-17 14:25:05] [INFO] Number of mappings: 28
[2026-03-17 14:25:05] [INFO] Starting XML parsing. Content length: 4651
[2026-03-17 14:25:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 14:25:05] [INFO] Processing 28 field mappings
[2026-03-17 14:25:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 14:25:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 14:25:05] [INFO]   -> Found value: BFD
[2026-03-17 14:25:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-17 14:25:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 14:25:05] [INFO]   -> Found value: 2026000090
[2026-03-17 14:25:05] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-17 14:25:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-17 14:25:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 14:25:05] [INFO]   -> Found value: CARBON MONOXIDE ALARM
[2026-03-17 14:25:05] [INFO]   -> Set field 'incidentTypeValue1' = "CARBON MONOXIDE ALARM"
[2026-03-17 14:25:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 14:25:05] [INFO]   -> Found value: 125
[2026-03-17 14:25:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-17 14:25:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 14:25:05] [INFO]   -> Found value: TN
[2026-03-17 14:25:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 14:25:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 14:25:05] [INFO]   -> Found value: 38544
[2026-03-17 14:25:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 14:25:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 14:25:05] [INFO]   -> Found value: TACO BELL
[2026-03-17 14:25:05] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-17 14:25:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 14:25:05] [INFO]   -> Found value: 36.14003
[2026-03-17 14:25:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-17 14:25:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 14:25:05] [INFO]   -> Found value: -85.63156
[2026-03-17 14:25:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-17 14:25:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 14:25:05] [INFO]   -> Found value: 2026-03-17 09:23:47
[2026-03-17 14:25:05] [INFO]   -> Set field 'alarm' = "2026-03-17 09:23:47"
[2026-03-17 14:25:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 14:25:05] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:05] [INFO]   -> Set field 'dispatched' = "2026-03-17 09:24:51"
[2026-03-17 14:25:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 14:25:05] [INFO]   -> Found value: FIRST AVE S
[2026-03-17 14:25:05] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-17 14:25:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 14:25:05] [INFO]   -> Found value: BEN2
[2026-03-17 14:25:05] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 14:25:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 14:25:05] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:05] [INFO]   -> Set field 'timedispatch' = "2026-03-17 09:24:51"
[2026-03-17 14:25:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 14:25:05] [INFO]   -> Found value: 20260028936
[2026-03-17 14:25:05] [INFO]   -> Set field 'policeReportNumber' = "20260028936"
[2026-03-17 14:25:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 14:25:05] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 14:25:05] [INFO]   -> Found value: BAXTER
[2026-03-17 14:25:05] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 14:25:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 14:25:05] [INFO]   -> Found value: FAST
[2026-03-17 14:25:05] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-17 14:25:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 14:25:05] [INFO]   -> Found value: LN
[2026-03-17 14:25:05] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-17 14:25:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 14:25:05] [INFO]   -> Found value: 125 FAST LN
[2026-03-17 14:25:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-17 14:25:05] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-17 14:25:05] [INFO] Concatenating street name and type
[2026-03-17 14:25:05] [INFO]   -> Combined street name: FAST LN
[2026-03-17 14:25:05] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-17 14:25:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"CARBON MONOXIDE ALARM","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-17 09:23:47","dispatched":"2026-03-17 09:24:51","incidentLocationCross":"FIRST AVE S","cADVehicleID":"BEN2","timedispatch":"2026-03-17 09:24:51","policeReportNumber":"20260028936","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-17 14:25:05] [INFO] Number of extracted fields: 20
[2026-03-17 14:25:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-17 14:25:05] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-17 14:25:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-17 14:25:05] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 14:25:06] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 14:25:06] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 14:25:06] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 14:25:06] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 14:25:06] [INFO] Found existing IncidentTypeMapping with ID: 6945b36b9dc9f5878
[2026-03-17 14:25:06] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b9643b4eaee34e2 - will update instead of create
[2026-03-17 14:25:06] [INFO] Updated existing Dispatches record with ID: 69b9643b4eaee34e2
[2026-03-17 14:25:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260028936_20260317_142458_1.XML
[2026-03-17 14:25:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142458_1.XML
[2026-03-17 14:25:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142539.XML
[2026-03-17 14:25:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142539.XML for user: 68f1466aed072ad4a
[2026-03-17 14:25:39] [INFO] File size: 4718 bytes
[2026-03-17 14:25:39] [INFO] Created FTPFiles record with ID: 69b96463de22168ab
[2026-03-17 14:25:39] [INFO] About to extract fields from XML. File size: 4718 bytes
[2026-03-17 14:25:39] [INFO] Number of mappings: 28
[2026-03-17 14:25:39] [INFO] Starting XML parsing. Content length: 4718
[2026-03-17 14:25:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 14:25:39] [INFO] Processing 28 field mappings
[2026-03-17 14:25:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 14:25:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 14:25:39] [INFO]   -> Found value: BFD
[2026-03-17 14:25:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-17 14:25:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 14:25:39] [INFO]   -> Found value: 2026000090
[2026-03-17 14:25:39] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-17 14:25:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-17 14:25:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 14:25:39] [INFO]   -> Found value: CARBON MONOXIDE ALARM
[2026-03-17 14:25:39] [INFO]   -> Set field 'incidentTypeValue1' = "CARBON MONOXIDE ALARM"
[2026-03-17 14:25:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 14:25:39] [INFO]   -> Found value: 125
[2026-03-17 14:25:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-17 14:25:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 14:25:39] [INFO]   -> Found value: TN
[2026-03-17 14:25:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 14:25:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 14:25:39] [INFO]   -> Found value: 38544
[2026-03-17 14:25:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 14:25:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 14:25:39] [INFO]   -> Found value: TACO BELL
[2026-03-17 14:25:39] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-17 14:25:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 14:25:39] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 14:25:39] [INFO]   -> Found value: 36.14003
[2026-03-17 14:25:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-17 14:25:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 14:25:39] [INFO]   -> Found value: -85.63156
[2026-03-17 14:25:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-17 14:25:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 14:25:39] [INFO]   -> Found value: 2026-03-17 09:23:47
[2026-03-17 14:25:39] [INFO]   -> Set field 'alarm' = "2026-03-17 09:23:47"
[2026-03-17 14:25:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 14:25:39] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:39] [INFO]   -> Set field 'dispatched' = "2026-03-17 09:24:51"
[2026-03-17 14:25:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 14:25:39] [INFO]   -> Found value: 2026-03-17 09:25:29
[2026-03-17 14:25:39] [INFO]   -> Set field 'enroute' = "2026-03-17 09:25:29"
[2026-03-17 14:25:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 14:25:39] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 14:25:39] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 14:25:39] [INFO]   -> Found value: FIRST AVE S
[2026-03-17 14:25:39] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-17 14:25:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 14:25:39] [INFO]   -> Found value: BEN2
[2026-03-17 14:25:39] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 14:25:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 14:25:39] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:39] [INFO]   -> Set field 'timedispatch' = "2026-03-17 09:24:51"
[2026-03-17 14:25:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 14:25:39] [INFO]   -> Found value: 2026-03-17 09:25:29
[2026-03-17 14:25:39] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 09:25:29"
[2026-03-17 14:25:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 14:25:39] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 14:25:39] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 14:25:39] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 14:25:39] [INFO]   -> Found value: 20260028936
[2026-03-17 14:25:39] [INFO]   -> Set field 'policeReportNumber' = "20260028936"
[2026-03-17 14:25:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 14:25:39] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 14:25:39] [INFO]   -> Found value: BAXTER
[2026-03-17 14:25:39] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 14:25:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 14:25:39] [INFO]   -> Found value: FAST
[2026-03-17 14:25:39] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-17 14:25:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 14:25:39] [INFO]   -> Found value: LN
[2026-03-17 14:25:39] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-17 14:25:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 14:25:39] [INFO]   -> Found value: 125 FAST LN
[2026-03-17 14:25:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-17 14:25:39] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 14:25:39] [INFO] Concatenating street name and type
[2026-03-17 14:25:39] [INFO]   -> Combined street name: FAST LN
[2026-03-17 14:25:39] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-17 14:25:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"CARBON MONOXIDE ALARM","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-17 09:23:47","dispatched":"2026-03-17 09:24:51","enroute":"2026-03-17 09:25:29","incidentLocationCross":"FIRST AVE S","cADVehicleID":"BEN2","timedispatch":"2026-03-17 09:24:51","timeenroutetoscene":"2026-03-17 09:25:29","policeReportNumber":"20260028936","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-17 14:25:39] [INFO] Number of extracted fields: 22
[2026-03-17 14:25:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-17 14:25:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-17 14:25:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-17 14:25:39] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 14:25:40] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 14:25:40] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 14:25:40] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 14:25:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 14:25:40] [INFO] Found existing IncidentTypeMapping with ID: 6945b36b9dc9f5878
[2026-03-17 14:25:40] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b9643b4eaee34e2 - will update instead of create
[2026-03-17 14:25:41] [INFO] Updated existing Dispatches record with ID: 69b9643b4eaee34e2
[2026-03-17 14:25:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142539.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260028936_20260317_142539.XML
[2026-03-17 14:25:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142539.XML
[2026-03-17 14:25:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142541.XML
[2026-03-17 14:25:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142541.XML for user: 68f1466aed072ad4a
[2026-03-17 14:25:41] [INFO] File size: 4718 bytes
[2026-03-17 14:25:41] [INFO] Created FTPFiles record with ID: 69b964659ca94f0b5
[2026-03-17 14:25:41] [INFO] About to extract fields from XML. File size: 4718 bytes
[2026-03-17 14:25:41] [INFO] Number of mappings: 28
[2026-03-17 14:25:41] [INFO] Starting XML parsing. Content length: 4718
[2026-03-17 14:25:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 14:25:41] [INFO] Processing 28 field mappings
[2026-03-17 14:25:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 14:25:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 14:25:41] [INFO]   -> Found value: BFD
[2026-03-17 14:25:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-03-17 14:25:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 14:25:41] [INFO]   -> Found value: 2026000090
[2026-03-17 14:25:41] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-03-17 14:25:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-03-17 14:25:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 14:25:41] [INFO]   -> Found value: CARBON MONOXIDE ALARM
[2026-03-17 14:25:41] [INFO]   -> Set field 'incidentTypeValue1' = "CARBON MONOXIDE ALARM"
[2026-03-17 14:25:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 14:25:41] [INFO]   -> Found value: 125
[2026-03-17 14:25:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 125
[2026-03-17 14:25:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 14:25:41] [INFO]   -> Found value: TN
[2026-03-17 14:25:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 14:25:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 14:25:41] [INFO]   -> Found value: 38544
[2026-03-17 14:25:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 14:25:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 14:25:41] [INFO]   -> Found value: TACO BELL
[2026-03-17 14:25:41] [INFO]   -> Set field 'businessName' = "TACO BELL"
[2026-03-17 14:25:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 14:25:41] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 14:25:41] [INFO]   -> Found value: 36.14003
[2026-03-17 14:25:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14003000000000298541635856963694095611572265625
[2026-03-17 14:25:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 14:25:41] [INFO]   -> Found value: -85.63156
[2026-03-17 14:25:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6315599999999932379068923182785511016845703125
[2026-03-17 14:25:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 14:25:41] [INFO]   -> Found value: 2026-03-17 09:23:47
[2026-03-17 14:25:41] [INFO]   -> Set field 'alarm' = "2026-03-17 09:23:47"
[2026-03-17 14:25:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 14:25:41] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:41] [INFO]   -> Set field 'dispatched' = "2026-03-17 09:24:51"
[2026-03-17 14:25:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 14:25:41] [INFO]   -> Found value: 2026-03-17 09:25:29
[2026-03-17 14:25:41] [INFO]   -> Set field 'enroute' = "2026-03-17 09:25:29"
[2026-03-17 14:25:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 14:25:41] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 14:25:41] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 14:25:41] [INFO]   -> Found value: FIRST AVE S
[2026-03-17 14:25:41] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S"
[2026-03-17 14:25:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 14:25:41] [INFO]   -> Found value: BEN2
[2026-03-17 14:25:41] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 14:25:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 14:25:41] [INFO]   -> Found value: 2026-03-17 09:24:51
[2026-03-17 14:25:41] [INFO]   -> Set field 'timedispatch' = "2026-03-17 09:24:51"
[2026-03-17 14:25:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 14:25:41] [INFO]   -> Found value: 2026-03-17 09:25:29
[2026-03-17 14:25:41] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 09:25:29"
[2026-03-17 14:25:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 14:25:41] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 14:25:41] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 14:25:41] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 14:25:41] [INFO]   -> Found value: 20260028936
[2026-03-17 14:25:41] [INFO]   -> Set field 'policeReportNumber' = "20260028936"
[2026-03-17 14:25:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 14:25:41] [INFO]   -> No value found (null or empty)
[2026-03-17 14:25:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 14:25:41] [INFO]   -> Found value: BAXTER
[2026-03-17 14:25:41] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 14:25:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 14:25:41] [INFO]   -> Found value: FAST
[2026-03-17 14:25:41] [INFO]   -> Set field 'streetName' = "FAST"
[2026-03-17 14:25:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 14:25:41] [INFO]   -> Found value: LN
[2026-03-17 14:25:41] [INFO]   -> Set field 'streetType' = "LN"
[2026-03-17 14:25:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 14:25:41] [INFO]   -> Found value: 125 FAST LN
[2026-03-17 14:25:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "125 FAST LN"
[2026-03-17 14:25:41] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 14:25:41] [INFO] Concatenating street name and type
[2026-03-17 14:25:41] [INFO]   -> Combined street name: FAST LN
[2026-03-17 14:25:41] [INFO] Built locationCoordinates from lat/lng: 36.14003,-85.63156
[2026-03-17 14:25:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"CARBON MONOXIDE ALARM","incidentLocationStreetNumber":125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"TACO BELL","nERISIncidentLatitude":36.14003000000000298541635856963694095611572265625,"nERISIncidentLongitude":-85.6315599999999932379068923182785511016845703125,"alarm":"2026-03-17 09:23:47","dispatched":"2026-03-17 09:24:51","enroute":"2026-03-17 09:25:29","incidentLocationCross":"FIRST AVE S","cADVehicleID":"BEN2","timedispatch":"2026-03-17 09:24:51","timeenroutetoscene":"2026-03-17 09:25:29","policeReportNumber":"20260028936","incidentLocationCity":"BAXTER","streetName":"FAST LN","incidentAddressTextVersionStreet":"125 FAST LN","locationCoordinates":"36.14003,-85.63156"}
[2026-03-17 14:25:41] [INFO] Number of extracted fields: 22
[2026-03-17 14:25:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-03-17 14:25:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-17 14:25:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-03-17 14:25:41] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 14:25:41] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 14:25:41] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 14:25:41] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 14:25:42] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 14:25:42] [INFO] Found existing IncidentTypeMapping with ID: 6945b36b9dc9f5878
[2026-03-17 14:25:42] [INFO] Found existing Dispatch with cADNumber '2026000090', ID: 69b9643b4eaee34e2 - will update instead of create
[2026-03-17 14:25:42] [INFO] Updated existing Dispatches record with ID: 69b9643b4eaee34e2
[2026-03-17 14:25:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142541.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260028936_20260317_142541.XML
[2026-03-17 14:25:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260028936_20260317_142541.XML
[2026-03-17 16:06:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-24467_20260317120605407.xml
[2026-03-17 16:06:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-24467_20260317120605407.xml for user: 68920395733981a47
[2026-03-17 16:06:05] [INFO] File size: 35819 bytes
[2026-03-17 16:06:06] [INFO] Created FTPFiles record with ID: 69b97bee3aa58a4d5
[2026-03-17 16:06:06] [INFO] About to extract fields from XML. File size: 35819 bytes
[2026-03-17 16:06:06] [INFO] Number of mappings: 24
[2026-03-17 16:06:06] [INFO] Starting XML parsing. Content length: 35819
[2026-03-17 16:06:06] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-17 16:06:06] [INFO] Processing 24 field mappings
[2026-03-17 16:06:06] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-17 16:06:06] [INFO]   -> Found value: ACC1-MVC Injuries
[2026-03-17 16:06:06] [INFO]   -> Set field 'incidentTypeValue1' = "ACC1-MVC Injuries"
[2026-03-17 16:06:06] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-17 16:06:06] [INFO]   -> No value found (null or empty)
[2026-03-17 16:06:06] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-17 16:06:06] [INFO]   -> Found value: 37343
[2026-03-17 16:06:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37343
[2026-03-17 16:06:06] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-17 16:06:06] [INFO]   -> Found value: 0
[2026-03-17 16:06:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 0
[2026-03-17 16:06:06] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-17 16:06:06] [INFO]   -> Found value: BOY SCOUT
[2026-03-17 16:06:06] [INFO]   -> Set field 'streetName' = "BOY SCOUT"
[2026-03-17 16:06:06] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-17 16:06:06] [INFO]   -> No value found (null or empty)
[2026-03-17 16:06:06] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:06:45.907-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'alarm' = "2026-03-17 13:06:45"
[2026-03-17 16:06:06] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:10:05.407-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'enroute' = "2026-03-17 13:10:05"
[2026-03-17 16:06:06] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:17:36.457-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'onScene' = "2026-03-17 13:17:36"
[2026-03-17 16:06:06] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:45:42.91-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'cleared' = "2026-03-17 13:45:42"
[2026-03-17 16:06:06] [INFO]   -> Set field 'inService' = "2026-03-17 13:45:42"
[2026-03-17 16:06:06] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-17 16:06:06] [INFO]   -> Found value: 35.176192
[2026-03-17 16:06:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1761920000000003483364707790315151214599609375
[2026-03-17 16:06:06] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-17 16:06:06] [INFO]   -> Found value: -85.226255
[2026-03-17 16:06:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2262549999999947658579912967979907989501953125
[2026-03-17 16:06:06] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:07:57.71-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:07:57"
[2026-03-17 16:06:06] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-17 16:06:06] [INFO]   -> Found value: E2DB
[2026-03-17 16:06:06] [INFO]   -> Set field 'cADVehicleID' = "E2DB"
[2026-03-17 16:06:06] [INFO]   -> Set field 'name' = "E2DB"
[2026-03-17 16:06:06] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:45:42.91-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 13:45:42"
[2026-03-17 16:06:06] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-17 16:06:06] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'timeonscene' = null
[2026-03-17 16:06:06] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-17 16:06:06] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'timestaging' = null
[2026-03-17 16:06:06] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:19:53.243-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 13:19:53"
[2026-03-17 16:06:06] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-17T09:19:53.213-04:00
[2026-03-17 16:06:06] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:19:53"
[2026-03-17 16:06:06] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-17 16:06:06] [INFO]   -> Found value: RD
[2026-03-17 16:06:06] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 16:06:06] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 16:06:06] [INFO]   -> Found value: 26-000529
[2026-03-17 16:06:06] [INFO]   -> Set field 'incidentInternalId' = "26-000529"
[2026-03-17 16:06:06] [INFO]   -> Set field 'dispatchRunNumber' = "26-000529"
[2026-03-17 16:06:06] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-17 16:06:06] [INFO]   -> Found value: 2026-03-24467
[2026-03-17 16:06:06] [INFO]   -> Set field 'policeReportNumber' = "2026-03-24467"
[2026-03-17 16:06:06] [INFO]   -> Set field 'cADNumber' = "2026-03-24467"
[2026-03-17 16:06:06] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-17 16:06:06] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-17 16:06:06] [INFO] Found 55 elements for 'Comment', concatenating 55 non-empty values
[2026-03-17 16:06:06] [INFO]   -> Found value: 03/17/2026 09:06:45 BULLARD_A               [1] Incident linked to [Law] [2026-03-24465]
03/17/2026 ...
[2026-03-17 16:06:06] [INFO]   -> Set field 'dispatchNotes' = "03\/17\/2026 09:06:45 BULLARD_A               [1] Incident linked to [Law] [2026-03-24465]\n03\/17\/2026 09:06:45 BULLARD_A               [2] Multi-Jurisdiction Law Incident #: 2026-03-24465\n03\/17\/2026 09:06:45 BULLARD_A               [3] Multi-Agency EMS Incident #: 2026-03-24466\n03\/17\/2026 09:06:57 BULLARD_A               [4] TWO PARTIES ARE INJURED [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:02 BULLARD_A               [5] HEAD ON  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:03 WHITE_W                 [6] MED 13 FROM HWY 27\/MLK [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:11 BULLARD_A               [7] PT IS IN A BLK VEH [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:22 WHITE_W                 [8] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010172. requested by M13. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:26 PUGH_P                  [9] FG 5 [Shared]\n03\/17\/2026 09:07:41 STYNCHCOMBE_D           [10] Protocol Q&A \u2022  Question: Did the caller stop at the scene or drive by? \u2022  Answer: Stopped at the scene [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:42 PAGINGSERVICE           [11] Paging Groups Notified:HCDE Traffic Notifications [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:45 STYNCHCOMBE_D           [12] Protocol Q&A \u2022  Question: What type of vehicles are involved? \u2022  Answer: 1w3a  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:53 STYNCHCOMBE_D           [13] Requested Case Number(s) issued for Incident #[2026-03-24465], Jurisdiction: Hamilton Co SO. Case Number(s): 26-010750. requested by 1W3. [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:58 PUGH_P                  [14] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000529 requested by DBFD1. [Shared]\n03\/17\/2026 09:08:00 BULLARD_A               [15] RP IS IN A 2013 NISSAN ALTIMA WHITE IN COLOR, RP AIRBAG DID DEPLOY [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:07 PUGH_P                  [16] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000027 requested by H1700. [Shared]\n03\/17\/2026 09:08:28 BULLARD_A               [17] Protocol Q&A \u2022  Question: Are there any hazards present? \u2022  Answer: Water [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:55 BULLARD_A               [18] WATER FROM THE RADIATOR  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:00 BULLARD_A               [19] Protocol Q&A \u2022  Question: Was anyone thrown from the vehicle? \u2022  Answer: No [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:58 BULLARD_A               [20] PT IN BLK VEH ARE A MOTHER AND SON UNK AGE OF BOTH PARTIES PER RP [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:21 rozwood_j               [21] rp honda tuscon with 4 yr old son and his back is hurting [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:41 rozwood_j               [22] rp stated the driver that hit her head on stated he passed out [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:44 WHITE_W                 [23] H232E CLEAR [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:05 rozwood_j               [24] another driver that was behind her stated they do not need an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:14 PUGH_P                  [25] R1DB RESPONDING  [Shared]\n03\/17\/2026 09:11:29 rozwood_j               [26] app 40 yr old male that hit the rp needs an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:35 BROWN_D                 [27] 1A01 IS HEADED TO THIS CRASH BECAUSE HE IS CLOSER THAN WEST [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:37 PUGH_P                  [28] QRV06DB TO STATION 2  [Shared]\n03\/17\/2026 09:11:47 rozwood_j               [29] rp stated she is 34 yo femal with a hurt knee(total 3 patients) [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:54 rozwood_j               [30] cars are in the roadway [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:19 rozwood_j               [31] fluid leakeage and airbags did deploy [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:34 rozwood_j               [32] traffic is being diverted around the cars [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:41 rozwood_j               [33] rp hannah hudson [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:21 BROWN_D                 [34] 1A01 IS GOING TO COME IN FROM THE OTHER SIDE TO BLOCK TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:31 rozwood_j               [35] 1041 boy scout road\/corner of fishhouse lane [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:18 rozwood_j               [36] rp hannah ph number 423-557-3778 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:44 STYNCHCOMBE_D           [37] 40-50 YOM WITH CHEST PAINS  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:49 STYNCHCOMBE_D           [38] PER HCSO  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:18:27 STYNCHCOMBE_D           [39] 4 YOM WUTH BACK PAIN  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:20:41 COBART_C                [40] [Page] START A SECOND EMS UNIT WILL BE SEPERATE PTS 2 TOTAL [Shared]\n03\/17\/2026 09:22:03 WHITE_W                 [41] MED 3 FROM HWY 153\/AMNICOLA HWY [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:08 WHITE_W                 [42] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010174. requested by M03. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:10 BROWN_D                 [43] 1A01  AT BOY SCOUT AND SANDSWITCH DIRECTING TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:27:07 WHITE_W                 [44] MED 13 ADV CANCEL SECOND INCOMING PARTY GOING POV [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:29:10 SWAFFORD_R              [45] [Rotation Request Comment] GUDEL'S WRECKER SERVICE EN ROUTE FOR  VEHS  ON  LINES 47, 48 & 49.     423-842-8010 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:34:14 WHITE_W                 [46] MED 13 DELAYED OBTAINING A REFUSAL FROM 1 PT [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [47] M13 - 1x Rider, 1x E5  [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [48] M13 - Transported person gender is Male [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [49] M13 - Transported person is juvenile. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:44:23 WHITE_W                 [50] MED 13 1030 CHILDRENS X1 FAMILY MEMBER [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:54:20 Lane, Amanda            [51] 1W3 - the wrecker claiming all 3 veh only had room for 2 [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 09:54:38 Lane, Amanda            [52] 1W3 - so he's going back to tow yard with two then coming back for the 3rd that's sitting in the middle of boyscout  [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:09:52 Lane, Amanda            [53] 1W3 - wrecker back on scene for 3rd veh [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:18:10 BRACKETT_M              [54] [Law] has closed their incident [2026-03-24465]\n03\/17\/2026 10:21:48 WHITE_W                 [55] [EMS] has closed their incident [2026-03-24466]"
[2026-03-17 16:06:06] [INFO]   -> Set field 'cADLog' = "03\/17\/2026 09:06:45 BULLARD_A               [1] Incident linked to [Law] [2026-03-24465]\n03\/17\/2026 09:06:45 BULLARD_A               [2] Multi-Jurisdiction Law Incident #: 2026-03-24465\n03\/17\/2026 09:06:45 BULLARD_A               [3] Multi-Agency EMS Incident #: 2026-03-24466\n03\/17\/2026 09:06:57 BULLARD_A               [4] TWO PARTIES ARE INJURED [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:02 BULLARD_A               [5] HEAD ON  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:03 WHITE_W                 [6] MED 13 FROM HWY 27\/MLK [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:11 BULLARD_A               [7] PT IS IN A BLK VEH [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:22 WHITE_W                 [8] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010172. requested by M13. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:26 PUGH_P                  [9] FG 5 [Shared]\n03\/17\/2026 09:07:41 STYNCHCOMBE_D           [10] Protocol Q&A \u2022  Question: Did the caller stop at the scene or drive by? \u2022  Answer: Stopped at the scene [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:42 PAGINGSERVICE           [11] Paging Groups Notified:HCDE Traffic Notifications [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:45 STYNCHCOMBE_D           [12] Protocol Q&A \u2022  Question: What type of vehicles are involved? \u2022  Answer: 1w3a  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:53 STYNCHCOMBE_D           [13] Requested Case Number(s) issued for Incident #[2026-03-24465], Jurisdiction: Hamilton Co SO. Case Number(s): 26-010750. requested by 1W3. [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:58 PUGH_P                  [14] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000529 requested by DBFD1. [Shared]\n03\/17\/2026 09:08:00 BULLARD_A               [15] RP IS IN A 2013 NISSAN ALTIMA WHITE IN COLOR, RP AIRBAG DID DEPLOY [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:07 PUGH_P                  [16] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000027 requested by H1700. [Shared]\n03\/17\/2026 09:08:28 BULLARD_A               [17] Protocol Q&A \u2022  Question: Are there any hazards present? \u2022  Answer: Water [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:55 BULLARD_A               [18] WATER FROM THE RADIATOR  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:00 BULLARD_A               [19] Protocol Q&A \u2022  Question: Was anyone thrown from the vehicle? \u2022  Answer: No [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:58 BULLARD_A               [20] PT IN BLK VEH ARE A MOTHER AND SON UNK AGE OF BOTH PARTIES PER RP [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:21 rozwood_j               [21] rp honda tuscon with 4 yr old son and his back is hurting [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:41 rozwood_j               [22] rp stated the driver that hit her head on stated he passed out [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:44 WHITE_W                 [23] H232E CLEAR [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:05 rozwood_j               [24] another driver that was behind her stated they do not need an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:14 PUGH_P                  [25] R1DB RESPONDING  [Shared]\n03\/17\/2026 09:11:29 rozwood_j               [26] app 40 yr old male that hit the rp needs an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:35 BROWN_D                 [27] 1A01 IS HEADED TO THIS CRASH BECAUSE HE IS CLOSER THAN WEST [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:37 PUGH_P                  [28] QRV06DB TO STATION 2  [Shared]\n03\/17\/2026 09:11:47 rozwood_j               [29] rp stated she is 34 yo femal with a hurt knee(total 3 patients) [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:54 rozwood_j               [30] cars are in the roadway [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:19 rozwood_j               [31] fluid leakeage and airbags did deploy [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:34 rozwood_j               [32] traffic is being diverted around the cars [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:41 rozwood_j               [33] rp hannah hudson [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:21 BROWN_D                 [34] 1A01 IS GOING TO COME IN FROM THE OTHER SIDE TO BLOCK TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:31 rozwood_j               [35] 1041 boy scout road\/corner of fishhouse lane [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:18 rozwood_j               [36] rp hannah ph number 423-557-3778 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:44 STYNCHCOMBE_D           [37] 40-50 YOM WITH CHEST PAINS  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:49 STYNCHCOMBE_D           [38] PER HCSO  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:18:27 STYNCHCOMBE_D           [39] 4 YOM WUTH BACK PAIN  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:20:41 COBART_C                [40] [Page] START A SECOND EMS UNIT WILL BE SEPERATE PTS 2 TOTAL [Shared]\n03\/17\/2026 09:22:03 WHITE_W                 [41] MED 3 FROM HWY 153\/AMNICOLA HWY [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:08 WHITE_W                 [42] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010174. requested by M03. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:10 BROWN_D                 [43] 1A01  AT BOY SCOUT AND SANDSWITCH DIRECTING TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:27:07 WHITE_W                 [44] MED 13 ADV CANCEL SECOND INCOMING PARTY GOING POV [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:29:10 SWAFFORD_R              [45] [Rotation Request Comment] GUDEL'S WRECKER SERVICE EN ROUTE FOR  VEHS  ON  LINES 47, 48 & 49.     423-842-8010 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:34:14 WHITE_W                 [46] MED 13 DELAYED OBTAINING A REFUSAL FROM 1 PT [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [47] M13 - 1x Rider, 1x E5  [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [48] M13 - Transported person gender is Male [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [49] M13 - Transported person is juvenile. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:44:23 WHITE_W                 [50] MED 13 1030 CHILDRENS X1 FAMILY MEMBER [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:54:20 Lane, Amanda            [51] 1W3 - the wrecker claiming all 3 veh only had room for 2 [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 09:54:38 Lane, Amanda            [52] 1W3 - so he's going back to tow yard with two then coming back for the 3rd that's sitting in the middle of boyscout  [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:09:52 Lane, Amanda            [53] 1W3 - wrecker back on scene for 3rd veh [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:18:10 BRACKETT_M              [54] [Law] has closed their incident [2026-03-24465]\n03\/17\/2026 10:21:48 WHITE_W                 [55] [EMS] has closed their incident [2026-03-24466]"
[2026-03-17 16:06:06] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-17 16:06:06] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-17 16:06:06] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 16:06:06] [INFO] Found 7 elements for 'AgencyIdentifier', concatenating 7 non-empty values
[2026-03-17 16:06:06] [INFO]   -> Found value: DBFD
DBFD
DBFD
DBFD
DBFD
SFD
DBFD
[2026-03-17 16:06:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "DBFD\nDBFD\nDBFD\nDBFD\nDBFD\nSFD\nDBFD"
[2026-03-17 16:06:06] [INFO] Finished extracting fields. Total fields extracted: 27
[2026-03-17 16:06:06] [INFO] Concatenating street name and type
[2026-03-17 16:06:06] [INFO]   -> Combined street name: BOY SCOUT RD
[2026-03-17 16:06:06] [INFO] Built locationCoordinates from lat/lng: 35.176192,-85.226255
[2026-03-17 16:06:06] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ACC1-MVC Injuries","nERISIncidentPostalCode":37343,"incidentLocationStreetNumber":0,"streetName":"BOY SCOUT RD","alarm":"2026-03-17 13:06:45","enroute":"2026-03-17 13:10:05","onScene":"2026-03-17 13:17:36","cleared":"2026-03-17 13:45:42","inService":"2026-03-17 13:45:42","nERISIncidentLatitude":35.1761920000000003483364707790315151214599609375,"nERISIncidentLongitude":-85.2262549999999947658579912967979907989501953125,"dispatched":"2026-03-17 13:07:57","cADVehicleID":"E2DB","name":"E2DB","timeunitclear":"2026-03-17 13:45:42","timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-03-17 13:19:53","timedispatch":"2026-03-17 13:19:53","incidentInternalId":"26-000529","dispatchRunNumber":"26-000529","policeReportNumber":"2026-03-24467","cADNumber":"2026-03-24467","dispatchNotes":"03\/17\/2026 09:06:45 BULLARD_A               [1] Incident linked to [Law] [2026-03-24465]\n03\/17\/2026 09:06:45 BULLARD_A               [2] Multi-Jurisdiction Law Incident #: 2026-03-24465\n03\/17\/2026 09:06:45 BULLARD_A               [3] Multi-Agency EMS Incident #: 2026-03-24466\n03\/17\/2026 09:06:57 BULLARD_A               [4] TWO PARTIES ARE INJURED [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:02 BULLARD_A               [5] HEAD ON  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:03 WHITE_W                 [6] MED 13 FROM HWY 27\/MLK [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:11 BULLARD_A               [7] PT IS IN A BLK VEH [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:22 WHITE_W                 [8] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010172. requested by M13. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:26 PUGH_P                  [9] FG 5 [Shared]\n03\/17\/2026 09:07:41 STYNCHCOMBE_D           [10] Protocol Q&A \u2022  Question: Did the caller stop at the scene or drive by? \u2022  Answer: Stopped at the scene [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:42 PAGINGSERVICE           [11] Paging Groups Notified:HCDE Traffic Notifications [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:45 STYNCHCOMBE_D           [12] Protocol Q&A \u2022  Question: What type of vehicles are involved? \u2022  Answer: 1w3a  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:53 STYNCHCOMBE_D           [13] Requested Case Number(s) issued for Incident #[2026-03-24465], Jurisdiction: Hamilton Co SO. Case Number(s): 26-010750. requested by 1W3. [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:58 PUGH_P                  [14] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000529 requested by DBFD1. [Shared]\n03\/17\/2026 09:08:00 BULLARD_A               [15] RP IS IN A 2013 NISSAN ALTIMA WHITE IN COLOR, RP AIRBAG DID DEPLOY [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:07 PUGH_P                  [16] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000027 requested by H1700. [Shared]\n03\/17\/2026 09:08:28 BULLARD_A               [17] Protocol Q&A \u2022  Question: Are there any hazards present? \u2022  Answer: Water [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:55 BULLARD_A               [18] WATER FROM THE RADIATOR  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:00 BULLARD_A               [19] Protocol Q&A \u2022  Question: Was anyone thrown from the vehicle? \u2022  Answer: No [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:58 BULLARD_A               [20] PT IN BLK VEH ARE A MOTHER AND SON UNK AGE OF BOTH PARTIES PER RP [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:21 rozwood_j               [21] rp honda tuscon with 4 yr old son and his back is hurting [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:41 rozwood_j               [22] rp stated the driver that hit her head on stated he passed out [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:44 WHITE_W                 [23] H232E CLEAR [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:05 rozwood_j               [24] another driver that was behind her stated they do not need an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:14 PUGH_P                  [25] R1DB RESPONDING  [Shared]\n03\/17\/2026 09:11:29 rozwood_j               [26] app 40 yr old male that hit the rp needs an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:35 BROWN_D                 [27] 1A01 IS HEADED TO THIS CRASH BECAUSE HE IS CLOSER THAN WEST [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:37 PUGH_P                  [28] QRV06DB TO STATION 2  [Shared]\n03\/17\/2026 09:11:47 rozwood_j               [29] rp stated she is 34 yo femal with a hurt knee(total 3 patients) [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:54 rozwood_j               [30] cars are in the roadway [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:19 rozwood_j               [31] fluid leakeage and airbags did deploy [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:34 rozwood_j               [32] traffic is being diverted around the cars [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:41 rozwood_j               [33] rp hannah hudson [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:21 BROWN_D                 [34] 1A01 IS GOING TO COME IN FROM THE OTHER SIDE TO BLOCK TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:31 rozwood_j               [35] 1041 boy scout road\/corner of fishhouse lane [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:18 rozwood_j               [36] rp hannah ph number 423-557-3778 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:44 STYNCHCOMBE_D           [37] 40-50 YOM WITH CHEST PAINS  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:49 STYNCHCOMBE_D           [38] PER HCSO  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:18:27 STYNCHCOMBE_D           [39] 4 YOM WUTH BACK PAIN  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:20:41 COBART_C                [40] [Page] START A SECOND EMS UNIT WILL BE SEPERATE PTS 2 TOTAL [Shared]\n03\/17\/2026 09:22:03 WHITE_W                 [41] MED 3 FROM HWY 153\/AMNICOLA HWY [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:08 WHITE_W                 [42] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010174. requested by M03. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:10 BROWN_D                 [43] 1A01  AT BOY SCOUT AND SANDSWITCH DIRECTING TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:27:07 WHITE_W                 [44] MED 13 ADV CANCEL SECOND INCOMING PARTY GOING POV [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:29:10 SWAFFORD_R              [45] [Rotation Request Comment] GUDEL'S WRECKER SERVICE EN ROUTE FOR  VEHS  ON  LINES 47, 48 & 49.     423-842-8010 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:34:14 WHITE_W                 [46] MED 13 DELAYED OBTAINING A REFUSAL FROM 1 PT [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [47] M13 - 1x Rider, 1x E5  [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [48] M13 - Transported person gender is Male [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [49] M13 - Transported person is juvenile. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:44:23 WHITE_W                 [50] MED 13 1030 CHILDRENS X1 FAMILY MEMBER [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:54:20 Lane, Amanda            [51] 1W3 - the wrecker claiming all 3 veh only had room for 2 [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 09:54:38 Lane, Amanda            [52] 1W3 - so he's going back to tow yard with two then coming back for the 3rd that's sitting in the middle of boyscout  [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:09:52 Lane, Amanda            [53] 1W3 - wrecker back on scene for 3rd veh [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:18:10 BRACKETT_M              [54] [Law] has closed their incident [2026-03-24465]\n03\/17\/2026 10:21:48 WHITE_W                 [55] [EMS] has closed their incident [2026-03-24466]","cADLog":"03\/17\/2026 09:06:45 BULLARD_A               [1] Incident linked to [Law] [2026-03-24465]\n03\/17\/2026 09:06:45 BULLARD_A               [2] Multi-Jurisdiction Law Incident #: 2026-03-24465\n03\/17\/2026 09:06:45 BULLARD_A               [3] Multi-Agency EMS Incident #: 2026-03-24466\n03\/17\/2026 09:06:57 BULLARD_A               [4] TWO PARTIES ARE INJURED [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:02 BULLARD_A               [5] HEAD ON  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:03 WHITE_W                 [6] MED 13 FROM HWY 27\/MLK [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:11 BULLARD_A               [7] PT IS IN A BLK VEH [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:22 WHITE_W                 [8] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010172. requested by M13. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:26 PUGH_P                  [9] FG 5 [Shared]\n03\/17\/2026 09:07:41 STYNCHCOMBE_D           [10] Protocol Q&A \u2022  Question: Did the caller stop at the scene or drive by? \u2022  Answer: Stopped at the scene [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:42 PAGINGSERVICE           [11] Paging Groups Notified:HCDE Traffic Notifications [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:45 STYNCHCOMBE_D           [12] Protocol Q&A \u2022  Question: What type of vehicles are involved? \u2022  Answer: 1w3a  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:53 STYNCHCOMBE_D           [13] Requested Case Number(s) issued for Incident #[2026-03-24465], Jurisdiction: Hamilton Co SO. Case Number(s): 26-010750. requested by 1W3. [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:07:58 PUGH_P                  [14] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000529 requested by DBFD1. [Shared]\n03\/17\/2026 09:08:00 BULLARD_A               [15] RP IS IN A 2013 NISSAN ALTIMA WHITE IN COLOR, RP AIRBAG DID DEPLOY [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:07 PUGH_P                  [16] Automatic Case Number(s) issued for Incident #[2026-03-24467], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000027 requested by H1700. [Shared]\n03\/17\/2026 09:08:28 BULLARD_A               [17] Protocol Q&A \u2022  Question: Are there any hazards present? \u2022  Answer: Water [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:08:55 BULLARD_A               [18] WATER FROM THE RADIATOR  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:00 BULLARD_A               [19] Protocol Q&A \u2022  Question: Was anyone thrown from the vehicle? \u2022  Answer: No [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:09:58 BULLARD_A               [20] PT IN BLK VEH ARE A MOTHER AND SON UNK AGE OF BOTH PARTIES PER RP [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:21 rozwood_j               [21] rp honda tuscon with 4 yr old son and his back is hurting [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:41 rozwood_j               [22] rp stated the driver that hit her head on stated he passed out [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:10:44 WHITE_W                 [23] H232E CLEAR [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:05 rozwood_j               [24] another driver that was behind her stated they do not need an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:14 PUGH_P                  [25] R1DB RESPONDING  [Shared]\n03\/17\/2026 09:11:29 rozwood_j               [26] app 40 yr old male that hit the rp needs an ambulance [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:35 BROWN_D                 [27] 1A01 IS HEADED TO THIS CRASH BECAUSE HE IS CLOSER THAN WEST [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:37 PUGH_P                  [28] QRV06DB TO STATION 2  [Shared]\n03\/17\/2026 09:11:47 rozwood_j               [29] rp stated she is 34 yo femal with a hurt knee(total 3 patients) [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:11:54 rozwood_j               [30] cars are in the roadway [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:19 rozwood_j               [31] fluid leakeage and airbags did deploy [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:34 rozwood_j               [32] traffic is being diverted around the cars [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:12:41 rozwood_j               [33] rp hannah hudson [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:21 BROWN_D                 [34] 1A01 IS GOING TO COME IN FROM THE OTHER SIDE TO BLOCK TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:13:31 rozwood_j               [35] 1041 boy scout road\/corner of fishhouse lane [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:18 rozwood_j               [36] rp hannah ph number 423-557-3778 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:44 STYNCHCOMBE_D           [37] 40-50 YOM WITH CHEST PAINS  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:14:49 STYNCHCOMBE_D           [38] PER HCSO  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:18:27 STYNCHCOMBE_D           [39] 4 YOM WUTH BACK PAIN  [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:20:41 COBART_C                [40] [Page] START A SECOND EMS UNIT WILL BE SEPERATE PTS 2 TOTAL [Shared]\n03\/17\/2026 09:22:03 WHITE_W                 [41] MED 3 FROM HWY 153\/AMNICOLA HWY [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:08 WHITE_W                 [42] Requested Case Number(s) issued for Incident #[2026-03-24466], Jurisdiction: Hamilton Co EMS. Case Number(s): 26-010174. requested by M03. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:22:10 BROWN_D                 [43] 1A01  AT BOY SCOUT AND SANDSWITCH DIRECTING TRAFFIC [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:27:07 WHITE_W                 [44] MED 13 ADV CANCEL SECOND INCOMING PARTY GOING POV [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:29:10 SWAFFORD_R              [45] [Rotation Request Comment] GUDEL'S WRECKER SERVICE EN ROUTE FOR  VEHS  ON  LINES 47, 48 & 49.     423-842-8010 [Shared 2, 2026-03-24465 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:34:14 WHITE_W                 [46] MED 13 DELAYED OBTAINING A REFUSAL FROM 1 PT [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [47] M13 - 1x Rider, 1x E5  [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [48] M13 - Transported person gender is Male [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:41:58 M13                     [49] M13 - Transported person is juvenile. [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:44:23 WHITE_W                 [50] MED 13 1030 CHILDRENS X1 FAMILY MEMBER [Shared 1, 2026-03-24466 - ACC1 - BOY SCOUT RD \/ MOSES RD]\n03\/17\/2026 09:54:20 Lane, Amanda            [51] 1W3 - the wrecker claiming all 3 veh only had room for 2 [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 09:54:38 Lane, Amanda            [52] 1W3 - so he's going back to tow yard with two then coming back for the 3rd that's sitting in the middle of boyscout  [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:09:52 Lane, Amanda            [53] 1W3 - wrecker back on scene for 3rd veh [Shared 2, 2026-03-24465 - ACC1 - 1044 BOY SCOUT RD]\n03\/17\/2026 10:18:10 BRACKETT_M              [54] [Law] has closed their incident [2026-03-24465]\n03\/17\/2026 10:21:48 WHITE_W                 [55] [EMS] has closed their incident [2026-03-24466]","cADAgencyIdentifier":"DBFD\nDBFD\nDBFD\nDBFD\nDBFD\nSFD\nDBFD","locationCoordinates":"35.176192,-85.226255"}
[2026-03-17 16:06:06] [INFO] Number of extracted fields: 27
[2026-03-17 16:06:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'DBFD
DBFD
DBFD
DBFD
DBFD
SFD
DBFD'
[2026-03-17 16:06:06] [INFO] Multi-agency routing check: CAD Agency ID raw = 'DBFD
DBFD
DBFD
DBFD
DBFD
SFD
DBFD', Parsed IDs = ["DBFD","DBFD","DBFD","DBFD","DBFD","SFD","DBFD"], Non-empty count = 7, Total agency count = 7, Assigned Agencies count = 2
[2026-03-17 16:06:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["DBFD","DBFD","DBFD","DBFD","DBFD","SFD","DBFD"]
[2026-03-17 16:06:06] [INFO] Attempting SAASClient lookup for AgencyCode 'DBFD' (index 0) within mailbox's assigned agencies
[2026-03-17 16:06:06] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'DBFD'
[2026-03-17 16:06:06] [INFO] Attempting SAASClient lookup for AgencyCode 'DBFD' (index 1) within mailbox's assigned agencies
[2026-03-17 16:06:06] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'DBFD'
[2026-03-17 16:06:06] [INFO] Attempting SAASClient lookup for AgencyCode 'DBFD' (index 2) within mailbox's assigned agencies
[2026-03-17 16:06:06] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'DBFD'
[2026-03-17 16:06:06] [INFO] Attempting SAASClient lookup for AgencyCode 'DBFD' (index 3) within mailbox's assigned agencies
[2026-03-17 16:06:07] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'DBFD'
[2026-03-17 16:06:07] [INFO] Attempting SAASClient lookup for AgencyCode 'DBFD' (index 4) within mailbox's assigned agencies
[2026-03-17 16:06:07] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'DBFD'
[2026-03-17 16:06:07] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 5) within mailbox's assigned agencies
[2026-03-17 16:06:07] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 5 based on AgencyCode 'SFD'
[2026-03-17 16:06:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 5: ["DBFD"]
[2026-03-17 16:06:07] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-17 16:06:07] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 5
[2026-03-17 16:06:07] [INFO] Filtering multi-agency fields by matched index 5 (agency count: 7)
[2026-03-17 16:06:07] [INFO] Filtered cADAgencyIdentifier to: SFD
[2026-03-17 16:06:07] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-17 16:06:08] [INFO] Found existing IncidentTypeMapping with ID: 69a2d7e05c18b464d
[2026-03-17 16:06:09] [INFO] Created new Dispatches record with ID: 69b97bf066a1d2ab6
[2026-03-17 16:06:09] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-17 16:06:10] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-17 16:06:13] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-24467_20260317120605407.xml
[2026-03-17 16:06:13] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-17
[2026-03-17 16:06:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-24467_20260317120605407.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-17/INCCOMBINED_2026-03-24467_20260317120605407.xml
[2026-03-17 16:06:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-24467_20260317120605407.xml
[2026-03-17 17:07:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08072.xml
[2026-03-17 17:07:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08072.xml for user: 68d56363ec1209189
[2026-03-17 17:07:44] [INFO] File size: 1587 bytes
[2026-03-17 17:07:44] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08072.xml: Mailbox not found for user: 68d56363ec1209189
[2026-03-17 17:07:44] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:975
[2026-03-17 17:21:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172158.XML
[2026-03-17 17:21:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172158.XML for user: 68f1466aed072ad4a
[2026-03-17 17:21:58] [INFO] File size: 5189 bytes
[2026-03-17 17:21:58] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172158.XML: Mailbox not found for user: 68f1466aed072ad4a
[2026-03-17 17:21:58] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:975
[2026-03-17 17:21:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172158_1.XML
[2026-03-17 17:21:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172158_1.XML for user: 68f1466aed072ad4a
[2026-03-17 17:21:58] [INFO] File size: 5189 bytes
[2026-03-17 17:21:58] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172158_1.XML: Mailbox not found for user: 68f1466aed072ad4a
[2026-03-17 17:21:58] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:975
[2026-03-17 17:24:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172437.XML
[2026-03-17 17:24:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172437.XML for user: 68f1466aed072ad4a
[2026-03-17 17:24:37] [INFO] File size: 6491 bytes
[2026-03-17 17:24:37] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172437.XML: Mailbox not found for user: 68f1466aed072ad4a
[2026-03-17 17:24:37] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:975
[2026-03-17 17:24:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172439.XML
[2026-03-17 17:24:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172439.XML for user: 68f1466aed072ad4a
[2026-03-17 17:24:39] [INFO] File size: 6558 bytes
[2026-03-17 17:24:39] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172439.XML: Mailbox not found for user: 68f1466aed072ad4a
[2026-03-17 17:24:39] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:975
[2026-03-17 17:24:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172440.XML
[2026-03-17 17:24:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172440.XML for user: 68f1466aed072ad4a
[2026-03-17 17:24:40] [INFO] File size: 6558 bytes
[2026-03-17 17:24:41] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029022_20260317_172440.XML: Mailbox not found for user: 68f1466aed072ad4a
[2026-03-17 17:24:41] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:975
[2026-03-17 18:34:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183437.XML
[2026-03-17 18:34:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183437.XML for user: 68f1466aed072ad4a
[2026-03-17 18:34:37] [INFO] File size: 5474 bytes
[2026-03-17 18:34:38] [INFO] Created FTPFiles record with ID: 69b99ebe52c1edc4a
[2026-03-17 18:34:38] [INFO] About to extract fields from XML. File size: 5474 bytes
[2026-03-17 18:34:38] [INFO] Number of mappings: 28
[2026-03-17 18:34:38] [INFO] Starting XML parsing. Content length: 5474
[2026-03-17 18:34:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:34:38] [INFO] Processing 28 field mappings
[2026-03-17 18:34:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:34:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:34:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:34:38] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:34:38] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:34:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:34:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:34:38] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:34:38] [INFO]   -> Found value: 2026000718
[2026-03-17 18:34:38] [INFO]   -> Set field 'incidentInternalId' = "2026000718"
[2026-03-17 18:34:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000718"
[2026-03-17 18:34:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:34:38] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 18:34:38] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 18:34:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:34:38] [INFO]   -> Found value: 4727
[2026-03-17 18:34:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4727
[2026-03-17 18:34:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:34:38] [INFO]   -> Found value: TN
[2026-03-17 18:34:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:34:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:34:38] [INFO]   -> Found value: 38501
[2026-03-17 18:34:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 18:34:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:34:38] [INFO]   -> Found value: 36.21138
[2026-03-17 18:34:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21137999999999834699337952770292758941650390625
[2026-03-17 18:34:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:34:38] [INFO]   -> Found value: -85.59756
[2026-03-17 18:34:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5975600000000014233592082746326923370361328125
[2026-03-17 18:34:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:34:38] [INFO]   -> Found value: 2026-03-17 13:34:04
[2026-03-17 18:34:38] [INFO]   -> Set field 'alarm' = "2026-03-17 13:34:04"
[2026-03-17 18:34:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:34:38] [INFO]   -> Found value: 2026-03-17 13:34:29
[2026-03-17 18:34:38] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:34:29"
[2026-03-17 18:34:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:34:38] [INFO]   -> Found value: PIPPIN RD/POUNDSTONE DR
[2026-03-17 18:34:38] [INFO]   -> Set field 'incidentLocationCross' = "PIPPIN RD\/POUNDSTONE DR"
[2026-03-17 18:34:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:34:38] [INFO]   -> Found value: PCFR
[2026-03-17 18:34:38] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 18:34:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:34:38] [INFO]   -> Found value: 2026-03-17 13:34:29
[2026-03-17 18:34:38] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:34:29"
[2026-03-17 18:34:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:34:38] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:34:38] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:34:38] [INFO]   -> Found value: 20260029053
[2026-03-17 18:34:38] [INFO]   -> Set field 'policeReportNumber' = "20260029053"
[2026-03-17 18:34:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:34:38] [INFO]   -> Found value: [EMS] IS A DIABETIC  [03/17/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/17/26 13:...
[2026-03-17 18:34:38] [INFO]   -> Set field 'dispatchNotes' = "[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:34:38] [INFO]   -> Set field 'cADLog' = "[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:34:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:34:38] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:34:38] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:34:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:34:38] [INFO]   -> Found value: CUMBY
[2026-03-17 18:34:38] [INFO]   -> Set field 'streetName' = "CUMBY"
[2026-03-17 18:34:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:34:38] [INFO]   -> Found value: RD
[2026-03-17 18:34:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:34:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:34:38] [INFO]   -> Found value: 4727 CUMBY RD
[2026-03-17 18:34:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4727 CUMBY RD"
[2026-03-17 18:34:38] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 18:34:38] [INFO] Concatenating street name and type
[2026-03-17 18:34:38] [INFO]   -> Combined street name: CUMBY RD
[2026-03-17 18:34:38] [INFO] Built locationCoordinates from lat/lng: 36.21138,-85.59756
[2026-03-17 18:34:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000718","dispatchRunNumber":"2026000718","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":4727,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21137999999999834699337952770292758941650390625,"nERISIncidentLongitude":-85.5975600000000014233592082746326923370361328125,"alarm":"2026-03-17 13:34:04","dispatched":"2026-03-17 13:34:29","incidentLocationCross":"PIPPIN RD\/POUNDSTONE DR","cADVehicleID":"PCFR","timedispatch":"2026-03-17 13:34:29","policeReportNumber":"20260029053","dispatchNotes":"[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","cADLog":"[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","incidentLocationCity":"COOKEVILLE","streetName":"CUMBY RD","incidentAddressTextVersionStreet":"4727 CUMBY RD","locationCoordinates":"36.21138,-85.59756"}
[2026-03-17 18:34:38] [INFO] Number of extracted fields: 21
[2026-03-17 18:34:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:34:38] [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-17 18:34:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:34:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:34:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:34:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:34:38] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 18:34:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 18:34:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:34:38] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:34:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:34:38] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 18:34:50] [INFO] Created new Dispatches record with ID: 69b99ebf57c36c9a4
[2026-03-17 18:34:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183437.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029053_20260317_183437.XML
[2026-03-17 18:34:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183437.XML
[2026-03-17 18:34:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183438.XML
[2026-03-17 18:34:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183438.XML for user: 68f1466aed072ad4a
[2026-03-17 18:34:50] [INFO] File size: 5474 bytes
[2026-03-17 18:34:50] [INFO] Created FTPFiles record with ID: 69b99eca857be222d
[2026-03-17 18:34:50] [INFO] About to extract fields from XML. File size: 5474 bytes
[2026-03-17 18:34:50] [INFO] Number of mappings: 28
[2026-03-17 18:34:50] [INFO] Starting XML parsing. Content length: 5474
[2026-03-17 18:34:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:34:50] [INFO] Processing 28 field mappings
[2026-03-17 18:34:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:34:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:34:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:34:50] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:34:50] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:34:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:34:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:34:50] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:34:50] [INFO]   -> Found value: 2026000718
[2026-03-17 18:34:50] [INFO]   -> Set field 'incidentInternalId' = "2026000718"
[2026-03-17 18:34:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000718"
[2026-03-17 18:34:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:34:50] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 18:34:50] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 18:34:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:34:50] [INFO]   -> Found value: 4727
[2026-03-17 18:34:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4727
[2026-03-17 18:34:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:34:50] [INFO]   -> Found value: TN
[2026-03-17 18:34:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:34:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:34:50] [INFO]   -> Found value: 38501
[2026-03-17 18:34:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 18:34:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:34:50] [INFO]   -> Found value: 36.21138
[2026-03-17 18:34:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21137999999999834699337952770292758941650390625
[2026-03-17 18:34:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:34:50] [INFO]   -> Found value: -85.59756
[2026-03-17 18:34:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5975600000000014233592082746326923370361328125
[2026-03-17 18:34:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:34:50] [INFO]   -> Found value: 2026-03-17 13:34:04
[2026-03-17 18:34:50] [INFO]   -> Set field 'alarm' = "2026-03-17 13:34:04"
[2026-03-17 18:34:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:34:50] [INFO]   -> Found value: 2026-03-17 13:34:29
[2026-03-17 18:34:50] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:34:29"
[2026-03-17 18:34:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:34:50] [INFO]   -> Found value: PIPPIN RD/POUNDSTONE DR
[2026-03-17 18:34:50] [INFO]   -> Set field 'incidentLocationCross' = "PIPPIN RD\/POUNDSTONE DR"
[2026-03-17 18:34:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:34:50] [INFO]   -> Found value: PCFR
[2026-03-17 18:34:50] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 18:34:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:34:50] [INFO]   -> Found value: 2026-03-17 13:34:29
[2026-03-17 18:34:50] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:34:29"
[2026-03-17 18:34:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:34:50] [INFO]   -> No value found (null or empty)
[2026-03-17 18:34:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:34:50] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:34:50] [INFO]   -> Found value: 20260029053
[2026-03-17 18:34:50] [INFO]   -> Set field 'policeReportNumber' = "20260029053"
[2026-03-17 18:34:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:34:50] [INFO]   -> Found value: [EMS] IS A DIABETIC  [03/17/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/17/26 13:...
[2026-03-17 18:34:50] [INFO]   -> Set field 'dispatchNotes' = "[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:34:50] [INFO]   -> Set field 'cADLog' = "[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:34:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:34:50] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:34:50] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:34:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:34:50] [INFO]   -> Found value: CUMBY
[2026-03-17 18:34:50] [INFO]   -> Set field 'streetName' = "CUMBY"
[2026-03-17 18:34:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:34:50] [INFO]   -> Found value: RD
[2026-03-17 18:34:50] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:34:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:34:50] [INFO]   -> Found value: 4727 CUMBY RD
[2026-03-17 18:34:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4727 CUMBY RD"
[2026-03-17 18:34:50] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 18:34:50] [INFO] Concatenating street name and type
[2026-03-17 18:34:50] [INFO]   -> Combined street name: CUMBY RD
[2026-03-17 18:34:50] [INFO] Built locationCoordinates from lat/lng: 36.21138,-85.59756
[2026-03-17 18:34:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000718","dispatchRunNumber":"2026000718","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":4727,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21137999999999834699337952770292758941650390625,"nERISIncidentLongitude":-85.5975600000000014233592082746326923370361328125,"alarm":"2026-03-17 13:34:04","dispatched":"2026-03-17 13:34:29","incidentLocationCross":"PIPPIN RD\/POUNDSTONE DR","cADVehicleID":"PCFR","timedispatch":"2026-03-17 13:34:29","policeReportNumber":"20260029053","dispatchNotes":"[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","cADLog":"[EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","incidentLocationCity":"COOKEVILLE","streetName":"CUMBY RD","incidentAddressTextVersionStreet":"4727 CUMBY RD","locationCoordinates":"36.21138,-85.59756"}
[2026-03-17 18:34:50] [INFO] Number of extracted fields: 21
[2026-03-17 18:34:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:34: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-17 18:34:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:34:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:34:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:34:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:34: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-17 18:34: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-17 18:34:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:34:50] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:34:50] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:34:51] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 18:34:51] [INFO] Found existing Dispatch with cADNumber '2026000718', ID: 69b99ebf57c36c9a4 - will update instead of create
[2026-03-17 18:34:51] [INFO] Updated existing Dispatches record with ID: 69b99ebf57c36c9a4
[2026-03-17 18:34:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183438.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029053_20260317_183438.XML
[2026-03-17 18:34:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183438.XML
[2026-03-17 18:37:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183739.XML
[2026-03-17 18:37:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183739.XML for user: 68f1466aed072ad4a
[2026-03-17 18:37:39] [INFO] File size: 7344 bytes
[2026-03-17 18:37:39] [INFO] Created FTPFiles record with ID: 69b99f73dedeacf5b
[2026-03-17 18:37:39] [INFO] About to extract fields from XML. File size: 7344 bytes
[2026-03-17 18:37:39] [INFO] Number of mappings: 28
[2026-03-17 18:37:39] [INFO] Starting XML parsing. Content length: 7344
[2026-03-17 18:37:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:37:39] [INFO] Processing 28 field mappings
[2026-03-17 18:37:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:37:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:37:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:37:39] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:37:39] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:37:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:37:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:37:39] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:37:39] [INFO]   -> Found value: 2026000718
[2026-03-17 18:37:39] [INFO]   -> Set field 'incidentInternalId' = "2026000718"
[2026-03-17 18:37:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000718"
[2026-03-17 18:37:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:37:39] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 18:37:39] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 18:37:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:37:39] [INFO]   -> Found value: 4727
[2026-03-17 18:37:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4727
[2026-03-17 18:37:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:37:39] [INFO]   -> Found value: TN
[2026-03-17 18:37:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:37:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:37:39] [INFO]   -> Found value: 38501
[2026-03-17 18:37:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 18:37:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:37:39] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:37:39] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:37:39] [INFO]   -> Found value: 36.21138
[2026-03-17 18:37:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21137999999999834699337952770292758941650390625
[2026-03-17 18:37:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:37:39] [INFO]   -> Found value: -85.59756
[2026-03-17 18:37:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5975600000000014233592082746326923370361328125
[2026-03-17 18:37:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:37:39] [INFO]   -> Found value: 2026-03-17 13:34:04
[2026-03-17 18:37:39] [INFO]   -> Set field 'alarm' = "2026-03-17 13:34:04"
[2026-03-17 18:37:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:37:39] [INFO]   -> Found value: 2026-03-17 13:34:29
[2026-03-17 18:37:39] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:34:29"
[2026-03-17 18:37:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:37:39] [INFO]   -> Found value: 2026-03-17 13:36:12
[2026-03-17 18:37:39] [INFO]   -> Set field 'enroute' = "2026-03-17 13:36:12"
[2026-03-17 18:37:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:37:39] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:37:39] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:37:39] [INFO]   -> Found value: PIPPIN RD/POUNDSTONE DR
[2026-03-17 18:37:39] [INFO]   -> Set field 'incidentLocationCross' = "PIPPIN RD\/POUNDSTONE DR"
[2026-03-17 18:37:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:37:39] [INFO]   -> Found value: 984
[2026-03-17 18:37:39] [INFO]   -> Set field 'cADVehicleID' = 984
[2026-03-17 18:37:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:37:39] [INFO]   -> Found value: 2026-03-17 13:37:36
[2026-03-17 18:37:39] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:37:36"
[2026-03-17 18:37:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:37:39] [INFO]   -> Found value: 2026-03-17 13:37:36
[2026-03-17 18:37:39] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 13:37:36"
[2026-03-17 18:37:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:37:39] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:37:39] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:37:39] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:37:39] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:37:39] [INFO]   -> Found value: 20260029053
[2026-03-17 18:37:39] [INFO]   -> Set field 'policeReportNumber' = "20260029053"
[2026-03-17 18:37:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:37:39] [INFO]   -> Found value: [EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03/17/26 13:37:13 KBEATY] [EMS] IS A DIA...
[2026-03-17 18:37:39] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:37:39] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:37:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:37:39] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:37:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:37:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:37:39] [INFO]   -> Found value: CUMBY
[2026-03-17 18:37:39] [INFO]   -> Set field 'streetName' = "CUMBY"
[2026-03-17 18:37:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:37:39] [INFO]   -> Found value: RD
[2026-03-17 18:37:39] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:37:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:37:39] [INFO]   -> Found value: 4727 CUMBY RD
[2026-03-17 18:37:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4727 CUMBY RD"
[2026-03-17 18:37:39] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 18:37:39] [INFO] Concatenating street name and type
[2026-03-17 18:37:39] [INFO]   -> Combined street name: CUMBY RD
[2026-03-17 18:37:39] [INFO] Built locationCoordinates from lat/lng: 36.21138,-85.59756
[2026-03-17 18:37:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000718","dispatchRunNumber":"2026000718","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":4727,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21137999999999834699337952770292758941650390625,"nERISIncidentLongitude":-85.5975600000000014233592082746326923370361328125,"alarm":"2026-03-17 13:34:04","dispatched":"2026-03-17 13:34:29","enroute":"2026-03-17 13:36:12","incidentLocationCross":"PIPPIN RD\/POUNDSTONE DR","cADVehicleID":984,"timedispatch":"2026-03-17 13:37:36","timeenroutetoscene":"2026-03-17 13:37:36","policeReportNumber":"20260029053","dispatchNotes":"[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","cADLog":"[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","incidentLocationCity":"COOKEVILLE","streetName":"CUMBY RD","incidentAddressTextVersionStreet":"4727 CUMBY RD","locationCoordinates":"36.21138,-85.59756"}
[2026-03-17 18:37:39] [INFO] Number of extracted fields: 23
[2026-03-17 18:37:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:37:39] [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-17 18:37:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:37:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:37:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:37:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:37: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-17 18:37: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-17 18:37:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:37:40] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:37:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:37:40] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 18:37:40] [INFO] Found existing Dispatch with cADNumber '2026000718', ID: 69b99ebf57c36c9a4 - will update instead of create
[2026-03-17 18:37:41] [INFO] Updated existing Dispatches record with ID: 69b99ebf57c36c9a4
[2026-03-17 18:37:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183739.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029053_20260317_183739.XML
[2026-03-17 18:37:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183739.XML
[2026-03-17 18:37:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183741.XML
[2026-03-17 18:37:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183741.XML for user: 68f1466aed072ad4a
[2026-03-17 18:37:41] [INFO] File size: 7344 bytes
[2026-03-17 18:37:41] [INFO] Created FTPFiles record with ID: 69b99f759592dd8a4
[2026-03-17 18:37:41] [INFO] About to extract fields from XML. File size: 7344 bytes
[2026-03-17 18:37:41] [INFO] Number of mappings: 28
[2026-03-17 18:37:41] [INFO] Starting XML parsing. Content length: 7344
[2026-03-17 18:37:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:37:41] [INFO] Processing 28 field mappings
[2026-03-17 18:37:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:37:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:37:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:37:41] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:37:41] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:37:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:37:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:37:41] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:37:41] [INFO]   -> Found value: 2026000718
[2026-03-17 18:37:41] [INFO]   -> Set field 'incidentInternalId' = "2026000718"
[2026-03-17 18:37:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000718"
[2026-03-17 18:37:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:37:41] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 18:37:41] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 18:37:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:37:41] [INFO]   -> Found value: 4727
[2026-03-17 18:37:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4727
[2026-03-17 18:37:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:37:41] [INFO]   -> Found value: TN
[2026-03-17 18:37:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:37:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:37:41] [INFO]   -> Found value: 38501
[2026-03-17 18:37:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 18:37:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:37:41] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:37:41] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:37:41] [INFO]   -> Found value: 36.21138
[2026-03-17 18:37:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21137999999999834699337952770292758941650390625
[2026-03-17 18:37:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:37:41] [INFO]   -> Found value: -85.59756
[2026-03-17 18:37:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5975600000000014233592082746326923370361328125
[2026-03-17 18:37:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:37:41] [INFO]   -> Found value: 2026-03-17 13:34:04
[2026-03-17 18:37:41] [INFO]   -> Set field 'alarm' = "2026-03-17 13:34:04"
[2026-03-17 18:37:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:37:41] [INFO]   -> Found value: 2026-03-17 13:34:29
[2026-03-17 18:37:41] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:34:29"
[2026-03-17 18:37:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:37:41] [INFO]   -> Found value: 2026-03-17 13:36:12
[2026-03-17 18:37:41] [INFO]   -> Set field 'enroute' = "2026-03-17 13:36:12"
[2026-03-17 18:37:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:37:41] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:37:41] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:37:41] [INFO]   -> Found value: PIPPIN RD/POUNDSTONE DR
[2026-03-17 18:37:41] [INFO]   -> Set field 'incidentLocationCross' = "PIPPIN RD\/POUNDSTONE DR"
[2026-03-17 18:37:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:37:41] [INFO]   -> Found value: 984
[2026-03-17 18:37:41] [INFO]   -> Set field 'cADVehicleID' = 984
[2026-03-17 18:37:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:37:41] [INFO]   -> Found value: 2026-03-17 13:37:36
[2026-03-17 18:37:41] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:37:36"
[2026-03-17 18:37:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:37:41] [INFO]   -> Found value: 2026-03-17 13:37:36
[2026-03-17 18:37:41] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 13:37:36"
[2026-03-17 18:37:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:37:41] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:37:41] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:37:41] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:37:41] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:37:41] [INFO]   -> Found value: 20260029053
[2026-03-17 18:37:41] [INFO]   -> Set field 'policeReportNumber' = "20260029053"
[2026-03-17 18:37:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:37:41] [INFO]   -> Found value: [EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03/17/26 13:37:13 KBEATY] [EMS] IS A DIA...
[2026-03-17 18:37:41] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:37:41] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:37:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:37:41] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:37:41] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:37:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:37:41] [INFO]   -> Found value: CUMBY
[2026-03-17 18:37:41] [INFO]   -> Set field 'streetName' = "CUMBY"
[2026-03-17 18:37:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:37:41] [INFO]   -> Found value: RD
[2026-03-17 18:37:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:37:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:37:41] [INFO]   -> Found value: 4727 CUMBY RD
[2026-03-17 18:37:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4727 CUMBY RD"
[2026-03-17 18:37:41] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 18:37:41] [INFO] Concatenating street name and type
[2026-03-17 18:37:41] [INFO]   -> Combined street name: CUMBY RD
[2026-03-17 18:37:41] [INFO] Built locationCoordinates from lat/lng: 36.21138,-85.59756
[2026-03-17 18:37:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000718","dispatchRunNumber":"2026000718","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":4727,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21137999999999834699337952770292758941650390625,"nERISIncidentLongitude":-85.5975600000000014233592082746326923370361328125,"alarm":"2026-03-17 13:34:04","dispatched":"2026-03-17 13:34:29","enroute":"2026-03-17 13:36:12","incidentLocationCross":"PIPPIN RD\/POUNDSTONE DR","cADVehicleID":984,"timedispatch":"2026-03-17 13:37:36","timeenroutetoscene":"2026-03-17 13:37:36","policeReportNumber":"20260029053","dispatchNotes":"[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","cADLog":"[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","incidentLocationCity":"COOKEVILLE","streetName":"CUMBY RD","incidentAddressTextVersionStreet":"4727 CUMBY RD","locationCoordinates":"36.21138,-85.59756"}
[2026-03-17 18:37:41] [INFO] Number of extracted fields: 23
[2026-03-17 18:37:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:37:41] [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-17 18:37:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:37:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:37:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:37:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:37:42] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 18:37:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 18:37:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:37:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:37:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:37:42] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 18:37:42] [INFO] Found existing Dispatch with cADNumber '2026000718', ID: 69b99ebf57c36c9a4 - will update instead of create
[2026-03-17 18:37:42] [INFO] Updated existing Dispatches record with ID: 69b99ebf57c36c9a4
[2026-03-17 18:37:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183741.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029053_20260317_183741.XML
[2026-03-17 18:37:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183741.XML
[2026-03-17 18:37:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183748.XML
[2026-03-17 18:37:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183748.XML for user: 68f1466aed072ad4a
[2026-03-17 18:37:48] [INFO] File size: 7344 bytes
[2026-03-17 18:37:49] [INFO] Created FTPFiles record with ID: 69b99f7cee6ae6250
[2026-03-17 18:37:49] [INFO] About to extract fields from XML. File size: 7344 bytes
[2026-03-17 18:37:49] [INFO] Number of mappings: 28
[2026-03-17 18:37:49] [INFO] Starting XML parsing. Content length: 7344
[2026-03-17 18:37:49] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:37:49] [INFO] Processing 28 field mappings
[2026-03-17 18:37:49] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:37:49] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:37:49] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:37:49] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:37:49] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:37:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:37:49] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:37:49] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:37:49] [INFO]   -> Found value: 2026000718
[2026-03-17 18:37:49] [INFO]   -> Set field 'incidentInternalId' = "2026000718"
[2026-03-17 18:37:49] [INFO]   -> Set field 'dispatchRunNumber' = "2026000718"
[2026-03-17 18:37:49] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:37:49] [INFO]   -> Found value: UNCONSCIOUS
[2026-03-17 18:37:49] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-03-17 18:37:49] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:37:49] [INFO]   -> Found value: 4727
[2026-03-17 18:37:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4727
[2026-03-17 18:37:49] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:37:49] [INFO]   -> Found value: TN
[2026-03-17 18:37:49] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:37:49] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:37:49] [INFO]   -> Found value: 38501
[2026-03-17 18:37:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 18:37:49] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:37:49] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:49] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:37:49] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:49] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:37:49] [INFO]   -> Found value: 36.21138
[2026-03-17 18:37:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21137999999999834699337952770292758941650390625
[2026-03-17 18:37:49] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:37:49] [INFO]   -> Found value: -85.59756
[2026-03-17 18:37:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5975600000000014233592082746326923370361328125
[2026-03-17 18:37:49] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:37:49] [INFO]   -> Found value: 2026-03-17 13:34:04
[2026-03-17 18:37:49] [INFO]   -> Set field 'alarm' = "2026-03-17 13:34:04"
[2026-03-17 18:37:49] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:37:49] [INFO]   -> Found value: 2026-03-17 13:34:29
[2026-03-17 18:37:49] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:34:29"
[2026-03-17 18:37:49] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:37:49] [INFO]   -> Found value: 2026-03-17 13:36:12
[2026-03-17 18:37:49] [INFO]   -> Set field 'enroute' = "2026-03-17 13:36:12"
[2026-03-17 18:37:49] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:37:49] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:49] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:37:49] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:49] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:37:49] [INFO]   -> Found value: PIPPIN RD/POUNDSTONE DR
[2026-03-17 18:37:49] [INFO]   -> Set field 'incidentLocationCross' = "PIPPIN RD\/POUNDSTONE DR"
[2026-03-17 18:37:49] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:37:49] [INFO]   -> Found value: 984
[2026-03-17 18:37:49] [INFO]   -> Set field 'cADVehicleID' = 984
[2026-03-17 18:37:49] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:37:49] [INFO]   -> Found value: 2026-03-17 13:37:36
[2026-03-17 18:37:49] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:37:36"
[2026-03-17 18:37:49] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:37:49] [INFO]   -> Found value: 2026-03-17 13:37:36
[2026-03-17 18:37:49] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 13:37:36"
[2026-03-17 18:37:49] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:37:49] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:49] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:37:49] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:49] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:37:49] [INFO]   -> No value found (null or empty)
[2026-03-17 18:37:49] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:37:49] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:37:49] [INFO]   -> Found value: 20260029053
[2026-03-17 18:37:49] [INFO]   -> Set field 'policeReportNumber' = "20260029053"
[2026-03-17 18:37:49] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:37:49] [INFO]   -> Found value: [EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03/17/26 13:37:13 KBEATY] [EMS] IS A DIA...
[2026-03-17 18:37:49] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:37:49] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]"
[2026-03-17 18:37:49] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:37:49] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:37:49] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:37:49] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:37:49] [INFO]   -> Found value: CUMBY
[2026-03-17 18:37:49] [INFO]   -> Set field 'streetName' = "CUMBY"
[2026-03-17 18:37:49] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:37:49] [INFO]   -> Found value: RD
[2026-03-17 18:37:49] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:37:49] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:37:49] [INFO]   -> Found value: 4727 CUMBY RD
[2026-03-17 18:37:49] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4727 CUMBY RD"
[2026-03-17 18:37:49] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 18:37:49] [INFO] Concatenating street name and type
[2026-03-17 18:37:49] [INFO]   -> Combined street name: CUMBY RD
[2026-03-17 18:37:49] [INFO] Built locationCoordinates from lat/lng: 36.21138,-85.59756
[2026-03-17 18:37:49] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000718","dispatchRunNumber":"2026000718","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":4727,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21137999999999834699337952770292758941650390625,"nERISIncidentLongitude":-85.5975600000000014233592082746326923370361328125,"alarm":"2026-03-17 13:34:04","dispatched":"2026-03-17 13:34:29","enroute":"2026-03-17 13:36:12","incidentLocationCross":"PIPPIN RD\/POUNDSTONE DR","cADVehicleID":984,"timedispatch":"2026-03-17 13:37:36","timeenroutetoscene":"2026-03-17 13:37:36","policeReportNumber":"20260029053","dispatchNotes":"[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","cADLog":"[EMS] SHE IS UNABLE TO MOVE HIM FROM THE BED TO THE FLOOR  [03\/17\/26 13:37:13 KBEATY] [EMS] IS A DIABETIC  [03\/17\/26 13:34:27 KBEATY] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 13:34:18 SBALLARD] Event spawned from UNCONSCIOUS.  [03\/17\/2026 13:34:04 KBEATY] JETT BLACKWOOD  [03\/17\/26 13:33:55 KBEATY]]","incidentLocationCity":"COOKEVILLE","streetName":"CUMBY RD","incidentAddressTextVersionStreet":"4727 CUMBY RD","locationCoordinates":"36.21138,-85.59756"}
[2026-03-17 18:37:49] [INFO] Number of extracted fields: 23
[2026-03-17 18:37:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:37:49] [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-17 18:37:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:37:49] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:37:49] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:37:49] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:37:49] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 18:37:49] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 18:37:49] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:37:49] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:37:49] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:37:49] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-03-17 18:37:49] [INFO] Found existing Dispatch with cADNumber '2026000718', ID: 69b99ebf57c36c9a4 - will update instead of create
[2026-03-17 18:37:50] [INFO] Updated existing Dispatches record with ID: 69b99ebf57c36c9a4
[2026-03-17 18:37:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183748.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029053_20260317_183748.XML
[2026-03-17 18:37:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029053_20260317_183748.XML
[2026-03-17 18:49:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184947.XML
[2026-03-17 18:49:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184947.XML for user: 68f1466aed072ad4a
[2026-03-17 18:49:47] [INFO] File size: 5293 bytes
[2026-03-17 18:49:48] [INFO] Created FTPFiles record with ID: 69b9a24c4375118f1
[2026-03-17 18:49:48] [INFO] About to extract fields from XML. File size: 5293 bytes
[2026-03-17 18:49:48] [INFO] Number of mappings: 28
[2026-03-17 18:49:48] [INFO] Starting XML parsing. Content length: 5293
[2026-03-17 18:49:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:49:48] [INFO] Processing 28 field mappings
[2026-03-17 18:49:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:49:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:49:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:49:48] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:49:48] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:49:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:49:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:49:48] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:49:48] [INFO]   -> Found value: 2026000719
[2026-03-17 18:49:48] [INFO]   -> Set field 'incidentInternalId' = "2026000719"
[2026-03-17 18:49:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000719"
[2026-03-17 18:49:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:49:48] [INFO]   -> Found value: CHEST PAIN
[2026-03-17 18:49:48] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-17 18:49:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:49:48] [INFO]   -> Found value: 2760
[2026-03-17 18:49:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2760
[2026-03-17 18:49:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:49:48] [INFO]   -> Found value: TN
[2026-03-17 18:49:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:49:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:49:48] [INFO]   -> Found value: 38506
[2026-03-17 18:49:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 18:49:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:49:48] [INFO]   -> Found value: 36.24172
[2026-03-17 18:49:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2417200000000008230927051045000553131103515625
[2026-03-17 18:49:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:49:48] [INFO]   -> Found value: -85.43838
[2026-03-17 18:49:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.43837999999999510691850446164608001708984375
[2026-03-17 18:49:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:49:48] [INFO]   -> Found value: 2026-03-17 13:49:19
[2026-03-17 18:49:48] [INFO]   -> Set field 'alarm' = "2026-03-17 13:49:19"
[2026-03-17 18:49:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:49:48] [INFO]   -> Found value: 2026-03-17 13:49:45
[2026-03-17 18:49:48] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:49:45"
[2026-03-17 18:49:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:49:48] [INFO]   -> Found value: PARAN POINTE DR/MIRANDY RD
[2026-03-17 18:49:48] [INFO]   -> Set field 'incidentLocationCross' = "PARAN POINTE DR\/MIRANDY RD"
[2026-03-17 18:49:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:49:48] [INFO]   -> Found value: PCFR
[2026-03-17 18:49:48] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 18:49:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:49:48] [INFO]   -> Found value: 2026-03-17 13:49:45
[2026-03-17 18:49:48] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:49:45"
[2026-03-17 18:49:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:49:48] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:49:48] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:49:48] [INFO]   -> Found value: 20260029061
[2026-03-17 18:49:48] [INFO]   -> Set field 'policeReportNumber' = "20260029061"
[2026-03-17 18:49:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:49:48] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/17/2026 13:49:19 KBEATY]
[2026-03-17 18:49:48] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:49:48] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:49:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:49:48] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:49:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:49:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:49:48] [INFO]   -> Found value: PARAN
[2026-03-17 18:49:48] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-17 18:49:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:49:48] [INFO]   -> Found value: RD
[2026-03-17 18:49:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:49:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:49:48] [INFO]   -> Found value: 2760 PARAN RD
[2026-03-17 18:49:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2760 PARAN RD"
[2026-03-17 18:49:48] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 18:49:48] [INFO] Concatenating street name and type
[2026-03-17 18:49:48] [INFO]   -> Combined street name: PARAN RD
[2026-03-17 18:49:48] [INFO] Built locationCoordinates from lat/lng: 36.24172,-85.43838
[2026-03-17 18:49:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000719","dispatchRunNumber":"2026000719","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":2760,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2417200000000008230927051045000553131103515625,"nERISIncidentLongitude":-85.43837999999999510691850446164608001708984375,"alarm":"2026-03-17 13:49:19","dispatched":"2026-03-17 13:49:45","incidentLocationCross":"PARAN POINTE DR\/MIRANDY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 13:49:45","policeReportNumber":"20260029061","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","cADLog":"Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"2760 PARAN RD","locationCoordinates":"36.24172,-85.43838"}
[2026-03-17 18:49:48] [INFO] Number of extracted fields: 21
[2026-03-17 18:49:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:49:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 18:49:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:49:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:49:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:49:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:49:48] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 18:49:48] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 18:49:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:49:48] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:49:48] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:49:48] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-17 18:49:59] [INFO] Created new Dispatches record with ID: 69b9a24d684cd0ac9
[2026-03-17 18:49:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184947.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029061_20260317_184947.XML
[2026-03-17 18:49:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184947.XML
[2026-03-17 18:49:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184948.XML
[2026-03-17 18:49:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184948.XML for user: 68f1466aed072ad4a
[2026-03-17 18:49:59] [INFO] File size: 5293 bytes
[2026-03-17 18:49:59] [INFO] Created FTPFiles record with ID: 69b9a25775d2a2be4
[2026-03-17 18:49:59] [INFO] About to extract fields from XML. File size: 5293 bytes
[2026-03-17 18:49:59] [INFO] Number of mappings: 28
[2026-03-17 18:49:59] [INFO] Starting XML parsing. Content length: 5293
[2026-03-17 18:49:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:49:59] [INFO] Processing 28 field mappings
[2026-03-17 18:49:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:49:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:49:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:49:59] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:49:59] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:49:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:49:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:49:59] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:49:59] [INFO]   -> Found value: 2026000719
[2026-03-17 18:49:59] [INFO]   -> Set field 'incidentInternalId' = "2026000719"
[2026-03-17 18:49:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000719"
[2026-03-17 18:49:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:49:59] [INFO]   -> Found value: CHEST PAIN
[2026-03-17 18:49:59] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-17 18:49:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:49:59] [INFO]   -> Found value: 2760
[2026-03-17 18:49:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2760
[2026-03-17 18:49:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:49:59] [INFO]   -> Found value: TN
[2026-03-17 18:49:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:49:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:49:59] [INFO]   -> Found value: 38506
[2026-03-17 18:49:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 18:49:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:49:59] [INFO]   -> Found value: 36.24172
[2026-03-17 18:49:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2417200000000008230927051045000553131103515625
[2026-03-17 18:49:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:49:59] [INFO]   -> Found value: -85.43838
[2026-03-17 18:49:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.43837999999999510691850446164608001708984375
[2026-03-17 18:49:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:49:59] [INFO]   -> Found value: 2026-03-17 13:49:19
[2026-03-17 18:49:59] [INFO]   -> Set field 'alarm' = "2026-03-17 13:49:19"
[2026-03-17 18:49:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:49:59] [INFO]   -> Found value: 2026-03-17 13:49:45
[2026-03-17 18:49:59] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:49:45"
[2026-03-17 18:49:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:49:59] [INFO]   -> Found value: PARAN POINTE DR/MIRANDY RD
[2026-03-17 18:49:59] [INFO]   -> Set field 'incidentLocationCross' = "PARAN POINTE DR\/MIRANDY RD"
[2026-03-17 18:49:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:49:59] [INFO]   -> Found value: PCFR
[2026-03-17 18:49:59] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 18:49:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:49:59] [INFO]   -> Found value: 2026-03-17 13:49:45
[2026-03-17 18:49:59] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:49:45"
[2026-03-17 18:49:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:49:59] [INFO]   -> No value found (null or empty)
[2026-03-17 18:49:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:49:59] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:49:59] [INFO]   -> Found value: 20260029061
[2026-03-17 18:49:59] [INFO]   -> Set field 'policeReportNumber' = "20260029061"
[2026-03-17 18:49:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:49:59] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [03/17/2026 13:49:19 KBEATY]
[2026-03-17 18:49:59] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:49:59] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:49:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:49:59] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:49:59] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:49:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:49:59] [INFO]   -> Found value: PARAN
[2026-03-17 18:49:59] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-17 18:49:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:49:59] [INFO]   -> Found value: RD
[2026-03-17 18:49:59] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:49:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:49:59] [INFO]   -> Found value: 2760 PARAN RD
[2026-03-17 18:49:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2760 PARAN RD"
[2026-03-17 18:49:59] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 18:49:59] [INFO] Concatenating street name and type
[2026-03-17 18:49:59] [INFO]   -> Combined street name: PARAN RD
[2026-03-17 18:49:59] [INFO] Built locationCoordinates from lat/lng: 36.24172,-85.43838
[2026-03-17 18:49:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000719","dispatchRunNumber":"2026000719","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":2760,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2417200000000008230927051045000553131103515625,"nERISIncidentLongitude":-85.43837999999999510691850446164608001708984375,"alarm":"2026-03-17 13:49:19","dispatched":"2026-03-17 13:49:45","incidentLocationCross":"PARAN POINTE DR\/MIRANDY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 13:49:45","policeReportNumber":"20260029061","dispatchNotes":"Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","cADLog":"Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"2760 PARAN RD","locationCoordinates":"36.24172,-85.43838"}
[2026-03-17 18:49:59] [INFO] Number of extracted fields: 21
[2026-03-17 18:49:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:49:59] [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-17 18:49:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:49:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:49:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:49:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:49:59] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 18:49:59] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 18:49:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:49:59] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:49:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:50:00] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-17 18:50:02] [INFO] Found existing Dispatch with cADNumber '2026000719', ID: 69b9a24d684cd0ac9 - will update instead of create
[2026-03-17 18:50:03] [INFO] Updated existing Dispatches record with ID: 69b9a24d684cd0ac9
[2026-03-17 18:50:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184948.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029061_20260317_184948.XML
[2026-03-17 18:50:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_184948.XML
[2026-03-17 18:52:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185211.XML
[2026-03-17 18:52:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185211.XML for user: 68f1466aed072ad4a
[2026-03-17 18:52:11] [INFO] File size: 6503 bytes
[2026-03-17 18:52:11] [INFO] Created FTPFiles record with ID: 69b9a2db7341a2ae1
[2026-03-17 18:52:11] [INFO] About to extract fields from XML. File size: 6503 bytes
[2026-03-17 18:52:11] [INFO] Number of mappings: 28
[2026-03-17 18:52:11] [INFO] Starting XML parsing. Content length: 6503
[2026-03-17 18:52:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:52:11] [INFO] Processing 28 field mappings
[2026-03-17 18:52:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:52:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:52:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:52:11] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:52:11] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:52:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:52:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:52:11] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:52:11] [INFO]   -> Found value: 2026000719
[2026-03-17 18:52:11] [INFO]   -> Set field 'incidentInternalId' = "2026000719"
[2026-03-17 18:52:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000719"
[2026-03-17 18:52:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:52:11] [INFO]   -> Found value: CHEST PAIN
[2026-03-17 18:52:11] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-17 18:52:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:52:11] [INFO]   -> Found value: 2760
[2026-03-17 18:52:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2760
[2026-03-17 18:52:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:52:11] [INFO]   -> Found value: TN
[2026-03-17 18:52:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:52:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:52:11] [INFO]   -> Found value: 38506
[2026-03-17 18:52:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 18:52:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:52:11] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:52:11] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:52:11] [INFO]   -> Found value: 36.24172
[2026-03-17 18:52:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2417200000000008230927051045000553131103515625
[2026-03-17 18:52:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:52:11] [INFO]   -> Found value: -85.43838
[2026-03-17 18:52:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.43837999999999510691850446164608001708984375
[2026-03-17 18:52:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:52:11] [INFO]   -> Found value: 2026-03-17 13:49:19
[2026-03-17 18:52:11] [INFO]   -> Set field 'alarm' = "2026-03-17 13:49:19"
[2026-03-17 18:52:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:52:11] [INFO]   -> Found value: 2026-03-17 13:49:45
[2026-03-17 18:52:11] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:49:45"
[2026-03-17 18:52:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:52:11] [INFO]   -> Found value: 2026-03-17 13:52:09
[2026-03-17 18:52:11] [INFO]   -> Set field 'enroute' = "2026-03-17 13:52:09"
[2026-03-17 18:52:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:52:11] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:52:11] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:52:11] [INFO]   -> Found value: PARAN POINTE DR/MIRANDY RD
[2026-03-17 18:52:11] [INFO]   -> Set field 'incidentLocationCross' = "PARAN POINTE DR\/MIRANDY RD"
[2026-03-17 18:52:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:52:11] [INFO]   -> Found value: TK12
[2026-03-17 18:52:11] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-17 18:52:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:52:11] [INFO]   -> Found value: 2026-03-17 13:52:06
[2026-03-17 18:52:11] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:52:06"
[2026-03-17 18:52:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:52:11] [INFO]   -> Found value: 2026-03-17 13:52:09
[2026-03-17 18:52:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 13:52:09"
[2026-03-17 18:52:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:52:11] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:52:11] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:52:11] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:52:11] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:52:11] [INFO]   -> Found value: 20260029061
[2026-03-17 18:52:11] [INFO]   -> Set field 'policeReportNumber' = "20260029061"
[2026-03-17 18:52:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:52:11] [INFO]   -> Found value: [EMS] SWEATING  [03/17/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03/17/26 13:51:05 KBEATY] ...
[2026-03-17 18:52:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:52:11] [INFO]   -> Set field 'cADLog' = "[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:52:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:52:11] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:52:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:52:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:52:11] [INFO]   -> Found value: PARAN
[2026-03-17 18:52:11] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-17 18:52:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:52:11] [INFO]   -> Found value: RD
[2026-03-17 18:52:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:52:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:52:11] [INFO]   -> Found value: 2760 PARAN RD
[2026-03-17 18:52:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2760 PARAN RD"
[2026-03-17 18:52:11] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 18:52:11] [INFO] Concatenating street name and type
[2026-03-17 18:52:11] [INFO]   -> Combined street name: PARAN RD
[2026-03-17 18:52:11] [INFO] Built locationCoordinates from lat/lng: 36.24172,-85.43838
[2026-03-17 18:52:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000719","dispatchRunNumber":"2026000719","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":2760,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2417200000000008230927051045000553131103515625,"nERISIncidentLongitude":-85.43837999999999510691850446164608001708984375,"alarm":"2026-03-17 13:49:19","dispatched":"2026-03-17 13:49:45","enroute":"2026-03-17 13:52:09","incidentLocationCross":"PARAN POINTE DR\/MIRANDY RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 13:52:06","timeenroutetoscene":"2026-03-17 13:52:09","policeReportNumber":"20260029061","dispatchNotes":"[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","cADLog":"[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"2760 PARAN RD","locationCoordinates":"36.24172,-85.43838"}
[2026-03-17 18:52:11] [INFO] Number of extracted fields: 23
[2026-03-17 18:52:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:52:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 18:52:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:52:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:52:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:52:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:52: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-17 18:52: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-17 18:52:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:52:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:52:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:52:12] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-17 18:52:12] [INFO] Found existing Dispatch with cADNumber '2026000719', ID: 69b9a24d684cd0ac9 - will update instead of create
[2026-03-17 18:52:12] [INFO] Updated existing Dispatches record with ID: 69b9a24d684cd0ac9
[2026-03-17 18:52:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185211.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029061_20260317_185211.XML
[2026-03-17 18:52:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185211.XML
[2026-03-17 18:52:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185218.XML
[2026-03-17 18:52:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185218.XML for user: 68f1466aed072ad4a
[2026-03-17 18:52:18] [INFO] File size: 6503 bytes
[2026-03-17 18:52:18] [INFO] Created FTPFiles record with ID: 69b9a2e2ec2dbc17d
[2026-03-17 18:52:18] [INFO] About to extract fields from XML. File size: 6503 bytes
[2026-03-17 18:52:18] [INFO] Number of mappings: 28
[2026-03-17 18:52:18] [INFO] Starting XML parsing. Content length: 6503
[2026-03-17 18:52:18] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:52:18] [INFO] Processing 28 field mappings
[2026-03-17 18:52:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:52:18] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:52:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:52:18] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:52:18] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:52:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:52:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:52:18] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:52:18] [INFO]   -> Found value: 2026000719
[2026-03-17 18:52:18] [INFO]   -> Set field 'incidentInternalId' = "2026000719"
[2026-03-17 18:52:18] [INFO]   -> Set field 'dispatchRunNumber' = "2026000719"
[2026-03-17 18:52:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:52:18] [INFO]   -> Found value: CHEST PAIN
[2026-03-17 18:52:18] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-17 18:52:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:52:18] [INFO]   -> Found value: 2760
[2026-03-17 18:52:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2760
[2026-03-17 18:52:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:52:18] [INFO]   -> Found value: TN
[2026-03-17 18:52:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:52:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:52:18] [INFO]   -> Found value: 38506
[2026-03-17 18:52:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 18:52:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:52:18] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:52:18] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:52:18] [INFO]   -> Found value: 36.24172
[2026-03-17 18:52:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2417200000000008230927051045000553131103515625
[2026-03-17 18:52:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:52:18] [INFO]   -> Found value: -85.43838
[2026-03-17 18:52:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.43837999999999510691850446164608001708984375
[2026-03-17 18:52:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:52:18] [INFO]   -> Found value: 2026-03-17 13:49:19
[2026-03-17 18:52:18] [INFO]   -> Set field 'alarm' = "2026-03-17 13:49:19"
[2026-03-17 18:52:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:52:18] [INFO]   -> Found value: 2026-03-17 13:49:45
[2026-03-17 18:52:18] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:49:45"
[2026-03-17 18:52:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:52:18] [INFO]   -> Found value: 2026-03-17 13:52:09
[2026-03-17 18:52:18] [INFO]   -> Set field 'enroute' = "2026-03-17 13:52:09"
[2026-03-17 18:52:19] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:52:19] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:19] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:52:19] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:19] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:52:19] [INFO]   -> Found value: PARAN POINTE DR/MIRANDY RD
[2026-03-17 18:52:19] [INFO]   -> Set field 'incidentLocationCross' = "PARAN POINTE DR\/MIRANDY RD"
[2026-03-17 18:52:19] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:52:19] [INFO]   -> Found value: TK12
[2026-03-17 18:52:19] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-17 18:52:19] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:52:19] [INFO]   -> Found value: 2026-03-17 13:52:06
[2026-03-17 18:52:19] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:52:06"
[2026-03-17 18:52:19] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:52:19] [INFO]   -> Found value: 2026-03-17 13:52:09
[2026-03-17 18:52:19] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 13:52:09"
[2026-03-17 18:52:19] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:52:19] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:19] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:52:19] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:19] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:52:19] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:19] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:52:19] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:52:19] [INFO]   -> Found value: 20260029061
[2026-03-17 18:52:19] [INFO]   -> Set field 'policeReportNumber' = "20260029061"
[2026-03-17 18:52:19] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:52:19] [INFO]   -> Found value: [EMS] SWEATING  [03/17/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03/17/26 13:51:05 KBEATY] ...
[2026-03-17 18:52:19] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:52:19] [INFO]   -> Set field 'cADLog' = "[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:52:19] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:52:19] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:52:19] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:52:19] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:52:19] [INFO]   -> Found value: PARAN
[2026-03-17 18:52:19] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-17 18:52:19] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:52:19] [INFO]   -> Found value: RD
[2026-03-17 18:52:19] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:52:19] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:52:19] [INFO]   -> Found value: 2760 PARAN RD
[2026-03-17 18:52:19] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2760 PARAN RD"
[2026-03-17 18:52:19] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 18:52:19] [INFO] Concatenating street name and type
[2026-03-17 18:52:19] [INFO]   -> Combined street name: PARAN RD
[2026-03-17 18:52:19] [INFO] Built locationCoordinates from lat/lng: 36.24172,-85.43838
[2026-03-17 18:52:19] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000719","dispatchRunNumber":"2026000719","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":2760,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2417200000000008230927051045000553131103515625,"nERISIncidentLongitude":-85.43837999999999510691850446164608001708984375,"alarm":"2026-03-17 13:49:19","dispatched":"2026-03-17 13:49:45","enroute":"2026-03-17 13:52:09","incidentLocationCross":"PARAN POINTE DR\/MIRANDY RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 13:52:06","timeenroutetoscene":"2026-03-17 13:52:09","policeReportNumber":"20260029061","dispatchNotes":"[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","cADLog":"[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"2760 PARAN RD","locationCoordinates":"36.24172,-85.43838"}
[2026-03-17 18:52:19] [INFO] Number of extracted fields: 23
[2026-03-17 18:52:19] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:52:19] [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-17 18:52:19] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:52:19] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:52:19] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:52:19] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:52:19] [INFO] Fetched 14 stations 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-17 18:52:19] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 18:52:19] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:52:19] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:52:19] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:52:19] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-17 18:52:19] [INFO] Found existing Dispatch with cADNumber '2026000719', ID: 69b9a24d684cd0ac9 - will update instead of create
[2026-03-17 18:52:19] [INFO] Updated existing Dispatches record with ID: 69b9a24d684cd0ac9
[2026-03-17 18:52:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185218.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029061_20260317_185218.XML
[2026-03-17 18:52:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185218.XML
[2026-03-17 18:52:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185219.XML
[2026-03-17 18:52:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185219.XML for user: 68f1466aed072ad4a
[2026-03-17 18:52:19] [INFO] File size: 6503 bytes
[2026-03-17 18:52:20] [INFO] Created FTPFiles record with ID: 69b9a2e44fc49915a
[2026-03-17 18:52:20] [INFO] About to extract fields from XML. File size: 6503 bytes
[2026-03-17 18:52:20] [INFO] Number of mappings: 28
[2026-03-17 18:52:20] [INFO] Starting XML parsing. Content length: 6503
[2026-03-17 18:52:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 18:52:20] [INFO] Processing 28 field mappings
[2026-03-17 18:52:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 18:52:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 18:52:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 18:52:20] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 18:52:20] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 18:52:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 18:52:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 18:52:20] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 18:52:20] [INFO]   -> Found value: 2026000719
[2026-03-17 18:52:20] [INFO]   -> Set field 'incidentInternalId' = "2026000719"
[2026-03-17 18:52:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000719"
[2026-03-17 18:52:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 18:52:20] [INFO]   -> Found value: CHEST PAIN
[2026-03-17 18:52:20] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-17 18:52:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 18:52:20] [INFO]   -> Found value: 2760
[2026-03-17 18:52:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2760
[2026-03-17 18:52:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 18:52:20] [INFO]   -> Found value: TN
[2026-03-17 18:52:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 18:52:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 18:52:20] [INFO]   -> Found value: 38506
[2026-03-17 18:52:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 18:52:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 18:52:20] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 18:52:20] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 18:52:20] [INFO]   -> Found value: 36.24172
[2026-03-17 18:52:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2417200000000008230927051045000553131103515625
[2026-03-17 18:52:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 18:52:20] [INFO]   -> Found value: -85.43838
[2026-03-17 18:52:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.43837999999999510691850446164608001708984375
[2026-03-17 18:52:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 18:52:20] [INFO]   -> Found value: 2026-03-17 13:49:19
[2026-03-17 18:52:20] [INFO]   -> Set field 'alarm' = "2026-03-17 13:49:19"
[2026-03-17 18:52:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 18:52:20] [INFO]   -> Found value: 2026-03-17 13:49:45
[2026-03-17 18:52:20] [INFO]   -> Set field 'dispatched' = "2026-03-17 13:49:45"
[2026-03-17 18:52:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 18:52:20] [INFO]   -> Found value: 2026-03-17 13:52:09
[2026-03-17 18:52:20] [INFO]   -> Set field 'enroute' = "2026-03-17 13:52:09"
[2026-03-17 18:52:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 18:52:20] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 18:52:20] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 18:52:20] [INFO]   -> Found value: PARAN POINTE DR/MIRANDY RD
[2026-03-17 18:52:20] [INFO]   -> Set field 'incidentLocationCross' = "PARAN POINTE DR\/MIRANDY RD"
[2026-03-17 18:52:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 18:52:20] [INFO]   -> Found value: TK12
[2026-03-17 18:52:20] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-17 18:52:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 18:52:20] [INFO]   -> Found value: 2026-03-17 13:52:06
[2026-03-17 18:52:20] [INFO]   -> Set field 'timedispatch' = "2026-03-17 13:52:06"
[2026-03-17 18:52:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 18:52:20] [INFO]   -> Found value: 2026-03-17 13:52:09
[2026-03-17 18:52:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 13:52:09"
[2026-03-17 18:52:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 18:52:20] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 18:52:20] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 18:52:20] [INFO]   -> No value found (null or empty)
[2026-03-17 18:52:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 18:52:20] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 18:52:20] [INFO]   -> Found value: 20260029061
[2026-03-17 18:52:20] [INFO]   -> Set field 'policeReportNumber' = "20260029061"
[2026-03-17 18:52:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 18:52:20] [INFO]   -> Found value: [EMS] SWEATING  [03/17/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03/17/26 13:51:05 KBEATY] ...
[2026-03-17 18:52:20] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:52:20] [INFO]   -> Set field 'cADLog' = "[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]"
[2026-03-17 18:52:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 18:52:20] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 18:52:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 18:52:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 18:52:20] [INFO]   -> Found value: PARAN
[2026-03-17 18:52:20] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-03-17 18:52:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 18:52:20] [INFO]   -> Found value: RD
[2026-03-17 18:52:20] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 18:52:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 18:52:20] [INFO]   -> Found value: 2760 PARAN RD
[2026-03-17 18:52:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2760 PARAN RD"
[2026-03-17 18:52:20] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 18:52:20] [INFO] Concatenating street name and type
[2026-03-17 18:52:20] [INFO]   -> Combined street name: PARAN RD
[2026-03-17 18:52:20] [INFO] Built locationCoordinates from lat/lng: 36.24172,-85.43838
[2026-03-17 18:52:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000719","dispatchRunNumber":"2026000719","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":2760,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2417200000000008230927051045000553131103515625,"nERISIncidentLongitude":-85.43837999999999510691850446164608001708984375,"alarm":"2026-03-17 13:49:19","dispatched":"2026-03-17 13:49:45","enroute":"2026-03-17 13:52:09","incidentLocationCross":"PARAN POINTE DR\/MIRANDY RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 13:52:06","timeenroutetoscene":"2026-03-17 13:52:09","policeReportNumber":"20260029061","dispatchNotes":"[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","cADLog":"[EMS] SWEATING  [03\/17\/26 13:52:07 KBEATY] [EMS] DOES HAVE A CARDIAC HX  [03\/17\/26 13:51:05 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [03\/17\/26 13:50:55 SBALLARD] [EMS] IN THE LIVINGROOM  [03\/17\/26 13:50:46 KBEATY] [EMS] BETTY LOOPER SEVERE CHEST PAIN \/ STOMACH \/ BACK PAIN  [03\/17\/26 13:50:25 KBEATY] Event spawned from CHEST PAIN.  [03\/17\/2026 13:49:19 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"2760 PARAN RD","locationCoordinates":"36.24172,-85.43838"}
[2026-03-17 18:52:20] [INFO] Number of extracted fields: 23
[2026-03-17 18:52:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 18:52:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 18:52:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 18:52:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 18:52:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 18:52:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 18:52: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-17 18:52: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-17 18:52:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 18:52:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 18:52:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 18:52:20] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-17 18:52:21] [INFO] Found existing Dispatch with cADNumber '2026000719', ID: 69b9a24d684cd0ac9 - will update instead of create
[2026-03-17 18:52:21] [INFO] Updated existing Dispatches record with ID: 69b9a24d684cd0ac9
[2026-03-17 18:52:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185219.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029061_20260317_185219.XML
[2026-03-17 18:52:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029061_20260317_185219.XML
[2026-03-17 19:47:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194737.XML
[2026-03-17 19:47:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194737.XML for user: 68f1466aed072ad4a
[2026-03-17 19:47:37] [INFO] File size: 4981 bytes
[2026-03-17 19:47:38] [INFO] Created FTPFiles record with ID: 69b9afda1b3fc7e8f
[2026-03-17 19:47:38] [INFO] About to extract fields from XML. File size: 4981 bytes
[2026-03-17 19:47:38] [INFO] Number of mappings: 28
[2026-03-17 19:47:38] [INFO] Starting XML parsing. Content length: 4981
[2026-03-17 19:47:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 19:47:38] [INFO] Processing 28 field mappings
[2026-03-17 19:47:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 19:47:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 19:47:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 19:47:38] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 19:47:38] [INFO]   -> Found value: PCFD
PF
[2026-03-17 19:47:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPF"
[2026-03-17 19:47:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 19:47:38] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 19:47:38] [INFO]   -> Found value: 2026000720
[2026-03-17 19:47:38] [INFO]   -> Set field 'incidentInternalId' = "2026000720"
[2026-03-17 19:47:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000720"
[2026-03-17 19:47:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 19:47:38] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-17 19:47:38] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-17 19:47:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 19:47:38] [INFO]   -> Found value: 6630
[2026-03-17 19:47:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6630
[2026-03-17 19:47:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 19:47:38] [INFO]   -> Found value: TN
[2026-03-17 19:47:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 19:47:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 19:47:38] [INFO]   -> Found value: 38582
[2026-03-17 19:47:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-17 19:47:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 19:47:38] [INFO]   -> Found value: CORNER GROCERY/SHELL GAS STATION
[2026-03-17 19:47:38] [INFO]   -> Set field 'businessName' = "CORNER GROCERY\/SHELL GAS STATION"
[2026-03-17 19:47:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 19:47:38] [INFO]   -> Found value: 36.08826
[2026-03-17 19:47:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.08825999999999822875906829722225666046142578125
[2026-03-17 19:47:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 19:47:38] [INFO]   -> Found value: -85.72390
[2026-03-17 19:47:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7239000000000004320099833421409130096435546875
[2026-03-17 19:47:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 19:47:38] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:47:38] [INFO]   -> Set field 'alarm' = "2026-03-17 14:47:35"
[2026-03-17 19:47:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 19:47:38] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:47:38] [INFO]   -> Set field 'dispatched' = "2026-03-17 14:47:35"
[2026-03-17 19:47:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 19:47:38] [INFO]   -> Found value: OLD BAXTER RD/KEITH ALLISON RD
[2026-03-17 19:47:38] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/KEITH ALLISON RD"
[2026-03-17 19:47:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 19:47:38] [INFO]   -> Found value: TK31
[2026-03-17 19:47:38] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 19:47:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 19:47:38] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:47:38] [INFO]   -> Set field 'timedispatch' = "2026-03-17 14:47:35"
[2026-03-17 19:47:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 19:47:38] [INFO]   -> No value found (null or empty)
[2026-03-17 19:47:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 19:47:38] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 19:47:38] [INFO]   -> Found value: 20260029089
[2026-03-17 19:47:38] [INFO]   -> Set field 'policeReportNumber' = "20260029089"
[2026-03-17 19:47:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 19:47:38] [INFO]   -> Found value: Event spawned from VEHICLE FIRE.  [03/17/2026 14:47:35 KBURTON]
[2026-03-17 19:47:38] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:47:38] [INFO]   -> Set field 'cADLog' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:47:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 19:47:38] [INFO]   -> Found value: SILVER POINT
[2026-03-17 19:47:38] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-17 19:47:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 19:47:38] [INFO]   -> Found value: SMITHVILLE
[2026-03-17 19:47:38] [INFO]   -> Set field 'streetName' = "SMITHVILLE"
[2026-03-17 19:47:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 19:47:38] [INFO]   -> Found value: HWY
[2026-03-17 19:47:38] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-17 19:47:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 19:47:38] [INFO]   -> Found value: 6630 SMITHVILLE HWY
[2026-03-17 19:47:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6630 SMITHVILLE HWY"
[2026-03-17 19:47:38] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 19:47:38] [INFO] Concatenating street name and type
[2026-03-17 19:47:38] [INFO]   -> Combined street name: SMITHVILLE HWY
[2026-03-17 19:47:38] [INFO] Built locationCoordinates from lat/lng: 36.08826,-85.7239
[2026-03-17 19:47:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPF","incidentInternalId":"2026000720","dispatchRunNumber":"2026000720","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":6630,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"businessName":"CORNER GROCERY\/SHELL GAS STATION","nERISIncidentLatitude":36.08825999999999822875906829722225666046142578125,"nERISIncidentLongitude":-85.7239000000000004320099833421409130096435546875,"alarm":"2026-03-17 14:47:35","dispatched":"2026-03-17 14:47:35","incidentLocationCross":"OLD BAXTER RD\/KEITH ALLISON RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 14:47:35","policeReportNumber":"20260029089","dispatchNotes":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","cADLog":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","incidentLocationCity":"SILVER POINT","streetName":"SMITHVILLE HWY","incidentAddressTextVersionStreet":"6630 SMITHVILLE HWY","locationCoordinates":"36.08826,-85.7239"}
[2026-03-17 19:47:38] [INFO] Number of extracted fields: 22
[2026-03-17 19:47:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PF'
[2026-03-17 19:47:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PF', Parsed IDs = ["PCFD","PF"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 19:47:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PF"]
[2026-03-17 19:47:38] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 19:47:38] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 19:47:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PF"]
[2026-03-17 19:47:38] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 19:47:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 19:47:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 19:47:38] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 19:47:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 19:47:38] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-17 19:47:50] [INFO] Created new Dispatches record with ID: 69b9afdcaa78c7597
[2026-03-17 19:47:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194737.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029089_20260317_194737.XML
[2026-03-17 19:47:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194737.XML
[2026-03-17 19:47:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194759.XML
[2026-03-17 19:47:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194759.XML for user: 68f1466aed072ad4a
[2026-03-17 19:47:59] [INFO] File size: 4866 bytes
[2026-03-17 19:48:00] [INFO] Created FTPFiles record with ID: 69b9aff03f4f538e4
[2026-03-17 19:48:00] [INFO] About to extract fields from XML. File size: 4866 bytes
[2026-03-17 19:48:00] [INFO] Number of mappings: 28
[2026-03-17 19:48:00] [INFO] Starting XML parsing. Content length: 4866
[2026-03-17 19:48:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 19:48:00] [INFO] Processing 28 field mappings
[2026-03-17 19:48:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 19:48:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 19:48:00] [INFO]   -> Found value: PCFD
[2026-03-17 19:48:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 19:48:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 19:48:00] [INFO]   -> Found value: 2026000720
[2026-03-17 19:48:00] [INFO]   -> Set field 'incidentInternalId' = "2026000720"
[2026-03-17 19:48:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000720"
[2026-03-17 19:48:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 19:48:00] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-17 19:48:00] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-17 19:48:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 19:48:00] [INFO]   -> Found value: 6630
[2026-03-17 19:48:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6630
[2026-03-17 19:48:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 19:48:00] [INFO]   -> Found value: TN
[2026-03-17 19:48:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 19:48:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 19:48:00] [INFO]   -> Found value: 38582
[2026-03-17 19:48:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-17 19:48:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 19:48:00] [INFO]   -> Found value: CORNER GROCERY/SHELL GAS STATION
[2026-03-17 19:48:00] [INFO]   -> Set field 'businessName' = "CORNER GROCERY\/SHELL GAS STATION"
[2026-03-17 19:48:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 19:48:00] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 19:48:00] [INFO]   -> Found value: 36.08826
[2026-03-17 19:48:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.08825999999999822875906829722225666046142578125
[2026-03-17 19:48:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 19:48:00] [INFO]   -> Found value: -85.72390
[2026-03-17 19:48:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7239000000000004320099833421409130096435546875
[2026-03-17 19:48:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 19:48:00] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:00] [INFO]   -> Set field 'alarm' = "2026-03-17 14:47:35"
[2026-03-17 19:48:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 19:48:00] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:00] [INFO]   -> Set field 'dispatched' = "2026-03-17 14:47:35"
[2026-03-17 19:48:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 19:48:00] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:00] [INFO]   -> Set field 'enroute' = "2026-03-17 14:47:57"
[2026-03-17 19:48:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 19:48:00] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 19:48:00] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 19:48:00] [INFO]   -> Found value: OLD BAXTER RD/KEITH ALLISON RD
[2026-03-17 19:48:00] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/KEITH ALLISON RD"
[2026-03-17 19:48:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 19:48:00] [INFO]   -> Found value: TK31
[2026-03-17 19:48:00] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 19:48:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 19:48:00] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:00] [INFO]   -> Set field 'timedispatch' = "2026-03-17 14:47:35"
[2026-03-17 19:48:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 19:48:00] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:00] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 14:47:57"
[2026-03-17 19:48:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 19:48:00] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 19:48:00] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 19:48:00] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 19:48:00] [INFO]   -> Found value: 20260029089
[2026-03-17 19:48:00] [INFO]   -> Set field 'policeReportNumber' = "20260029089"
[2026-03-17 19:48:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 19:48:00] [INFO]   -> Found value: Event spawned from VEHICLE FIRE.  [03/17/2026 14:47:35 KBURTON]
[2026-03-17 19:48:00] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:00] [INFO]   -> Set field 'cADLog' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 19:48:00] [INFO]   -> Found value: SILVER POINT
[2026-03-17 19:48:00] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-17 19:48:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 19:48:00] [INFO]   -> Found value: SMITHVILLE
[2026-03-17 19:48:00] [INFO]   -> Set field 'streetName' = "SMITHVILLE"
[2026-03-17 19:48:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 19:48:00] [INFO]   -> Found value: HWY
[2026-03-17 19:48:00] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-17 19:48:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 19:48:00] [INFO]   -> Found value: 6630 SMITHVILLE HWY
[2026-03-17 19:48:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6630 SMITHVILLE HWY"
[2026-03-17 19:48:00] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 19:48:00] [INFO] Concatenating street name and type
[2026-03-17 19:48:00] [INFO]   -> Combined street name: SMITHVILLE HWY
[2026-03-17 19:48:00] [INFO] Built locationCoordinates from lat/lng: 36.08826,-85.7239
[2026-03-17 19:48:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000720","dispatchRunNumber":"2026000720","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":6630,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"businessName":"CORNER GROCERY\/SHELL GAS STATION","nERISIncidentLatitude":36.08825999999999822875906829722225666046142578125,"nERISIncidentLongitude":-85.7239000000000004320099833421409130096435546875,"alarm":"2026-03-17 14:47:35","dispatched":"2026-03-17 14:47:35","enroute":"2026-03-17 14:47:57","incidentLocationCross":"OLD BAXTER RD\/KEITH ALLISON RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 14:47:35","timeenroutetoscene":"2026-03-17 14:47:57","policeReportNumber":"20260029089","dispatchNotes":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","cADLog":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","incidentLocationCity":"SILVER POINT","streetName":"SMITHVILLE HWY","incidentAddressTextVersionStreet":"6630 SMITHVILLE HWY","locationCoordinates":"36.08826,-85.7239"}
[2026-03-17 19:48:00] [INFO] Number of extracted fields: 24
[2026-03-17 19:48:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 19:48:00] [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-17 19:48:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 19:48:00] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 19:48:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 19:48:00] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 19:48:00] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 19:48:00] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 19:48:00] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-17 19:48:01] [INFO] Found existing Dispatch with cADNumber '2026000720', ID: 69b9afdcaa78c7597 - will update instead of create
[2026-03-17 19:48:01] [INFO] Updated existing Dispatches record with ID: 69b9afdcaa78c7597
[2026-03-17 19:48:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194759.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029089_20260317_194759.XML
[2026-03-17 19:48:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194759.XML
[2026-03-17 19:48:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194801.XML
[2026-03-17 19:48:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194801.XML for user: 68f1466aed072ad4a
[2026-03-17 19:48:01] [INFO] File size: 4866 bytes
[2026-03-17 19:48:01] [INFO] Created FTPFiles record with ID: 69b9aff1c2cc374c4
[2026-03-17 19:48:01] [INFO] About to extract fields from XML. File size: 4866 bytes
[2026-03-17 19:48:01] [INFO] Number of mappings: 28
[2026-03-17 19:48:01] [INFO] Starting XML parsing. Content length: 4866
[2026-03-17 19:48:01] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 19:48:01] [INFO] Processing 28 field mappings
[2026-03-17 19:48:01] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 19:48:01] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 19:48:01] [INFO]   -> Found value: PCFD
[2026-03-17 19:48:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 19:48:01] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 19:48:01] [INFO]   -> Found value: 2026000720
[2026-03-17 19:48:01] [INFO]   -> Set field 'incidentInternalId' = "2026000720"
[2026-03-17 19:48:01] [INFO]   -> Set field 'dispatchRunNumber' = "2026000720"
[2026-03-17 19:48:01] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 19:48:01] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-17 19:48:01] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-17 19:48:01] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 19:48:01] [INFO]   -> Found value: 6630
[2026-03-17 19:48:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6630
[2026-03-17 19:48:01] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 19:48:01] [INFO]   -> Found value: TN
[2026-03-17 19:48:01] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 19:48:01] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 19:48:01] [INFO]   -> Found value: 38582
[2026-03-17 19:48:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-17 19:48:01] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 19:48:01] [INFO]   -> Found value: CORNER GROCERY/SHELL GAS STATION
[2026-03-17 19:48:01] [INFO]   -> Set field 'businessName' = "CORNER GROCERY\/SHELL GAS STATION"
[2026-03-17 19:48:01] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 19:48:01] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:01] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 19:48:01] [INFO]   -> Found value: 36.08826
[2026-03-17 19:48:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.08825999999999822875906829722225666046142578125
[2026-03-17 19:48:01] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 19:48:01] [INFO]   -> Found value: -85.72390
[2026-03-17 19:48:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7239000000000004320099833421409130096435546875
[2026-03-17 19:48:01] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 19:48:01] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:01] [INFO]   -> Set field 'alarm' = "2026-03-17 14:47:35"
[2026-03-17 19:48:01] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 19:48:01] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:01] [INFO]   -> Set field 'dispatched' = "2026-03-17 14:47:35"
[2026-03-17 19:48:01] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 19:48:01] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:01] [INFO]   -> Set field 'enroute' = "2026-03-17 14:47:57"
[2026-03-17 19:48:01] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 19:48:01] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:01] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 19:48:01] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:01] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 19:48:01] [INFO]   -> Found value: OLD BAXTER RD/KEITH ALLISON RD
[2026-03-17 19:48:01] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/KEITH ALLISON RD"
[2026-03-17 19:48:01] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 19:48:01] [INFO]   -> Found value: TK31
[2026-03-17 19:48:01] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 19:48:01] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 19:48:01] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:01] [INFO]   -> Set field 'timedispatch' = "2026-03-17 14:47:35"
[2026-03-17 19:48:01] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 19:48:01] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:01] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 14:47:57"
[2026-03-17 19:48:01] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 19:48:01] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:01] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 19:48:01] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:01] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 19:48:01] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:01] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 19:48:01] [INFO]   -> Found value: 20260029089
[2026-03-17 19:48:01] [INFO]   -> Set field 'policeReportNumber' = "20260029089"
[2026-03-17 19:48:01] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 19:48:01] [INFO]   -> Found value: Event spawned from VEHICLE FIRE.  [03/17/2026 14:47:35 KBURTON]
[2026-03-17 19:48:01] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:01] [INFO]   -> Set field 'cADLog' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:01] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 19:48:01] [INFO]   -> Found value: SILVER POINT
[2026-03-17 19:48:01] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-17 19:48:01] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 19:48:01] [INFO]   -> Found value: SMITHVILLE
[2026-03-17 19:48:01] [INFO]   -> Set field 'streetName' = "SMITHVILLE"
[2026-03-17 19:48:01] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 19:48:01] [INFO]   -> Found value: HWY
[2026-03-17 19:48:01] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-17 19:48:01] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 19:48:01] [INFO]   -> Found value: 6630 SMITHVILLE HWY
[2026-03-17 19:48:01] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6630 SMITHVILLE HWY"
[2026-03-17 19:48:01] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 19:48:01] [INFO] Concatenating street name and type
[2026-03-17 19:48:01] [INFO]   -> Combined street name: SMITHVILLE HWY
[2026-03-17 19:48:01] [INFO] Built locationCoordinates from lat/lng: 36.08826,-85.7239
[2026-03-17 19:48:01] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000720","dispatchRunNumber":"2026000720","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":6630,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"businessName":"CORNER GROCERY\/SHELL GAS STATION","nERISIncidentLatitude":36.08825999999999822875906829722225666046142578125,"nERISIncidentLongitude":-85.7239000000000004320099833421409130096435546875,"alarm":"2026-03-17 14:47:35","dispatched":"2026-03-17 14:47:35","enroute":"2026-03-17 14:47:57","incidentLocationCross":"OLD BAXTER RD\/KEITH ALLISON RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 14:47:35","timeenroutetoscene":"2026-03-17 14:47:57","policeReportNumber":"20260029089","dispatchNotes":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","cADLog":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","incidentLocationCity":"SILVER POINT","streetName":"SMITHVILLE HWY","incidentAddressTextVersionStreet":"6630 SMITHVILLE HWY","locationCoordinates":"36.08826,-85.7239"}
[2026-03-17 19:48:01] [INFO] Number of extracted fields: 24
[2026-03-17 19:48:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 19:48:01] [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-17 19:48:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 19:48:01] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 19:48:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 19:48:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 19:48:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 19:48:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 19:48:02] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-17 19:48:02] [INFO] Found existing Dispatch with cADNumber '2026000720', ID: 69b9afdcaa78c7597 - will update instead of create
[2026-03-17 19:48:02] [INFO] Updated existing Dispatches record with ID: 69b9afdcaa78c7597
[2026-03-17 19:48:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194801.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029089_20260317_194801.XML
[2026-03-17 19:48:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194801.XML
[2026-03-17 19:48:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194808.XML
[2026-03-17 19:48:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194808.XML for user: 68f1466aed072ad4a
[2026-03-17 19:48:08] [INFO] File size: 4866 bytes
[2026-03-17 19:48:08] [INFO] Created FTPFiles record with ID: 69b9aff8a4b49b8a7
[2026-03-17 19:48:08] [INFO] About to extract fields from XML. File size: 4866 bytes
[2026-03-17 19:48:08] [INFO] Number of mappings: 28
[2026-03-17 19:48:08] [INFO] Starting XML parsing. Content length: 4866
[2026-03-17 19:48:08] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 19:48:08] [INFO] Processing 28 field mappings
[2026-03-17 19:48:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 19:48:08] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 19:48:08] [INFO]   -> Found value: PCFD
[2026-03-17 19:48:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 19:48:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 19:48:08] [INFO]   -> Found value: 2026000720
[2026-03-17 19:48:08] [INFO]   -> Set field 'incidentInternalId' = "2026000720"
[2026-03-17 19:48:08] [INFO]   -> Set field 'dispatchRunNumber' = "2026000720"
[2026-03-17 19:48:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 19:48:08] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-17 19:48:08] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-17 19:48:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 19:48:08] [INFO]   -> Found value: 6630
[2026-03-17 19:48:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6630
[2026-03-17 19:48:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 19:48:08] [INFO]   -> Found value: TN
[2026-03-17 19:48:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 19:48:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 19:48:08] [INFO]   -> Found value: 38582
[2026-03-17 19:48:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-17 19:48:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 19:48:08] [INFO]   -> Found value: CORNER GROCERY/SHELL GAS STATION
[2026-03-17 19:48:08] [INFO]   -> Set field 'businessName' = "CORNER GROCERY\/SHELL GAS STATION"
[2026-03-17 19:48:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 19:48:08] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 19:48:08] [INFO]   -> Found value: 36.08826
[2026-03-17 19:48:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.08825999999999822875906829722225666046142578125
[2026-03-17 19:48:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 19:48:08] [INFO]   -> Found value: -85.72390
[2026-03-17 19:48:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7239000000000004320099833421409130096435546875
[2026-03-17 19:48:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 19:48:08] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:08] [INFO]   -> Set field 'alarm' = "2026-03-17 14:47:35"
[2026-03-17 19:48:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 19:48:08] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:08] [INFO]   -> Set field 'dispatched' = "2026-03-17 14:47:35"
[2026-03-17 19:48:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 19:48:08] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:08] [INFO]   -> Set field 'enroute' = "2026-03-17 14:47:57"
[2026-03-17 19:48:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 19:48:08] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 19:48:08] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 19:48:08] [INFO]   -> Found value: OLD BAXTER RD/KEITH ALLISON RD
[2026-03-17 19:48:08] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/KEITH ALLISON RD"
[2026-03-17 19:48:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 19:48:08] [INFO]   -> Found value: TK31
[2026-03-17 19:48:08] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 19:48:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 19:48:08] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:08] [INFO]   -> Set field 'timedispatch' = "2026-03-17 14:47:35"
[2026-03-17 19:48:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 19:48:08] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:08] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 14:47:57"
[2026-03-17 19:48:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 19:48:08] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 19:48:08] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 19:48:08] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 19:48:08] [INFO]   -> Found value: 20260029089
[2026-03-17 19:48:08] [INFO]   -> Set field 'policeReportNumber' = "20260029089"
[2026-03-17 19:48:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 19:48:08] [INFO]   -> Found value: Event spawned from VEHICLE FIRE.  [03/17/2026 14:47:35 KBURTON]
[2026-03-17 19:48:08] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:08] [INFO]   -> Set field 'cADLog' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 19:48:08] [INFO]   -> Found value: SILVER POINT
[2026-03-17 19:48:08] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-17 19:48:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 19:48:08] [INFO]   -> Found value: SMITHVILLE
[2026-03-17 19:48:08] [INFO]   -> Set field 'streetName' = "SMITHVILLE"
[2026-03-17 19:48:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 19:48:08] [INFO]   -> Found value: HWY
[2026-03-17 19:48:08] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-17 19:48:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 19:48:08] [INFO]   -> Found value: 6630 SMITHVILLE HWY
[2026-03-17 19:48:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6630 SMITHVILLE HWY"
[2026-03-17 19:48:08] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 19:48:08] [INFO] Concatenating street name and type
[2026-03-17 19:48:08] [INFO]   -> Combined street name: SMITHVILLE HWY
[2026-03-17 19:48:08] [INFO] Built locationCoordinates from lat/lng: 36.08826,-85.7239
[2026-03-17 19:48:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000720","dispatchRunNumber":"2026000720","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":6630,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"businessName":"CORNER GROCERY\/SHELL GAS STATION","nERISIncidentLatitude":36.08825999999999822875906829722225666046142578125,"nERISIncidentLongitude":-85.7239000000000004320099833421409130096435546875,"alarm":"2026-03-17 14:47:35","dispatched":"2026-03-17 14:47:35","enroute":"2026-03-17 14:47:57","incidentLocationCross":"OLD BAXTER RD\/KEITH ALLISON RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 14:47:35","timeenroutetoscene":"2026-03-17 14:47:57","policeReportNumber":"20260029089","dispatchNotes":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","cADLog":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","incidentLocationCity":"SILVER POINT","streetName":"SMITHVILLE HWY","incidentAddressTextVersionStreet":"6630 SMITHVILLE HWY","locationCoordinates":"36.08826,-85.7239"}
[2026-03-17 19:48:08] [INFO] Number of extracted fields: 24
[2026-03-17 19:48:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 19:48:08] [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-17 19:48:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 19:48:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 19:48:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 19:48:09] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 19:48:09] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 19:48:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 19:48:09] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-17 19:48:09] [INFO] Found existing Dispatch with cADNumber '2026000720', ID: 69b9afdcaa78c7597 - will update instead of create
[2026-03-17 19:48:09] [INFO] Updated existing Dispatches record with ID: 69b9afdcaa78c7597
[2026-03-17 19:48:09] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194808.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029089_20260317_194808.XML
[2026-03-17 19:48:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194808.XML
[2026-03-17 19:48:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194809.XML
[2026-03-17 19:48:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194809.XML for user: 68f1466aed072ad4a
[2026-03-17 19:48:09] [INFO] File size: 4866 bytes
[2026-03-17 19:48:10] [INFO] Created FTPFiles record with ID: 69b9affa4f1c6771e
[2026-03-17 19:48:10] [INFO] About to extract fields from XML. File size: 4866 bytes
[2026-03-17 19:48:10] [INFO] Number of mappings: 28
[2026-03-17 19:48:10] [INFO] Starting XML parsing. Content length: 4866
[2026-03-17 19:48:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 19:48:10] [INFO] Processing 28 field mappings
[2026-03-17 19:48:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 19:48:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 19:48:10] [INFO]   -> Found value: PCFD
[2026-03-17 19:48:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 19:48:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 19:48:10] [INFO]   -> Found value: 2026000720
[2026-03-17 19:48:10] [INFO]   -> Set field 'incidentInternalId' = "2026000720"
[2026-03-17 19:48:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000720"
[2026-03-17 19:48:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 19:48:10] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-17 19:48:10] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-17 19:48:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 19:48:10] [INFO]   -> Found value: 6630
[2026-03-17 19:48:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6630
[2026-03-17 19:48:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 19:48:10] [INFO]   -> Found value: TN
[2026-03-17 19:48:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 19:48:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 19:48:10] [INFO]   -> Found value: 38582
[2026-03-17 19:48:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-03-17 19:48:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 19:48:10] [INFO]   -> Found value: CORNER GROCERY/SHELL GAS STATION
[2026-03-17 19:48:10] [INFO]   -> Set field 'businessName' = "CORNER GROCERY\/SHELL GAS STATION"
[2026-03-17 19:48:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 19:48:10] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 19:48:10] [INFO]   -> Found value: 36.08826
[2026-03-17 19:48:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.08825999999999822875906829722225666046142578125
[2026-03-17 19:48:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 19:48:10] [INFO]   -> Found value: -85.72390
[2026-03-17 19:48:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7239000000000004320099833421409130096435546875
[2026-03-17 19:48:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 19:48:10] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:10] [INFO]   -> Set field 'alarm' = "2026-03-17 14:47:35"
[2026-03-17 19:48:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 19:48:10] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:10] [INFO]   -> Set field 'dispatched' = "2026-03-17 14:47:35"
[2026-03-17 19:48:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 19:48:10] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:10] [INFO]   -> Set field 'enroute' = "2026-03-17 14:47:57"
[2026-03-17 19:48:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 19:48:10] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 19:48:10] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 19:48:10] [INFO]   -> Found value: OLD BAXTER RD/KEITH ALLISON RD
[2026-03-17 19:48:10] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/KEITH ALLISON RD"
[2026-03-17 19:48:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 19:48:10] [INFO]   -> Found value: TK31
[2026-03-17 19:48:10] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 19:48:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 19:48:10] [INFO]   -> Found value: 2026-03-17 14:47:35
[2026-03-17 19:48:10] [INFO]   -> Set field 'timedispatch' = "2026-03-17 14:47:35"
[2026-03-17 19:48:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 19:48:10] [INFO]   -> Found value: 2026-03-17 14:47:57
[2026-03-17 19:48:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 14:47:57"
[2026-03-17 19:48:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 19:48:10] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 19:48:10] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 19:48:10] [INFO]   -> No value found (null or empty)
[2026-03-17 19:48:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 19:48:10] [INFO]   -> Found value: 20260029089
[2026-03-17 19:48:10] [INFO]   -> Set field 'policeReportNumber' = "20260029089"
[2026-03-17 19:48:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 19:48:10] [INFO]   -> Found value: Event spawned from VEHICLE FIRE.  [03/17/2026 14:47:35 KBURTON]
[2026-03-17 19:48:10] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:10] [INFO]   -> Set field 'cADLog' = "Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]"
[2026-03-17 19:48:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 19:48:10] [INFO]   -> Found value: SILVER POINT
[2026-03-17 19:48:10] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-03-17 19:48:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 19:48:10] [INFO]   -> Found value: SMITHVILLE
[2026-03-17 19:48:10] [INFO]   -> Set field 'streetName' = "SMITHVILLE"
[2026-03-17 19:48:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 19:48:10] [INFO]   -> Found value: HWY
[2026-03-17 19:48:10] [INFO]   -> Set field 'streetType' = "HWY"
[2026-03-17 19:48:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 19:48:10] [INFO]   -> Found value: 6630 SMITHVILLE HWY
[2026-03-17 19:48:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6630 SMITHVILLE HWY"
[2026-03-17 19:48:10] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 19:48:10] [INFO] Concatenating street name and type
[2026-03-17 19:48:10] [INFO]   -> Combined street name: SMITHVILLE HWY
[2026-03-17 19:48:10] [INFO] Built locationCoordinates from lat/lng: 36.08826,-85.7239
[2026-03-17 19:48:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000720","dispatchRunNumber":"2026000720","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":6630,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"businessName":"CORNER GROCERY\/SHELL GAS STATION","nERISIncidentLatitude":36.08825999999999822875906829722225666046142578125,"nERISIncidentLongitude":-85.7239000000000004320099833421409130096435546875,"alarm":"2026-03-17 14:47:35","dispatched":"2026-03-17 14:47:35","enroute":"2026-03-17 14:47:57","incidentLocationCross":"OLD BAXTER RD\/KEITH ALLISON RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 14:47:35","timeenroutetoscene":"2026-03-17 14:47:57","policeReportNumber":"20260029089","dispatchNotes":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","cADLog":"Event spawned from VEHICLE FIRE.  [03\/17\/2026 14:47:35 KBURTON]","incidentLocationCity":"SILVER POINT","streetName":"SMITHVILLE HWY","incidentAddressTextVersionStreet":"6630 SMITHVILLE HWY","locationCoordinates":"36.08826,-85.7239"}
[2026-03-17 19:48:10] [INFO] Number of extracted fields: 24
[2026-03-17 19:48:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 19:48: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-17 19:48:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 19:48:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 19:48:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 19:48: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-17 19:48: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-17 19:48:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 19:48:10] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-17 19:48:11] [INFO] Found existing Dispatch with cADNumber '2026000720', ID: 69b9afdcaa78c7597 - will update instead of create
[2026-03-17 19:48:11] [INFO] Updated existing Dispatches record with ID: 69b9afdcaa78c7597
[2026-03-17 19:48:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194809.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029089_20260317_194809.XML
[2026-03-17 19:48:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029089_20260317_194809.XML
[2026-03-17 20:00:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08082.xml
[2026-03-17 20:00:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08082.xml for user: 68d56363ec1209189
[2026-03-17 20:00:01] [INFO] File size: 2987 bytes
[2026-03-17 20:00:02] [INFO] Created FTPFiles record with ID: 69b9b2c1f3911044e
[2026-03-17 20:00:02] [INFO] About to extract fields from XML. File size: 2987 bytes
[2026-03-17 20:00:02] [INFO] Number of mappings: 21
[2026-03-17 20:00:02] [INFO] Starting XML parsing. Content length: 2987
[2026-03-17 20:00:02] [INFO] XML parsed successfully. Root element: Incident
[2026-03-17 20:00:02] [INFO] Processing 21 field mappings
[2026-03-17 20:00:02] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-17 20:00:02] [INFO]   -> Found value: 26-08082
[2026-03-17 20:00:02] [INFO]   -> Set field 'dispatchRunNumber' = "26-08082"
[2026-03-17 20:00:02] [INFO]   -> Set field 'cADNumber' = "26-08082"
[2026-03-17 20:00:02] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-17 20:00:02] [INFO]   -> Found value: 107
[2026-03-17 20:00:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 107
[2026-03-17 20:00:02] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-17 20:00:02] [INFO]   -> Found value: CRAZY HORSE LN
[2026-03-17 20:00:02] [INFO]   -> Set field 'streetName' = "CRAZY HORSE LN"
[2026-03-17 20:00:02] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-17 20:00:02] [INFO]   -> No value found (null or empty)
[2026-03-17 20:00:02] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-17 20:00:02] [INFO]   -> Found value: SIKESTON
[2026-03-17 20:00:02] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-17 20:00:02] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-17 20:00:02] [INFO]   -> No value found (null or empty)
[2026-03-17 20:00:02] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-17 20:00:02] [INFO]   -> No value found (null or empty)
[2026-03-17 20:00:02] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-17 20:00:02] [INFO]   -> No value found (null or empty)
[2026-03-17 20:00:02] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-17 20:00:02] [INFO]   -> Found value: 0
[2026-03-17 20:00:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-17 20:00:02] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-17 20:00:02] [INFO]   -> Found value: 0
[2026-03-17 20:00:02] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-17 20:00:02] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-17 20:00:02] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-03-17 20:00:02] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-03-17 20:00:02] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-17 20:00:02] [INFO]   -> Found value: 03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD


MULT CARS IN THE BA...
[2026-03-17 20:00:02] [INFO]   -> Set field 'dispatchNotes' = "03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN"
[2026-03-17 20:00:02] [INFO]   -> Set field 'cADLog' = "03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN"
[2026-03-17 20:00:02] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-17 20:00:02] [INFO]   -> Found value: 03-17-2026T14:19:42
[2026-03-17 20:00:02] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:19:42
[2026-03-17 20:00:02] [ERROR] Error formatting datetime '2026-17-03T14:19:42': Failed to parse time string (2026-17-03T14:19:42) at position 6 (7): Unexpected character
[2026-03-17 20:00:02] [INFO]   -> Set field 'alarm' = null
[2026-03-17 20:00:02] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:19:42
[2026-03-17 20:00:02] [ERROR] Error formatting datetime '2026-17-03T14:19:42': Failed to parse time string (2026-17-03T14:19:42) at position 6 (7): Unexpected character
[2026-03-17 20:00:02] [INFO]   -> Set field 'dispatched' = null
[2026-03-17 20:00:02] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-17 20:00:02] [INFO]   -> Found value: 03-17-2026T14:33:45
[2026-03-17 20:00:02] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:33:45
[2026-03-17 20:00:02] [ERROR] Error formatting datetime '2026-17-03T14:33:45': Failed to parse time string (2026-17-03T14:33:45) at position 6 (7): Unexpected character
[2026-03-17 20:00:02] [INFO]   -> Set field 'onScene' = null
[2026-03-17 20:00:02] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-17 20:00:02] [INFO]   -> No value found (null or empty)
[2026-03-17 20:00:02] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-17 20:00:02] [INFO]   -> Found value: CANCEL
[2026-03-17 20:00:02] [INFO]   -> Set field 'cADVehicleID' = "CANCEL"
[2026-03-17 20:00:02] [INFO]   -> Set field 'name' = "CANCEL"
[2026-03-17 20:00:02] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-17 20:00:02] [INFO]   -> No value found (null or empty)
[2026-03-17 20:00:02] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-17 20:00:02] [INFO]   -> No value found (null or empty)
[2026-03-17 20:00:02] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-17 20:00:02] [INFO]   -> Found value: 03-17-2026T14:59:43
[2026-03-17 20:00:02] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:59:43
[2026-03-17 20:00:02] [ERROR] Error formatting datetime '2026-17-03T14:59:43': Failed to parse time string (2026-17-03T14:59:43) at position 6 (7): Unexpected character
[2026-03-17 20:00:02] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-17 20:00:02] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-17 20:00:02] [INFO]   -> Found value: 03-17-2026T14:33:43
[2026-03-17 20:00:02] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:33:43
[2026-03-17 20:00:02] [ERROR] Error formatting datetime '2026-17-03T14:33:43': Failed to parse time string (2026-17-03T14:33:43) at position 6 (7): Unexpected character
[2026-03-17 20:00:02] [INFO]   -> Set field 'timedispatch' = null
[2026-03-17 20:00:02] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-17 20:00:02] [INFO]   -> Found value: SDPSFD
[2026-03-17 20:00:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-17 20:00:02] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-17 20:00:02] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-17 20:00:02] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08082","cADNumber":"26-08082","incidentLocationStreetNumber":107,"streetName":"CRAZY HORSE LN","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN","cADLog":"03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN","alarm":null,"dispatched":null,"onScene":null,"cADVehicleID":"CANCEL","name":"CANCEL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-17 20:00:02] [INFO] Number of extracted fields: 19
[2026-03-17 20:00:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-17 20:00:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-17 20:00:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-17 20:00:02] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-17 20:00:02] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-17 20:00:02] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-17 20:00:02] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-17 20:00:02] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-17 20:00:02] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e868e55c0c
[2026-03-17 20:00:04] [INFO] Created new Dispatches record with ID: 69b9b2c323c08738d
[2026-03-17 20:00:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08082.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17/SDPSFD_26-08082.xml
[2026-03-17 20:00:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08082.xml
[2026-03-17 20:03:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08082.xml
[2026-03-17 20:03:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08082.xml for user: 68d56363ec1209189
[2026-03-17 20:03:03] [INFO] File size: 3175 bytes
[2026-03-17 20:03:03] [INFO] Created FTPFiles record with ID: 69b9b377df7829fee
[2026-03-17 20:03:03] [INFO] About to extract fields from XML. File size: 3175 bytes
[2026-03-17 20:03:03] [INFO] Number of mappings: 21
[2026-03-17 20:03:03] [INFO] Starting XML parsing. Content length: 3175
[2026-03-17 20:03:03] [INFO] XML parsed successfully. Root element: Incident
[2026-03-17 20:03:03] [INFO] Processing 21 field mappings
[2026-03-17 20:03:03] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-17 20:03:03] [INFO]   -> Found value: 26-08082
[2026-03-17 20:03:03] [INFO]   -> Set field 'dispatchRunNumber' = "26-08082"
[2026-03-17 20:03:03] [INFO]   -> Set field 'cADNumber' = "26-08082"
[2026-03-17 20:03:03] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-17 20:03:03] [INFO]   -> Found value: 107
[2026-03-17 20:03:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 107
[2026-03-17 20:03:03] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-17 20:03:03] [INFO]   -> Found value: CRAZY HORSE LN
[2026-03-17 20:03:03] [INFO]   -> Set field 'streetName' = "CRAZY HORSE LN"
[2026-03-17 20:03:03] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-17 20:03:03] [INFO]   -> No value found (null or empty)
[2026-03-17 20:03:03] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-17 20:03:03] [INFO]   -> Found value: SIKESTON
[2026-03-17 20:03:03] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-17 20:03:03] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-17 20:03:03] [INFO]   -> No value found (null or empty)
[2026-03-17 20:03:03] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-17 20:03:03] [INFO]   -> No value found (null or empty)
[2026-03-17 20:03:03] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-17 20:03:03] [INFO]   -> No value found (null or empty)
[2026-03-17 20:03:03] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-17 20:03:03] [INFO]   -> Found value: 0
[2026-03-17 20:03:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-17 20:03:03] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-17 20:03:03] [INFO]   -> Found value: 0
[2026-03-17 20:03:03] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-17 20:03:03] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-17 20:03:03] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-03-17 20:03:03] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-03-17 20:03:03] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD


MULT CARS IN THE BA...
[2026-03-17 20:03:03] [INFO]   -> Set field 'dispatchNotes' = "03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN 03-17-2026 14:59:48|Disposition - SDPS FD:  RPT 03-17-2026 15:02:19|COMMAND TERMINATED ALL SCR PERSONNEL"
[2026-03-17 20:03:03] [INFO]   -> Set field 'cADLog' = "03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN 03-17-2026 14:59:48|Disposition - SDPS FD:  RPT 03-17-2026 15:02:19|COMMAND TERMINATED ALL SCR PERSONNEL"
[2026-03-17 20:03:03] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026T14:19:42
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:19:42
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T14:19:42': Failed to parse time string (2026-17-03T14:19:42) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'alarm' = null
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:19:42
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T14:19:42': Failed to parse time string (2026-17-03T14:19:42) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'dispatched' = null
[2026-03-17 20:03:03] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026T14:33:45
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:33:45
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T14:33:45': Failed to parse time string (2026-17-03T14:33:45) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'onScene' = null
[2026-03-17 20:03:03] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026T15:02:23
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T15:02:23
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T15:02:23': Failed to parse time string (2026-17-03T15:02:23) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'cleared' = null
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T15:02:23
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T15:02:23': Failed to parse time string (2026-17-03T15:02:23) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'inService' = null
[2026-03-17 20:03:03] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-17 20:03:03] [INFO]   -> Found value: 1701
[2026-03-17 20:03:03] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-03-17 20:03:03] [INFO]   -> Set field 'name' = "1701"
[2026-03-17 20:03:03] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026T14:21:55
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:21:55
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T14:21:55': Failed to parse time string (2026-17-03T14:21:55) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-17 20:03:03] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026T14:33:45
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:33:45
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T14:33:45': Failed to parse time string (2026-17-03T14:33:45) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'timeonscene' = null
[2026-03-17 20:03:03] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026T15:02:23
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T15:02:23
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T15:02:23': Failed to parse time string (2026-17-03T15:02:23) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-17 20:03:03] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-17 20:03:03] [INFO]   -> Found value: 03-17-2026T14:21:53
[2026-03-17 20:03:03] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T14:21:53
[2026-03-17 20:03:03] [ERROR] Error formatting datetime '2026-17-03T14:21:53': Failed to parse time string (2026-17-03T14:21:53) at position 6 (7): Unexpected character
[2026-03-17 20:03:03] [INFO]   -> Set field 'timedispatch' = null
[2026-03-17 20:03:03] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-17 20:03:03] [INFO]   -> Found value: SCRFD
[2026-03-17 20:03:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-17 20:03:03] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 20:03:03] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-17 20:03:03] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08082","cADNumber":"26-08082","incidentLocationStreetNumber":107,"streetName":"CRAZY HORSE LN","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN 03-17-2026 14:59:48|Disposition - SDPS FD:  RPT 03-17-2026 15:02:19|COMMAND TERMINATED ALL SCR PERSONNEL","cADLog":"03-17-2026 14:16:30|RP ADVISED CAMPER FULLY ENGULFED ON FIRE IN THE BACK FIELD\n\n\nMULT CARS IN THE BACK FIELD AS WELL  03-17-2026 14:20:10|NO ONE IN THE CAMPER 03-17-2026 14:20:12|346 NOTIFIED 03-17-2026 14:21:47|1706 RESPONDING 03-17-2026 14:22:58|HEAVY BLACK SMOKE H HWY AND MALONE 03-17-2026 14:23:53|1702 RESPONDING 03-17-2026 14:24:40|REQUESTING SIKESTON FOR MUTUAL AID 03-17-2026 14:25:00|1751 RESPONDING 03-17-2026 14:27:27|A25 EN ROUTE 03-17-2026 14:29:11|1765 RESPONDINGX4 03-17-2026 14:30:14|1781 EN ROUTE 03-17-2026 14:31:13|1722 ADVISED VEHS ARE IN DANGER 03-17-2026 14:32:28|1751 ON SCENE 03-17-2026 14:33:33|CANCEL SIKESTON 03-17-2026 14:33:40|ONE CAMPER FULLY INVOLVED TO THE GROUND MULT CARS IN DANGER 1701 WILL HAVE COMMAND 03-17-2026 14:36:49|1513 CLEARED BY 1701 03-17-2026 14:37:18|Disposition - SSCA:  RPT 03-17-2026 14:37:27|Disposition - SSCA UNIT:  NRN 03-17-2026 14:59:48|Disposition - SDPS FD:  RPT 03-17-2026 15:02:19|COMMAND TERMINATED ALL SCR PERSONNEL","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1701,"name":"1701","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-17 20:03:03] [INFO] Number of extracted fields: 23
[2026-03-17 20:03:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-17 20:03:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-17 20:03:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-17 20:03:03] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-17 20:03:04] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-17 20:03:04] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-17 20:03:04] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-17 20:03:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-17 20:03:04] [INFO] Found existing IncidentTypeMapping with ID: 6949a536db3ccf5b5
[2026-03-17 20:03:04] [INFO] Found existing Dispatch with cADNumber '26-08082', ID: 69b9a954009b680eb - will update instead of create
[2026-03-17 20:03:05] [INFO] Updated existing Dispatches record with ID: 69b9a954009b680eb
[2026-03-17 20:03:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08082.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17/SCRFD_26-08082.xml
[2026-03-17 20:03:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-08082.xml
[2026-03-17 20:06:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08087.xml
[2026-03-17 20:06:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08087.xml for user: 68d56363ec1209189
[2026-03-17 20:06:05] [INFO] File size: 1595 bytes
[2026-03-17 20:06:06] [INFO] Created FTPFiles record with ID: 69b9b42e2c1586088
[2026-03-17 20:06:06] [INFO] About to extract fields from XML. File size: 1595 bytes
[2026-03-17 20:06:06] [INFO] Number of mappings: 21
[2026-03-17 20:06:06] [INFO] Starting XML parsing. Content length: 1595
[2026-03-17 20:06:06] [INFO] XML parsed successfully. Root element: Incident
[2026-03-17 20:06:06] [INFO] Processing 21 field mappings
[2026-03-17 20:06:06] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-17 20:06:06] [INFO]   -> Found value: 26-08087
[2026-03-17 20:06:06] [INFO]   -> Set field 'dispatchRunNumber' = "26-08087"
[2026-03-17 20:06:06] [INFO]   -> Set field 'cADNumber' = "26-08087"
[2026-03-17 20:06:06] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-17 20:06:06] [INFO]   -> Found value: 1008
[2026-03-17 20:06:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1008
[2026-03-17 20:06:06] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-17 20:06:06] [INFO]   -> Found value: N MAIN ST
[2026-03-17 20:06:06] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2026-03-17 20:06:06] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-17 20:06:06] [INFO]   -> No value found (null or empty)
[2026-03-17 20:06:06] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-17 20:06:06] [INFO]   -> Found value: SIKESTON
[2026-03-17 20:06:06] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-17 20:06:06] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-17 20:06:06] [INFO]   -> Found value: MDMC
[2026-03-17 20:06:06] [INFO]   -> Set field 'businessName' = "MDMC"
[2026-03-17 20:06:06] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-17 20:06:06] [INFO]   -> Found value: MO
[2026-03-17 20:06:06] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-17 20:06:06] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-17 20:06:06] [INFO]   -> Found value: 63801
[2026-03-17 20:06:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-17 20:06:06] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-17 20:06:06] [INFO]   -> Found value: 0
[2026-03-17 20:06:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-17 20:06:06] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-17 20:06:06] [INFO]   -> Found value: 0
[2026-03-17 20:06:06] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-17 20:06:06] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-17 20:06:06] [INFO]   -> Found value: FIRE-AIRCRAFT STANDBY
[2026-03-17 20:06:06] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-AIRCRAFT STANDBY"
[2026-03-17 20:06:06] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-17 20:06:06] [INFO]   -> Found value: 03-17-2026 15:01:58|AIREVAC NEEDING GROUND EMS. ETA 25 MIN.
[2026-03-17 20:06:06] [INFO]   -> Set field 'dispatchNotes' = "03-17-2026 15:01:58|AIREVAC NEEDING GROUND EMS. ETA 25 MIN."
[2026-03-17 20:06:06] [INFO]   -> Set field 'cADLog' = "03-17-2026 15:01:58|AIREVAC NEEDING GROUND EMS. ETA 25 MIN."
[2026-03-17 20:06:06] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-17 20:06:06] [INFO]   -> Found value: 03-17-2026T15:04:12
[2026-03-17 20:06:06] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T15:04:12
[2026-03-17 20:06:06] [ERROR] Error formatting datetime '2026-17-03T15:04:12': Failed to parse time string (2026-17-03T15:04:12) at position 6 (7): Unexpected character
[2026-03-17 20:06:06] [INFO]   -> Set field 'alarm' = null
[2026-03-17 20:06:06] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T15:04:12
[2026-03-17 20:06:06] [ERROR] Error formatting datetime '2026-17-03T15:04:12': Failed to parse time string (2026-17-03T15:04:12) at position 6 (7): Unexpected character
[2026-03-17 20:06:06] [INFO]   -> Set field 'dispatched' = null
[2026-03-17 20:06:06] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-17 20:06:06] [INFO]   -> No value found (null or empty)
[2026-03-17 20:06:06] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-17 20:06:06] [INFO]   -> No value found (null or empty)
[2026-03-17 20:06:06] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-17 20:06:06] [INFO]   -> Found value: L3
[2026-03-17 20:06:06] [INFO]   -> Set field 'cADVehicleID' = "L3"
[2026-03-17 20:06:06] [INFO]   -> Set field 'name' = "L3"
[2026-03-17 20:06:06] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-17 20:06:06] [INFO]   -> No value found (null or empty)
[2026-03-17 20:06:06] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-17 20:06:06] [INFO]   -> No value found (null or empty)
[2026-03-17 20:06:06] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-17 20:06:06] [INFO]   -> Found value: 03-17-2026T15:05:52
[2026-03-17 20:06:06] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T15:05:52
[2026-03-17 20:06:06] [ERROR] Error formatting datetime '2026-17-03T15:05:52': Failed to parse time string (2026-17-03T15:05:52) at position 6 (7): Unexpected character
[2026-03-17 20:06:06] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-17 20:06:06] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-17 20:06:06] [INFO]   -> Found value: 03-17-2026T15:05:50
[2026-03-17 20:06:06] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T15:05:50
[2026-03-17 20:06:06] [ERROR] Error formatting datetime '2026-17-03T15:05:50': Failed to parse time string (2026-17-03T15:05:50) at position 6 (7): Unexpected character
[2026-03-17 20:06:06] [INFO]   -> Set field 'timedispatch' = null
[2026-03-17 20:06:06] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-17 20:06:06] [INFO]   -> Found value: SDPSFD
[2026-03-17 20:06:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-17 20:06:06] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-17 20:06:06] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-17 20:06:06] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08087","cADNumber":"26-08087","incidentLocationStreetNumber":1008,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"MDMC","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-AIRCRAFT STANDBY","dispatchNotes":"03-17-2026 15:01:58|AIREVAC NEEDING GROUND EMS. ETA 25 MIN.","cADLog":"03-17-2026 15:01:58|AIREVAC NEEDING GROUND EMS. ETA 25 MIN.","alarm":null,"dispatched":null,"cADVehicleID":"L3","name":"L3","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-17 20:06:06] [INFO] Number of extracted fields: 21
[2026-03-17 20:06:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-17 20:06:06] [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-17 20:06:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-17 20:06:06] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-17 20:06:06] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-17 20:06:06] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-17 20:06:06] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-17 20:06:06] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-17 20:06:06] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e875662f9c
[2026-03-17 20:06:08] [INFO] Created new Dispatches record with ID: 69b9b42f38b2e75d9
[2026-03-17 20:06:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08087.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17/SDPSFD_26-08087.xml
[2026-03-17 20:06:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08087.xml
[2026-03-17 21:11:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08094.xml
[2026-03-17 21:11:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08094.xml for user: 68d56363ec1209189
[2026-03-17 21:11:59] [INFO] File size: 1337 bytes
[2026-03-17 21:12:00] [INFO] Created FTPFiles record with ID: 69b9c3a012866ab99
[2026-03-17 21:12:00] [INFO] About to extract fields from XML. File size: 1337 bytes
[2026-03-17 21:12:00] [INFO] Number of mappings: 21
[2026-03-17 21:12:00] [INFO] Starting XML parsing. Content length: 1337
[2026-03-17 21:12:00] [INFO] XML parsed successfully. Root element: Incident
[2026-03-17 21:12:00] [INFO] Processing 21 field mappings
[2026-03-17 21:12:00] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-17 21:12:00] [INFO]   -> Found value: 26-08094
[2026-03-17 21:12:00] [INFO]   -> Set field 'dispatchRunNumber' = "26-08094"
[2026-03-17 21:12:00] [INFO]   -> Set field 'cADNumber' = "26-08094"
[2026-03-17 21:12:00] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-17 21:12:00] [INFO]   -> Found value: 301
[2026-03-17 21:12:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 301
[2026-03-17 21:12:00] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-17 21:12:00] [INFO]   -> Found value: N WEST ST
[2026-03-17 21:12:00] [INFO]   -> Set field 'streetName' = "N WEST ST"
[2026-03-17 21:12:00] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-17 21:12:00] [INFO]   -> No value found (null or empty)
[2026-03-17 21:12:00] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-17 21:12:00] [INFO]   -> Found value: SIKESTON
[2026-03-17 21:12:00] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-17 21:12:00] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-17 21:12:00] [INFO]   -> Found value: FIRE STATION 1
[2026-03-17 21:12:00] [INFO]   -> Set field 'businessName' = "FIRE STATION 1"
[2026-03-17 21:12:00] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-17 21:12:00] [INFO]   -> Found value: MO
[2026-03-17 21:12:00] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-17 21:12:00] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-17 21:12:00] [INFO]   -> Found value: 63801
[2026-03-17 21:12:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-17 21:12:00] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-17 21:12:00] [INFO]   -> Found value: 0
[2026-03-17 21:12:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-17 21:12:00] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-17 21:12:00] [INFO]   -> Found value: 0
[2026-03-17 21:12:00] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-17 21:12:00] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-17 21:12:00] [INFO]   -> Found value: CITIZEN ASSISTS-MISC.
[2026-03-17 21:12:00] [INFO]   -> Set field 'incidentTypeValue1' = "CITIZEN ASSISTS-MISC."
[2026-03-17 21:12:00] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-17 21:12:00] [INFO]   -> No value found (null or empty)
[2026-03-17 21:12:00] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-17 21:12:00] [INFO]   -> Found value: 03-17-2026T16:06:39
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:06:39
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:06:39': Failed to parse time string (2026-17-03T16:06:39) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'alarm' = null
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:06:39
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:06:39': Failed to parse time string (2026-17-03T16:06:39) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'dispatched' = null
[2026-03-17 21:12:00] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-17 21:12:00] [INFO]   -> Found value: 03-17-2026T16:06:41
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:06:41
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:06:41': Failed to parse time string (2026-17-03T16:06:41) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'onScene' = null
[2026-03-17 21:12:00] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-17 21:12:00] [INFO]   -> Found value: 03-17-2026T16:11:30
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:11:30
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:11:30': Failed to parse time string (2026-17-03T16:11:30) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'cleared' = null
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:11:30
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:11:30': Failed to parse time string (2026-17-03T16:11:30) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'inService' = null
[2026-03-17 21:12:00] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-17 21:12:00] [INFO]   -> Found value: ENG2
[2026-03-17 21:12:00] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-17 21:12:00] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-17 21:12:00] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-17 21:12:00] [INFO]   -> No value found (null or empty)
[2026-03-17 21:12:00] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-17 21:12:00] [INFO]   -> Found value: 03-17-2026T16:06:41
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:06:41
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:06:41': Failed to parse time string (2026-17-03T16:06:41) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'timeonscene' = null
[2026-03-17 21:12:00] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-17 21:12:00] [INFO]   -> Found value: 03-17-2026T16:11:30
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:11:30
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:11:30': Failed to parse time string (2026-17-03T16:11:30) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-17 21:12:00] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-17 21:12:00] [INFO]   -> Found value: 03-17-2026T16:06:39
[2026-03-17 21:12:00] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:06:39
[2026-03-17 21:12:00] [ERROR] Error formatting datetime '2026-17-03T16:06:39': Failed to parse time string (2026-17-03T16:06:39) at position 6 (7): Unexpected character
[2026-03-17 21:12:00] [INFO]   -> Set field 'timedispatch' = null
[2026-03-17 21:12:00] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-17 21:12:00] [INFO]   -> Found value: SDPSFD
[2026-03-17 21:12:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-17 21:12:00] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 21:12:00] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-17 21:12:00] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08094","cADNumber":"26-08094","incidentLocationStreetNumber":301,"streetName":"N WEST ST","incidentLocationCity":"SIKESTON","businessName":"FIRE STATION 1","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"CITIZEN ASSISTS-MISC.","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-17 21:12:00] [INFO] Number of extracted fields: 23
[2026-03-17 21:12:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-17 21:12:00] [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-17 21:12:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-17 21:12:00] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-17 21:12:00] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-17 21:12:00] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-17 21:12:00] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-17 21:12:00] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-17 21:12:00] [INFO] Found existing IncidentTypeMapping with ID: 690e2390060f812ee
[2026-03-17 21:12:02] [INFO] Created new Dispatches record with ID: 69b9c3a117464514f
[2026-03-17 21:12:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08094.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17/SDPSFD_26-08094.xml
[2026-03-17 21:12:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08094.xml
[2026-03-17 21:16:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_211617.XML
[2026-03-17 21:16:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_211617.XML for user: 68f1466aed072ad4a
[2026-03-17 21:16:17] [INFO] File size: 5470 bytes
[2026-03-17 21:16:18] [INFO] Created FTPFiles record with ID: 69b9c4a2410773e84
[2026-03-17 21:16:18] [INFO] About to extract fields from XML. File size: 5470 bytes
[2026-03-17 21:16:18] [INFO] Number of mappings: 28
[2026-03-17 21:16:18] [INFO] Starting XML parsing. Content length: 5470
[2026-03-17 21:16:18] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 21:16:18] [INFO] Processing 28 field mappings
[2026-03-17 21:16:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 21:16:18] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 21:16:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 21:16:18] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 21:16:18] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 21:16:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 21:16:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 21:16:18] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 21:16:18] [INFO]   -> Found value: 2026000721
[2026-03-17 21:16:18] [INFO]   -> Set field 'incidentInternalId' = "2026000721"
[2026-03-17 21:16:18] [INFO]   -> Set field 'dispatchRunNumber' = "2026000721"
[2026-03-17 21:16:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 21:16:18] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 21:16:18] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 21:16:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 21:16:18] [INFO]   -> Found value: 5543
[2026-03-17 21:16:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5543
[2026-03-17 21:16:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 21:16:18] [INFO]   -> Found value: TN
[2026-03-17 21:16:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 21:16:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 21:16:18] [INFO]   -> Found value: 38544
[2026-03-17 21:16:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 21:16:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 21:16:18] [INFO]   -> No value found (null or empty)
[2026-03-17 21:16:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 21:16:18] [INFO]   -> No value found (null or empty)
[2026-03-17 21:16:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 21:16:18] [INFO]   -> Found value: 36.19117
[2026-03-17 21:16:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19116999999999961801222525537014007568359375
[2026-03-17 21:16:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 21:16:18] [INFO]   -> Found value: -85.62359
[2026-03-17 21:16:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6235899999999929832483758218586444854736328125
[2026-03-17 21:16:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 21:16:18] [INFO]   -> Found value: 2026-03-17 16:15:58
[2026-03-17 21:16:18] [INFO]   -> Set field 'alarm' = "2026-03-17 16:15:58"
[2026-03-17 21:16:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 21:16:18] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:16:18] [INFO]   -> Set field 'dispatched' = "2026-03-17 16:16:09"
[2026-03-17 21:16:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 21:16:18] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:16:18] [INFO]   -> Set field 'enroute' = "2026-03-17 16:16:09"
[2026-03-17 21:16:18] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 21:16:18] [INFO]   -> No value found (null or empty)
[2026-03-17 21:16:18] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 21:16:18] [INFO]   -> No value found (null or empty)
[2026-03-17 21:16:18] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 21:16:18] [INFO]   -> Found value: GAINESBORO HWY
[2026-03-17 21:16:18] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO HWY"
[2026-03-17 21:16:18] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 21:16:18] [INFO]   -> Found value: SQ11
[2026-03-17 21:16:18] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 21:16:18] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 21:16:18] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:16:18] [INFO]   -> Set field 'timedispatch' = "2026-03-17 16:16:09"
[2026-03-17 21:16:18] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 21:16:18] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:16:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 16:16:09"
[2026-03-17 21:16:18] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 21:16:18] [INFO]   -> No value found (null or empty)
[2026-03-17 21:16:18] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 21:16:18] [INFO]   -> No value found (null or empty)
[2026-03-17 21:16:18] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 21:16:18] [INFO]   -> No value found (null or empty)
[2026-03-17 21:16:18] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 21:16:18] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 21:16:18] [INFO]   -> Found value: 20260029120
[2026-03-17 21:16:18] [INFO]   -> Set field 'policeReportNumber' = "20260029120"
[2026-03-17 21:16:18] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 21:16:18] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [03/17/2026 16:15:58 JBOHANNON]
[2026-03-17 21:16:18] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:16:18] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:16:18] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 21:16:18] [INFO]   -> Found value: BAXTER
[2026-03-17 21:16:18] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 21:16:18] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 21:16:18] [INFO]   -> Found value: WILLOW OAK
[2026-03-17 21:16:18] [INFO]   -> Set field 'streetName' = "WILLOW OAK"
[2026-03-17 21:16:18] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 21:16:18] [INFO]   -> Found value: DR
[2026-03-17 21:16:18] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-17 21:16:18] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 21:16:18] [INFO]   -> Found value: 5543 WILLOW OAK DR
[2026-03-17 21:16:18] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5543 WILLOW OAK DR"
[2026-03-17 21:16:18] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 21:16:18] [INFO] Concatenating street name and type
[2026-03-17 21:16:18] [INFO]   -> Combined street name: WILLOW OAK DR
[2026-03-17 21:16:18] [INFO] Built locationCoordinates from lat/lng: 36.19117,-85.62359
[2026-03-17 21:16:18] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000721","dispatchRunNumber":"2026000721","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":5543,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.19116999999999961801222525537014007568359375,"nERISIncidentLongitude":-85.6235899999999929832483758218586444854736328125,"alarm":"2026-03-17 16:15:58","dispatched":"2026-03-17 16:16:09","enroute":"2026-03-17 16:16:09","incidentLocationCross":"GAINESBORO HWY","cADVehicleID":"SQ11","timedispatch":"2026-03-17 16:16:09","timeenroutetoscene":"2026-03-17 16:16:09","policeReportNumber":"20260029120","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"WILLOW OAK DR","incidentAddressTextVersionStreet":"5543 WILLOW OAK DR","locationCoordinates":"36.19117,-85.62359"}
[2026-03-17 21:16:18] [INFO] Number of extracted fields: 23
[2026-03-17 21:16:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 21:16:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 21:16:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 21:16:18] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 21:16:18] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 21:16:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 21:16:18] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 21:16:18] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 21:16:18] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 21:16:18] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 21:16:18] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 21:16:18] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 21:16:30] [INFO] Created new Dispatches record with ID: 69b9c4a3477573492
[2026-03-17 21:16:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_211617.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029120_20260317_211617.XML
[2026-03-17 21:16:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_211617.XML
[2026-03-17 21:22:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212228.XML
[2026-03-17 21:22:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212228.XML for user: 68f1466aed072ad4a
[2026-03-17 21:22:28] [INFO] File size: 5505 bytes
[2026-03-17 21:22:29] [INFO] Created FTPFiles record with ID: 69b9c6150854a39f5
[2026-03-17 21:22:29] [INFO] About to extract fields from XML. File size: 5505 bytes
[2026-03-17 21:22:29] [INFO] Number of mappings: 28
[2026-03-17 21:22:29] [INFO] Starting XML parsing. Content length: 5505
[2026-03-17 21:22:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 21:22:29] [INFO] Processing 28 field mappings
[2026-03-17 21:22:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 21:22:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 21:22:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 21:22:29] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 21:22:29] [INFO]   -> Found value: PCFD
RESC
[2026-03-17 21:22:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-17 21:22:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 21:22:29] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026000721
[2026-03-17 21:22:29] [INFO]   -> Set field 'incidentInternalId' = "2026000721"
[2026-03-17 21:22:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000721"
[2026-03-17 21:22:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 21:22:29] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 21:22:29] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 21:22:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 21:22:29] [INFO]   -> Found value: 5543
[2026-03-17 21:22:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5543
[2026-03-17 21:22:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 21:22:29] [INFO]   -> Found value: TN
[2026-03-17 21:22:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 21:22:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 21:22:29] [INFO]   -> Found value: 38544
[2026-03-17 21:22:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 21:22:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 21:22:29] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 21:22:29] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 21:22:29] [INFO]   -> Found value: 36.19117
[2026-03-17 21:22:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19116999999999961801222525537014007568359375
[2026-03-17 21:22:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 21:22:29] [INFO]   -> Found value: -85.62359
[2026-03-17 21:22:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6235899999999929832483758218586444854736328125
[2026-03-17 21:22:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026-03-17 16:15:58
[2026-03-17 21:22:29] [INFO]   -> Set field 'alarm' = "2026-03-17 16:15:58"
[2026-03-17 21:22:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:29] [INFO]   -> Set field 'dispatched' = "2026-03-17 16:16:09"
[2026-03-17 21:22:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:29] [INFO]   -> Set field 'enroute' = "2026-03-17 16:16:09"
[2026-03-17 21:22:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 21:22:29] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:29] [INFO]   -> Set field 'cleared' = "2026-03-17 16:22:21"
[2026-03-17 21:22:29] [INFO]   -> Set field 'inService' = "2026-03-17 16:22:21"
[2026-03-17 21:22:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 21:22:29] [INFO]   -> Found value: GAINESBORO HWY
[2026-03-17 21:22:29] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO HWY"
[2026-03-17 21:22:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 21:22:29] [INFO]   -> Found value: SQ11
[2026-03-17 21:22:29] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 21:22:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:29] [INFO]   -> Set field 'timedispatch' = "2026-03-17 16:16:09"
[2026-03-17 21:22:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:29] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 16:16:09"
[2026-03-17 21:22:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 21:22:29] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 21:22:29] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:29] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 16:22:21"
[2026-03-17 21:22:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 21:22:29] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 21:22:29] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 21:22:29] [INFO]   -> Found value: 20260029120
[2026-03-17 21:22:29] [INFO]   -> Set field 'policeReportNumber' = "20260029120"
[2026-03-17 21:22:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 21:22:29] [INFO]   -> Found value: [EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03/17/26 16:21:55 MCLA...
[2026-03-17 21:22:29] [INFO]   -> Set field 'dispatchNotes' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:29] [INFO]   -> Set field 'cADLog' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 21:22:29] [INFO]   -> Found value: BAXTER
[2026-03-17 21:22:29] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 21:22:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 21:22:29] [INFO]   -> Found value: WILLOW OAK
[2026-03-17 21:22:29] [INFO]   -> Set field 'streetName' = "WILLOW OAK"
[2026-03-17 21:22:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 21:22:29] [INFO]   -> Found value: DR
[2026-03-17 21:22:29] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-17 21:22:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 21:22:29] [INFO]   -> Found value: 5543 WILLOW OAK DR
[2026-03-17 21:22:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5543 WILLOW OAK DR"
[2026-03-17 21:22:29] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-17 21:22:29] [INFO] Concatenating street name and type
[2026-03-17 21:22:29] [INFO]   -> Combined street name: WILLOW OAK DR
[2026-03-17 21:22:29] [INFO] Built locationCoordinates from lat/lng: 36.19117,-85.62359
[2026-03-17 21:22:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000721","dispatchRunNumber":"2026000721","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":5543,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.19116999999999961801222525537014007568359375,"nERISIncidentLongitude":-85.6235899999999929832483758218586444854736328125,"alarm":"2026-03-17 16:15:58","dispatched":"2026-03-17 16:16:09","enroute":"2026-03-17 16:16:09","cleared":"2026-03-17 16:22:21","inService":"2026-03-17 16:22:21","incidentLocationCross":"GAINESBORO HWY","cADVehicleID":"SQ11","timedispatch":"2026-03-17 16:16:09","timeenroutetoscene":"2026-03-17 16:16:09","timeunitclear":"2026-03-17 16:22:21","policeReportNumber":"20260029120","dispatchNotes":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","cADLog":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"WILLOW OAK DR","incidentAddressTextVersionStreet":"5543 WILLOW OAK DR","locationCoordinates":"36.19117,-85.62359"}
[2026-03-17 21:22:29] [INFO] Number of extracted fields: 26
[2026-03-17 21:22:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-17 21:22:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 21:22:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-17 21:22:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 21:22:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 21:22:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-17 21:22:29] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 21:22:29] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 21:22:29] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 21:22:29] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 21:22:29] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 21:22:29] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 21:22:29] [INFO] Found existing Dispatch with cADNumber '2026000721', ID: 69b9c4a3477573492 - will update instead of create
[2026-03-17 21:22:30] [INFO] Updated existing Dispatches record with ID: 69b9c4a3477573492
[2026-03-17 21:22:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212228.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029120_20260317_212228.XML
[2026-03-17 21:22:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212228.XML
[2026-03-17 21:22:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230.XML
[2026-03-17 21:22:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230.XML for user: 68f1466aed072ad4a
[2026-03-17 21:22:30] [INFO] File size: 5505 bytes
[2026-03-17 21:22:30] [INFO] Created FTPFiles record with ID: 69b9c6167fa257041
[2026-03-17 21:22:30] [INFO] About to extract fields from XML. File size: 5505 bytes
[2026-03-17 21:22:30] [INFO] Number of mappings: 28
[2026-03-17 21:22:30] [INFO] Starting XML parsing. Content length: 5505
[2026-03-17 21:22:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 21:22:30] [INFO] Processing 28 field mappings
[2026-03-17 21:22:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 21:22:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 21:22:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 21:22:30] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 21:22:30] [INFO]   -> Found value: PCFD
RESC
[2026-03-17 21:22:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-17 21:22:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 21:22:30] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026000721
[2026-03-17 21:22:30] [INFO]   -> Set field 'incidentInternalId' = "2026000721"
[2026-03-17 21:22:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000721"
[2026-03-17 21:22:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 21:22:30] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 21:22:30] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 21:22:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 21:22:30] [INFO]   -> Found value: 5543
[2026-03-17 21:22:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5543
[2026-03-17 21:22:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 21:22:30] [INFO]   -> Found value: TN
[2026-03-17 21:22:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 21:22:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 21:22:30] [INFO]   -> Found value: 38544
[2026-03-17 21:22:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 21:22:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 21:22:30] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 21:22:30] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 21:22:30] [INFO]   -> Found value: 36.19117
[2026-03-17 21:22:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19116999999999961801222525537014007568359375
[2026-03-17 21:22:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 21:22:30] [INFO]   -> Found value: -85.62359
[2026-03-17 21:22:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6235899999999929832483758218586444854736328125
[2026-03-17 21:22:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026-03-17 16:15:58
[2026-03-17 21:22:30] [INFO]   -> Set field 'alarm' = "2026-03-17 16:15:58"
[2026-03-17 21:22:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:30] [INFO]   -> Set field 'dispatched' = "2026-03-17 16:16:09"
[2026-03-17 21:22:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:30] [INFO]   -> Set field 'enroute' = "2026-03-17 16:16:09"
[2026-03-17 21:22:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 21:22:30] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:30] [INFO]   -> Set field 'cleared' = "2026-03-17 16:22:21"
[2026-03-17 21:22:30] [INFO]   -> Set field 'inService' = "2026-03-17 16:22:21"
[2026-03-17 21:22:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 21:22:30] [INFO]   -> Found value: GAINESBORO HWY
[2026-03-17 21:22:30] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO HWY"
[2026-03-17 21:22:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 21:22:30] [INFO]   -> Found value: SQ11
[2026-03-17 21:22:30] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 21:22:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:30] [INFO]   -> Set field 'timedispatch' = "2026-03-17 16:16:09"
[2026-03-17 21:22:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:30] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 16:16:09"
[2026-03-17 21:22:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 21:22:30] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 21:22:30] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:30] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 16:22:21"
[2026-03-17 21:22:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 21:22:30] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 21:22:30] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 21:22:30] [INFO]   -> Found value: 20260029120
[2026-03-17 21:22:30] [INFO]   -> Set field 'policeReportNumber' = "20260029120"
[2026-03-17 21:22:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 21:22:30] [INFO]   -> Found value: [EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03/17/26 16:21:55 MCLA...
[2026-03-17 21:22:30] [INFO]   -> Set field 'dispatchNotes' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:30] [INFO]   -> Set field 'cADLog' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 21:22:30] [INFO]   -> Found value: BAXTER
[2026-03-17 21:22:30] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 21:22:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 21:22:30] [INFO]   -> Found value: WILLOW OAK
[2026-03-17 21:22:30] [INFO]   -> Set field 'streetName' = "WILLOW OAK"
[2026-03-17 21:22:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 21:22:30] [INFO]   -> Found value: DR
[2026-03-17 21:22:30] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-17 21:22:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 21:22:30] [INFO]   -> Found value: 5543 WILLOW OAK DR
[2026-03-17 21:22:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5543 WILLOW OAK DR"
[2026-03-17 21:22:30] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-17 21:22:30] [INFO] Concatenating street name and type
[2026-03-17 21:22:30] [INFO]   -> Combined street name: WILLOW OAK DR
[2026-03-17 21:22:30] [INFO] Built locationCoordinates from lat/lng: 36.19117,-85.62359
[2026-03-17 21:22:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000721","dispatchRunNumber":"2026000721","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":5543,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.19116999999999961801222525537014007568359375,"nERISIncidentLongitude":-85.6235899999999929832483758218586444854736328125,"alarm":"2026-03-17 16:15:58","dispatched":"2026-03-17 16:16:09","enroute":"2026-03-17 16:16:09","cleared":"2026-03-17 16:22:21","inService":"2026-03-17 16:22:21","incidentLocationCross":"GAINESBORO HWY","cADVehicleID":"SQ11","timedispatch":"2026-03-17 16:16:09","timeenroutetoscene":"2026-03-17 16:16:09","timeunitclear":"2026-03-17 16:22:21","policeReportNumber":"20260029120","dispatchNotes":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","cADLog":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"WILLOW OAK DR","incidentAddressTextVersionStreet":"5543 WILLOW OAK DR","locationCoordinates":"36.19117,-85.62359"}
[2026-03-17 21:22:30] [INFO] Number of extracted fields: 26
[2026-03-17 21:22:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-17 21:22:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 21:22:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-17 21:22:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 21:22:30] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 21:22:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-17 21:22: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-17 21:22: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-17 21:22:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 21:22:30] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 21:22:30] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 21:22:31] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 21:22:31] [INFO] Found existing Dispatch with cADNumber '2026000721', ID: 69b9c4a3477573492 - will update instead of create
[2026-03-17 21:22:31] [INFO] Updated existing Dispatches record with ID: 69b9c4a3477573492
[2026-03-17 21:22:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029120_20260317_212230.XML
[2026-03-17 21:22:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230.XML
[2026-03-17 21:22:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230_1.XML
[2026-03-17 21:22:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230_1.XML for user: 68f1466aed072ad4a
[2026-03-17 21:22:31] [INFO] File size: 5505 bytes
[2026-03-17 21:22:31] [INFO] Created FTPFiles record with ID: 69b9c617c58f379e1
[2026-03-17 21:22:31] [INFO] About to extract fields from XML. File size: 5505 bytes
[2026-03-17 21:22:31] [INFO] Number of mappings: 28
[2026-03-17 21:22:31] [INFO] Starting XML parsing. Content length: 5505
[2026-03-17 21:22:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 21:22:31] [INFO] Processing 28 field mappings
[2026-03-17 21:22:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 21:22:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 21:22:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 21:22:31] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 21:22:31] [INFO]   -> Found value: PCFD
RESC
[2026-03-17 21:22:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-17 21:22:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 21:22:31] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026000721
[2026-03-17 21:22:31] [INFO]   -> Set field 'incidentInternalId' = "2026000721"
[2026-03-17 21:22:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000721"
[2026-03-17 21:22:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 21:22:31] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 21:22:31] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 21:22:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 21:22:31] [INFO]   -> Found value: 5543
[2026-03-17 21:22:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5543
[2026-03-17 21:22:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 21:22:31] [INFO]   -> Found value: TN
[2026-03-17 21:22:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 21:22:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 21:22:31] [INFO]   -> Found value: 38544
[2026-03-17 21:22:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 21:22:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 21:22:31] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 21:22:31] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 21:22:31] [INFO]   -> Found value: 36.19117
[2026-03-17 21:22:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19116999999999961801222525537014007568359375
[2026-03-17 21:22:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 21:22:31] [INFO]   -> Found value: -85.62359
[2026-03-17 21:22:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6235899999999929832483758218586444854736328125
[2026-03-17 21:22:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026-03-17 16:15:58
[2026-03-17 21:22:31] [INFO]   -> Set field 'alarm' = "2026-03-17 16:15:58"
[2026-03-17 21:22:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:31] [INFO]   -> Set field 'dispatched' = "2026-03-17 16:16:09"
[2026-03-17 21:22:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:31] [INFO]   -> Set field 'enroute' = "2026-03-17 16:16:09"
[2026-03-17 21:22:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 21:22:31] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:31] [INFO]   -> Set field 'cleared' = "2026-03-17 16:22:21"
[2026-03-17 21:22:31] [INFO]   -> Set field 'inService' = "2026-03-17 16:22:21"
[2026-03-17 21:22:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 21:22:31] [INFO]   -> Found value: GAINESBORO HWY
[2026-03-17 21:22:31] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO HWY"
[2026-03-17 21:22:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 21:22:31] [INFO]   -> Found value: SQ11
[2026-03-17 21:22:31] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 21:22:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:31] [INFO]   -> Set field 'timedispatch' = "2026-03-17 16:16:09"
[2026-03-17 21:22:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:31] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 16:16:09"
[2026-03-17 21:22:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 21:22:31] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 21:22:31] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:31] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 16:22:21"
[2026-03-17 21:22:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 21:22:31] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 21:22:31] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 21:22:31] [INFO]   -> Found value: 20260029120
[2026-03-17 21:22:31] [INFO]   -> Set field 'policeReportNumber' = "20260029120"
[2026-03-17 21:22:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 21:22:31] [INFO]   -> Found value: [EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03/17/26 16:21:55 MCLA...
[2026-03-17 21:22:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:31] [INFO]   -> Set field 'cADLog' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 21:22:31] [INFO]   -> Found value: BAXTER
[2026-03-17 21:22:31] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 21:22:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 21:22:31] [INFO]   -> Found value: WILLOW OAK
[2026-03-17 21:22:31] [INFO]   -> Set field 'streetName' = "WILLOW OAK"
[2026-03-17 21:22:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 21:22:31] [INFO]   -> Found value: DR
[2026-03-17 21:22:31] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-17 21:22:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 21:22:31] [INFO]   -> Found value: 5543 WILLOW OAK DR
[2026-03-17 21:22:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5543 WILLOW OAK DR"
[2026-03-17 21:22:31] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-17 21:22:31] [INFO] Concatenating street name and type
[2026-03-17 21:22:31] [INFO]   -> Combined street name: WILLOW OAK DR
[2026-03-17 21:22:31] [INFO] Built locationCoordinates from lat/lng: 36.19117,-85.62359
[2026-03-17 21:22:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000721","dispatchRunNumber":"2026000721","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":5543,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.19116999999999961801222525537014007568359375,"nERISIncidentLongitude":-85.6235899999999929832483758218586444854736328125,"alarm":"2026-03-17 16:15:58","dispatched":"2026-03-17 16:16:09","enroute":"2026-03-17 16:16:09","cleared":"2026-03-17 16:22:21","inService":"2026-03-17 16:22:21","incidentLocationCross":"GAINESBORO HWY","cADVehicleID":"SQ11","timedispatch":"2026-03-17 16:16:09","timeenroutetoscene":"2026-03-17 16:16:09","timeunitclear":"2026-03-17 16:22:21","policeReportNumber":"20260029120","dispatchNotes":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","cADLog":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"WILLOW OAK DR","incidentAddressTextVersionStreet":"5543 WILLOW OAK DR","locationCoordinates":"36.19117,-85.62359"}
[2026-03-17 21:22:31] [INFO] Number of extracted fields: 26
[2026-03-17 21:22:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-17 21:22:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 21:22:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-17 21:22:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 21:22:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 21:22:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-17 21:22: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-17 21:22: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-17 21:22:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 21:22:32] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 21:22:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 21:22:32] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 21:22:32] [INFO] Found existing Dispatch with cADNumber '2026000721', ID: 69b9c4a3477573492 - will update instead of create
[2026-03-17 21:22:32] [INFO] Updated existing Dispatches record with ID: 69b9c4a3477573492
[2026-03-17 21:22:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029120_20260317_212230_1.XML
[2026-03-17 21:22:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212230_1.XML
[2026-03-17 21:22:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212231.XML
[2026-03-17 21:22:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212231.XML for user: 68f1466aed072ad4a
[2026-03-17 21:22:32] [INFO] File size: 5505 bytes
[2026-03-17 21:22:33] [INFO] Created FTPFiles record with ID: 69b9c6191d6ea5b0c
[2026-03-17 21:22:33] [INFO] About to extract fields from XML. File size: 5505 bytes
[2026-03-17 21:22:33] [INFO] Number of mappings: 28
[2026-03-17 21:22:33] [INFO] Starting XML parsing. Content length: 5505
[2026-03-17 21:22:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 21:22:33] [INFO] Processing 28 field mappings
[2026-03-17 21:22:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 21:22:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 21:22:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 21:22:33] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 21:22:33] [INFO]   -> Found value: PCFD
RESC
[2026-03-17 21:22:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nRESC"
[2026-03-17 21:22:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 21:22:33] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026000721
[2026-03-17 21:22:33] [INFO]   -> Set field 'incidentInternalId' = "2026000721"
[2026-03-17 21:22:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000721"
[2026-03-17 21:22:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 21:22:33] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 21:22:33] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 21:22:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 21:22:33] [INFO]   -> Found value: 5543
[2026-03-17 21:22:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5543
[2026-03-17 21:22:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 21:22:33] [INFO]   -> Found value: TN
[2026-03-17 21:22:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 21:22:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 21:22:33] [INFO]   -> Found value: 38544
[2026-03-17 21:22:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 21:22:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 21:22:33] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 21:22:33] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 21:22:33] [INFO]   -> Found value: 36.19117
[2026-03-17 21:22:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19116999999999961801222525537014007568359375
[2026-03-17 21:22:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 21:22:33] [INFO]   -> Found value: -85.62359
[2026-03-17 21:22:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6235899999999929832483758218586444854736328125
[2026-03-17 21:22:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026-03-17 16:15:58
[2026-03-17 21:22:33] [INFO]   -> Set field 'alarm' = "2026-03-17 16:15:58"
[2026-03-17 21:22:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:33] [INFO]   -> Set field 'dispatched' = "2026-03-17 16:16:09"
[2026-03-17 21:22:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:33] [INFO]   -> Set field 'enroute' = "2026-03-17 16:16:09"
[2026-03-17 21:22:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 21:22:33] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:33] [INFO]   -> Set field 'cleared' = "2026-03-17 16:22:21"
[2026-03-17 21:22:33] [INFO]   -> Set field 'inService' = "2026-03-17 16:22:21"
[2026-03-17 21:22:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 21:22:33] [INFO]   -> Found value: GAINESBORO HWY
[2026-03-17 21:22:33] [INFO]   -> Set field 'incidentLocationCross' = "GAINESBORO HWY"
[2026-03-17 21:22:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 21:22:33] [INFO]   -> Found value: SQ11
[2026-03-17 21:22:33] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 21:22:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:33] [INFO]   -> Set field 'timedispatch' = "2026-03-17 16:16:09"
[2026-03-17 21:22:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026-03-17 16:16:09
[2026-03-17 21:22:33] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 16:16:09"
[2026-03-17 21:22:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 21:22:33] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 21:22:33] [INFO]   -> Found value: 2026-03-17 16:22:21
[2026-03-17 21:22:33] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 16:22:21"
[2026-03-17 21:22:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 21:22:33] [INFO]   -> No value found (null or empty)
[2026-03-17 21:22:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 21:22:33] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 21:22:33] [INFO]   -> Found value: 20260029120
[2026-03-17 21:22:33] [INFO]   -> Set field 'policeReportNumber' = "20260029120"
[2026-03-17 21:22:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 21:22:33] [INFO]   -> Found value: [EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03/17/26 16:21:55 MCLA...
[2026-03-17 21:22:33] [INFO]   -> Set field 'dispatchNotes' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:33] [INFO]   -> Set field 'cADLog' = "[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]"
[2026-03-17 21:22:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 21:22:33] [INFO]   -> Found value: BAXTER
[2026-03-17 21:22:33] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 21:22:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 21:22:33] [INFO]   -> Found value: WILLOW OAK
[2026-03-17 21:22:33] [INFO]   -> Set field 'streetName' = "WILLOW OAK"
[2026-03-17 21:22:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 21:22:33] [INFO]   -> Found value: DR
[2026-03-17 21:22:33] [INFO]   -> Set field 'streetType' = "DR"
[2026-03-17 21:22:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 21:22:33] [INFO]   -> Found value: 5543 WILLOW OAK DR
[2026-03-17 21:22:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5543 WILLOW OAK DR"
[2026-03-17 21:22:33] [INFO] Finished extracting fields. Total fields extracted: 26
[2026-03-17 21:22:33] [INFO] Concatenating street name and type
[2026-03-17 21:22:33] [INFO]   -> Combined street name: WILLOW OAK DR
[2026-03-17 21:22:33] [INFO] Built locationCoordinates from lat/lng: 36.19117,-85.62359
[2026-03-17 21:22:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nRESC","incidentInternalId":"2026000721","dispatchRunNumber":"2026000721","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":5543,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.19116999999999961801222525537014007568359375,"nERISIncidentLongitude":-85.6235899999999929832483758218586444854736328125,"alarm":"2026-03-17 16:15:58","dispatched":"2026-03-17 16:16:09","enroute":"2026-03-17 16:16:09","cleared":"2026-03-17 16:22:21","inService":"2026-03-17 16:22:21","incidentLocationCross":"GAINESBORO HWY","cADVehicleID":"SQ11","timedispatch":"2026-03-17 16:16:09","timeenroutetoscene":"2026-03-17 16:16:09","timeunitclear":"2026-03-17 16:22:21","policeReportNumber":"20260029120","dispatchNotes":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","cADLog":"[EMS] {706} MEDIC 24 DROP DOWN TO NON EMERGENCY AND CANCEL FIRST RESPONDERS  [03\/17\/26 16:21:55 MCLAYBURN2] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 16:15:58 JBOHANNON]","incidentLocationCity":"BAXTER","streetName":"WILLOW OAK DR","incidentAddressTextVersionStreet":"5543 WILLOW OAK DR","locationCoordinates":"36.19117,-85.62359"}
[2026-03-17 21:22:33] [INFO] Number of extracted fields: 26
[2026-03-17 21:22:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
RESC'
[2026-03-17 21:22:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
RESC', Parsed IDs = ["PCFD","RESC"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 21:22:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","RESC"]
[2026-03-17 21:22:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 21:22:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 21:22:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["RESC"]
[2026-03-17 21:22:33] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 21:22:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 21:22:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 21:22:33] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 21:22:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 21:22:33] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 21:22:33] [INFO] Found existing Dispatch with cADNumber '2026000721', ID: 69b9c4a3477573492 - will update instead of create
[2026-03-17 21:22:34] [INFO] Updated existing Dispatches record with ID: 69b9c4a3477573492
[2026-03-17 21:22:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212231.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029120_20260317_212231.XML
[2026-03-17 21:22:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029120_20260317_212231.XML
[2026-03-17 21:32:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08095.xml
[2026-03-17 21:32:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08095.xml for user: 68d56363ec1209189
[2026-03-17 21:32:15] [INFO] File size: 2082 bytes
[2026-03-17 21:32:16] [INFO] Created FTPFiles record with ID: 69b9c8600032648ca
[2026-03-17 21:32:16] [INFO] About to extract fields from XML. File size: 2082 bytes
[2026-03-17 21:32:16] [INFO] Number of mappings: 21
[2026-03-17 21:32:16] [INFO] Starting XML parsing. Content length: 2082
[2026-03-17 21:32:16] [INFO] XML parsed successfully. Root element: Incident
[2026-03-17 21:32:16] [INFO] Processing 21 field mappings
[2026-03-17 21:32:16] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-17 21:32:16] [INFO]   -> Found value: 26-08095
[2026-03-17 21:32:16] [INFO]   -> Set field 'dispatchRunNumber' = "26-08095"
[2026-03-17 21:32:16] [INFO]   -> Set field 'cADNumber' = "26-08095"
[2026-03-17 21:32:16] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-17 21:32:16] [INFO]   -> Found value: 330
[2026-03-17 21:32:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 330
[2026-03-17 21:32:16] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-17 21:32:16] [INFO]   -> Found value: SUNSET DR
[2026-03-17 21:32:16] [INFO]   -> Set field 'streetName' = "SUNSET DR"
[2026-03-17 21:32:16] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-17 21:32:16] [INFO]   -> No value found (null or empty)
[2026-03-17 21:32:16] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-17 21:32:16] [INFO]   -> Found value: SIKESTON
[2026-03-17 21:32:16] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-17 21:32:16] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-17 21:32:16] [INFO]   -> No value found (null or empty)
[2026-03-17 21:32:16] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-17 21:32:16] [INFO]   -> Found value: MO
[2026-03-17 21:32:16] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-17 21:32:16] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-17 21:32:16] [INFO]   -> Found value: 63801
[2026-03-17 21:32:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-17 21:32:16] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-17 21:32:16] [INFO]   -> Found value: 0
[2026-03-17 21:32:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-17 21:32:16] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-17 21:32:16] [INFO]   -> Found value: 0
[2026-03-17 21:32:16] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-17 21:32:16] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-17 21:32:16] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-03-17 21:32:16] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-03-17 21:32:16] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026 16:23:32|FIRE ALARM UNKNOWN AREA
SHERRI MOORE
573-838-8143
 03-17-2026 16:29:26|NOTHING S...
[2026-03-17 21:32:16] [INFO]   -> Set field 'dispatchNotes' = "03-17-2026 16:23:32|FIRE ALARM UNKNOWN AREA\nSHERRI MOORE\n573-838-8143\n 03-17-2026 16:29:26|NOTHING SHOWING 03-17-2026 16:30:58|NO FIRE ALL UNITS CAN CLEAR PER 549"
[2026-03-17 21:32:16] [INFO]   -> Set field 'cADLog' = "03-17-2026 16:23:32|FIRE ALARM UNKNOWN AREA\nSHERRI MOORE\n573-838-8143\n 03-17-2026 16:29:26|NOTHING SHOWING 03-17-2026 16:30:58|NO FIRE ALL UNITS CAN CLEAR PER 549"
[2026-03-17 21:32:16] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026T16:26:38
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:26:38
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:26:38': Failed to parse time string (2026-17-03T16:26:38) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'alarm' = null
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:26:38
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:26:38': Failed to parse time string (2026-17-03T16:26:38) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'dispatched' = null
[2026-03-17 21:32:16] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026T16:29:08
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:29:08
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:29:08': Failed to parse time string (2026-17-03T16:29:08) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'onScene' = null
[2026-03-17 21:32:16] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026T16:31:06
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:31:06
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:31:06': Failed to parse time string (2026-17-03T16:31:06) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'cleared' = null
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:31:06
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:31:06': Failed to parse time string (2026-17-03T16:31:06) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'inService' = null
[2026-03-17 21:32:16] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-17 21:32:16] [INFO]   -> Found value: ENG2
[2026-03-17 21:32:16] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-03-17 21:32:16] [INFO]   -> Set field 'name' = "ENG2"
[2026-03-17 21:32:16] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026T16:27:10
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:27:10
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:27:10': Failed to parse time string (2026-17-03T16:27:10) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-03-17 21:32:16] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026T16:29:59
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:29:59
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:29:59': Failed to parse time string (2026-17-03T16:29:59) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'timeonscene' = null
[2026-03-17 21:32:16] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026T16:31:06
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:31:06
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:31:06': Failed to parse time string (2026-17-03T16:31:06) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'timeunitclear' = null
[2026-03-17 21:32:16] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-17 21:32:16] [INFO]   -> Found value: 03-17-2026T16:27:07
[2026-03-17 21:32:16] [INFO] Reformatted DD-MM-YYYY date '03-17-2026' (day=03, month=17) to ISO: 2026-17-03T16:27:07
[2026-03-17 21:32:16] [ERROR] Error formatting datetime '2026-17-03T16:27:07': Failed to parse time string (2026-17-03T16:27:07) at position 6 (7): Unexpected character
[2026-03-17 21:32:16] [INFO]   -> Set field 'timedispatch' = null
[2026-03-17 21:32:16] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-17 21:32:16] [INFO]   -> Found value: SDPSFD
[2026-03-17 21:32:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-17 21:32:16] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 21:32:16] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-17 21:32:16] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-08095","cADNumber":"26-08095","incidentLocationStreetNumber":330,"streetName":"SUNSET DR","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"03-17-2026 16:23:32|FIRE ALARM UNKNOWN AREA\nSHERRI MOORE\n573-838-8143\n 03-17-2026 16:29:26|NOTHING SHOWING 03-17-2026 16:30:58|NO FIRE ALL UNITS CAN CLEAR PER 549","cADLog":"03-17-2026 16:23:32|FIRE ALARM UNKNOWN AREA\nSHERRI MOORE\n573-838-8143\n 03-17-2026 16:29:26|NOTHING SHOWING 03-17-2026 16:30:58|NO FIRE ALL UNITS CAN CLEAR PER 549","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-17 21:32:16] [INFO] Number of extracted fields: 25
[2026-03-17 21:32:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-17 21:32:16] [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-17 21:32:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-17 21:32:16] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-17 21:32:16] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-17 21:32:16] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-17 21:32:16] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-17 21:32:16] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-17 21:32:16] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-03-17 21:32:18] [INFO] Created new Dispatches record with ID: 69b9c8610470cab18
[2026-03-17 21:32:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08095.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-17/SDPSFD_26-08095.xml
[2026-03-17 21:32:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-08095.xml
[2026-03-17 22:01:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150.XML
[2026-03-17 22:01:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150.XML for user: 68f1466aed072ad4a
[2026-03-17 22:01:50] [INFO] File size: 5498 bytes
[2026-03-17 22:01:50] [INFO] Created FTPFiles record with ID: 69b9cf4eeb698a5e3
[2026-03-17 22:01:50] [INFO] About to extract fields from XML. File size: 5498 bytes
[2026-03-17 22:01:50] [INFO] Number of mappings: 28
[2026-03-17 22:01:50] [INFO] Starting XML parsing. Content length: 5498
[2026-03-17 22:01:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:01:50] [INFO] Processing 28 field mappings
[2026-03-17 22:01:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:01:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:01:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:01:50] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:01:50] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 22:01:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 22:01:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:01:50] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:01:50] [INFO]   -> Found value: 2026000722
[2026-03-17 22:01:50] [INFO]   -> Set field 'incidentInternalId' = "2026000722"
[2026-03-17 22:01:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000722"
[2026-03-17 22:01:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:01:50] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-17 22:01:50] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-17 22:01:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:01:50] [INFO]   -> Found value: 2650
[2026-03-17 22:01:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2650
[2026-03-17 22:01:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:01:50] [INFO]   -> Found value: TN
[2026-03-17 22:01:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:01:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:01:50] [INFO]   -> Found value: 38501
[2026-03-17 22:01:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 22:01:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:01:50] [INFO]   -> Found value: COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER
[2026-03-17 22:01:50] [INFO]   -> Set field 'businessName' = "COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER"
[2026-03-17 22:01:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:01:50] [INFO]   -> Found value: 36.20106
[2026-03-17 22:01:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2010599999999982401277520693838596343994140625
[2026-03-17 22:01:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:01:50] [INFO]   -> Found value: -85.53571
[2026-03-17 22:01:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5357099999999945794115774333477020263671875
[2026-03-17 22:01:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:01:50] [INFO]   -> Found value: 2026-03-17 17:00:47
[2026-03-17 22:01:50] [INFO]   -> Set field 'alarm' = "2026-03-17 17:00:47"
[2026-03-17 22:01:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:01:50] [INFO]   -> Found value: 2026-03-17 17:01:47
[2026-03-17 22:01:50] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:01:47"
[2026-03-17 22:01:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:01:50] [INFO]   -> Found value: FARMINGTON DR/SHIPLEY SCHOOL RD
[2026-03-17 22:01:50] [INFO]   -> Set field 'incidentLocationCross' = "FARMINGTON DR\/SHIPLEY SCHOOL RD"
[2026-03-17 22:01:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:01:50] [INFO]   -> Found value: TK16
[2026-03-17 22:01:50] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-03-17 22:01:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:01:50] [INFO]   -> Found value: 2026-03-17 17:01:47
[2026-03-17 22:01:50] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:01:47"
[2026-03-17 22:01:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:01:50] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:01:50] [INFO]   -> Found value: 20260029134
[2026-03-17 22:01:50] [INFO]   -> Set field 'policeReportNumber' = "20260029134"
[2026-03-17 22:01:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:01:50] [INFO]   -> Found value: [EMS] TWO VEHICLES / ONE PERSON INJURED  [03/17/26 17:01:01 KBEATY] Event spawned from MVC WITH INJU...
[2026-03-17 22:01:50] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:01:50] [INFO]   -> Set field 'cADLog' = "[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:01:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:01:50] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:01:50] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:01:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:01:50] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-17 22:01:50] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-17 22:01:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:01:50] [INFO]   -> No value found (null or empty)
[2026-03-17 22:01:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:01:50] [INFO]   -> Found value: 2650 GAINESBORO GRADE
[2026-03-17 22:01:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2650 GAINESBORO GRADE"
[2026-03-17 22:01:50] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 22:01:50] [INFO] Built locationCoordinates from lat/lng: 36.20106,-85.53571
[2026-03-17 22:01:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000722","dispatchRunNumber":"2026000722","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":2650,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER","nERISIncidentLatitude":36.2010599999999982401277520693838596343994140625,"nERISIncidentLongitude":-85.5357099999999945794115774333477020263671875,"alarm":"2026-03-17 17:00:47","dispatched":"2026-03-17 17:01:47","incidentLocationCross":"FARMINGTON DR\/SHIPLEY SCHOOL RD","cADVehicleID":"TK16","timedispatch":"2026-03-17 17:01:47","policeReportNumber":"20260029134","dispatchNotes":"[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","cADLog":"[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"2650 GAINESBORO GRADE","locationCoordinates":"36.20106,-85.53571"}
[2026-03-17 22:01:50] [INFO] Number of extracted fields: 22
[2026-03-17 22:01:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 22:01: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-17 22:01:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 22:01:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:01:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:01:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 22:01: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-17 22:01: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-17 22:01:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:01:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:01:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:01:51] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-17 22:02:02] [INFO] Created new Dispatches record with ID: 69b9cf4fe8275c0ce
[2026-03-17 22:02:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029134_20260317_220150.XML
[2026-03-17 22:02:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150.XML
[2026-03-17 22:02:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150_1.XML
[2026-03-17 22:02:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150_1.XML for user: 68f1466aed072ad4a
[2026-03-17 22:02:02] [INFO] File size: 5498 bytes
[2026-03-17 22:02:03] [INFO] Created FTPFiles record with ID: 69b9cf5af00089876
[2026-03-17 22:02:03] [INFO] About to extract fields from XML. File size: 5498 bytes
[2026-03-17 22:02:03] [INFO] Number of mappings: 28
[2026-03-17 22:02:03] [INFO] Starting XML parsing. Content length: 5498
[2026-03-17 22:02:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:02:03] [INFO] Processing 28 field mappings
[2026-03-17 22:02:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:02:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:02:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:02:03] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:02:03] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 22:02:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 22:02:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:02:03] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:02:03] [INFO]   -> Found value: 2026000722
[2026-03-17 22:02:03] [INFO]   -> Set field 'incidentInternalId' = "2026000722"
[2026-03-17 22:02:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000722"
[2026-03-17 22:02:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:02:03] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-17 22:02:03] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-17 22:02:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:02:03] [INFO]   -> Found value: 2650
[2026-03-17 22:02:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2650
[2026-03-17 22:02:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:02:03] [INFO]   -> Found value: TN
[2026-03-17 22:02:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:02:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:02:03] [INFO]   -> Found value: 38501
[2026-03-17 22:02:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 22:02:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:02:03] [INFO]   -> Found value: COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER
[2026-03-17 22:02:03] [INFO]   -> Set field 'businessName' = "COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER"
[2026-03-17 22:02:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:02:03] [INFO]   -> Found value: 36.20106
[2026-03-17 22:02:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2010599999999982401277520693838596343994140625
[2026-03-17 22:02:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:02:03] [INFO]   -> Found value: -85.53571
[2026-03-17 22:02:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5357099999999945794115774333477020263671875
[2026-03-17 22:02:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:02:03] [INFO]   -> Found value: 2026-03-17 17:00:47
[2026-03-17 22:02:03] [INFO]   -> Set field 'alarm' = "2026-03-17 17:00:47"
[2026-03-17 22:02:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:02:03] [INFO]   -> Found value: 2026-03-17 17:01:47
[2026-03-17 22:02:03] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:01:47"
[2026-03-17 22:02:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:02:03] [INFO]   -> Found value: FARMINGTON DR/SHIPLEY SCHOOL RD
[2026-03-17 22:02:03] [INFO]   -> Set field 'incidentLocationCross' = "FARMINGTON DR\/SHIPLEY SCHOOL RD"
[2026-03-17 22:02:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:02:03] [INFO]   -> Found value: TK16
[2026-03-17 22:02:03] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-03-17 22:02:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:02:03] [INFO]   -> Found value: 2026-03-17 17:01:47
[2026-03-17 22:02:03] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:01:47"
[2026-03-17 22:02:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:02:03] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:02:03] [INFO]   -> Found value: 20260029134
[2026-03-17 22:02:03] [INFO]   -> Set field 'policeReportNumber' = "20260029134"
[2026-03-17 22:02:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:02:03] [INFO]   -> Found value: [EMS] TWO VEHICLES / ONE PERSON INJURED  [03/17/26 17:01:01 KBEATY] Event spawned from MVC WITH INJU...
[2026-03-17 22:02:03] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:03] [INFO]   -> Set field 'cADLog' = "[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:02:03] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:02:03] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:02:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:02:03] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-17 22:02:03] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-17 22:02:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:02:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:02:03] [INFO]   -> Found value: 2650 GAINESBORO GRADE
[2026-03-17 22:02:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2650 GAINESBORO GRADE"
[2026-03-17 22:02:03] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 22:02:03] [INFO] Built locationCoordinates from lat/lng: 36.20106,-85.53571
[2026-03-17 22:02:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000722","dispatchRunNumber":"2026000722","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":2650,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER","nERISIncidentLatitude":36.2010599999999982401277520693838596343994140625,"nERISIncidentLongitude":-85.5357099999999945794115774333477020263671875,"alarm":"2026-03-17 17:00:47","dispatched":"2026-03-17 17:01:47","incidentLocationCross":"FARMINGTON DR\/SHIPLEY SCHOOL RD","cADVehicleID":"TK16","timedispatch":"2026-03-17 17:01:47","policeReportNumber":"20260029134","dispatchNotes":"[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","cADLog":"[EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"2650 GAINESBORO GRADE","locationCoordinates":"36.20106,-85.53571"}
[2026-03-17 22:02:03] [INFO] Number of extracted fields: 22
[2026-03-17 22:02:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 22:02:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 22:02:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 22:02:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:02:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:02:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 22:02:03] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 22:02:03] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 22:02:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:02:03] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:02:03] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:02:03] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-17 22:02:03] [INFO] Found existing Dispatch with cADNumber '2026000722', ID: 69b9cf4fe8275c0ce - will update instead of create
[2026-03-17 22:02:04] [INFO] Updated existing Dispatches record with ID: 69b9cf4fe8275c0ce
[2026-03-17 22:02:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029134_20260317_220150_1.XML
[2026-03-17 22:02:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220150_1.XML
[2026-03-17 22:02:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220251.XML
[2026-03-17 22:02:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220251.XML for user: 68f1466aed072ad4a
[2026-03-17 22:02:51] [INFO] File size: 6766 bytes
[2026-03-17 22:02:51] [INFO] Created FTPFiles record with ID: 69b9cf8b913e3ed03
[2026-03-17 22:02:51] [INFO] About to extract fields from XML. File size: 6766 bytes
[2026-03-17 22:02:51] [INFO] Number of mappings: 28
[2026-03-17 22:02:51] [INFO] Starting XML parsing. Content length: 6766
[2026-03-17 22:02:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:02:51] [INFO] Processing 28 field mappings
[2026-03-17 22:02:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:02:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:02:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:02:51] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:02:51] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 22:02:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 22:02:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:02:51] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:02:51] [INFO]   -> Found value: 2026000722
[2026-03-17 22:02:51] [INFO]   -> Set field 'incidentInternalId' = "2026000722"
[2026-03-17 22:02:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000722"
[2026-03-17 22:02:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:02:51] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-17 22:02:51] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-17 22:02:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:02:51] [INFO]   -> Found value: 2650
[2026-03-17 22:02:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2650
[2026-03-17 22:02:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:02:51] [INFO]   -> Found value: TN
[2026-03-17 22:02:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:02:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:02:51] [INFO]   -> Found value: 38501
[2026-03-17 22:02:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 22:02:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:02:51] [INFO]   -> Found value: COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER
[2026-03-17 22:02:51] [INFO]   -> Set field 'businessName' = "COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER"
[2026-03-17 22:02:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:02:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:02:51] [INFO]   -> Found value: 36.20106
[2026-03-17 22:02:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2010599999999982401277520693838596343994140625
[2026-03-17 22:02:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:02:51] [INFO]   -> Found value: -85.53571
[2026-03-17 22:02:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5357099999999945794115774333477020263671875
[2026-03-17 22:02:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:02:51] [INFO]   -> Found value: 2026-03-17 17:00:47
[2026-03-17 22:02:51] [INFO]   -> Set field 'alarm' = "2026-03-17 17:00:47"
[2026-03-17 22:02:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:02:51] [INFO]   -> Found value: 2026-03-17 17:01:47
[2026-03-17 22:02:51] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:01:47"
[2026-03-17 22:02:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:02:51] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:51] [INFO]   -> Set field 'enroute' = "2026-03-17 17:02:46"
[2026-03-17 22:02:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:02:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:02:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:02:51] [INFO]   -> Found value: FARMINGTON DR/SHIPLEY SCHOOL RD
[2026-03-17 22:02:51] [INFO]   -> Set field 'incidentLocationCross' = "FARMINGTON DR\/SHIPLEY SCHOOL RD"
[2026-03-17 22:02:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:02:51] [INFO]   -> Found value: 969
[2026-03-17 22:02:51] [INFO]   -> Set field 'cADVehicleID' = 969
[2026-03-17 22:02:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:02:51] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:51] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:02:46"
[2026-03-17 22:02:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:02:51] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:51] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:02:46"
[2026-03-17 22:02:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:02:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:02:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:02:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:02:51] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:02:51] [INFO]   -> Found value: 20260029134
[2026-03-17 22:02:51] [INFO]   -> Set field 'policeReportNumber' = "20260029134"
[2026-03-17 22:02:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:02:51] [INFO]   -> Found value: [LAW] BLK TRUCK// HONDA SANAFA GREEN  [03/17/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICL...
[2026-03-17 22:02:51] [INFO]   -> Set field 'dispatchNotes' = "[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:51] [INFO]   -> Set field 'cADLog' = "[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:02:51] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:02:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:02:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:02:51] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-17 22:02:51] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-17 22:02:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:02:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:02:51] [INFO]   -> Found value: 2650 GAINESBORO GRADE
[2026-03-17 22:02:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2650 GAINESBORO GRADE"
[2026-03-17 22:02:51] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 22:02:51] [INFO] Built locationCoordinates from lat/lng: 36.20106,-85.53571
[2026-03-17 22:02:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000722","dispatchRunNumber":"2026000722","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":2650,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER","nERISIncidentLatitude":36.2010599999999982401277520693838596343994140625,"nERISIncidentLongitude":-85.5357099999999945794115774333477020263671875,"alarm":"2026-03-17 17:00:47","dispatched":"2026-03-17 17:01:47","enroute":"2026-03-17 17:02:46","incidentLocationCross":"FARMINGTON DR\/SHIPLEY SCHOOL RD","cADVehicleID":969,"timedispatch":"2026-03-17 17:02:46","timeenroutetoscene":"2026-03-17 17:02:46","policeReportNumber":"20260029134","dispatchNotes":"[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","cADLog":"[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"2650 GAINESBORO GRADE","locationCoordinates":"36.20106,-85.53571"}
[2026-03-17 22:02:51] [INFO] Number of extracted fields: 24
[2026-03-17 22:02:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 22:02: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-17 22:02:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 22:02:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:02:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:02:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 22:02: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-17 22:02: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-17 22:02:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:02:52] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:02:52] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:02:52] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-17 22:02:52] [INFO] Found existing Dispatch with cADNumber '2026000722', ID: 69b9cf4fe8275c0ce - will update instead of create
[2026-03-17 22:02:52] [INFO] Updated existing Dispatches record with ID: 69b9cf4fe8275c0ce
[2026-03-17 22:02:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220251.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029134_20260317_220251.XML
[2026-03-17 22:02:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220251.XML
[2026-03-17 22:02:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220257.XML
[2026-03-17 22:02:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220257.XML for user: 68f1466aed072ad4a
[2026-03-17 22:02:58] [INFO] File size: 6766 bytes
[2026-03-17 22:02:58] [INFO] Created FTPFiles record with ID: 69b9cf9254421fd87
[2026-03-17 22:02:58] [INFO] About to extract fields from XML. File size: 6766 bytes
[2026-03-17 22:02:58] [INFO] Number of mappings: 28
[2026-03-17 22:02:58] [INFO] Starting XML parsing. Content length: 6766
[2026-03-17 22:02:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:02:58] [INFO] Processing 28 field mappings
[2026-03-17 22:02:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:02:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:02:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:02:58] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:02:58] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 22:02:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 22:02:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:02:58] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:02:58] [INFO]   -> Found value: 2026000722
[2026-03-17 22:02:58] [INFO]   -> Set field 'incidentInternalId' = "2026000722"
[2026-03-17 22:02:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000722"
[2026-03-17 22:02:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:02:58] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-17 22:02:58] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-17 22:02:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:02:58] [INFO]   -> Found value: 2650
[2026-03-17 22:02:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2650
[2026-03-17 22:02:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:02:58] [INFO]   -> Found value: TN
[2026-03-17 22:02:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:02:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:02:58] [INFO]   -> Found value: 38501
[2026-03-17 22:02:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 22:02:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:02:58] [INFO]   -> Found value: COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER
[2026-03-17 22:02:58] [INFO]   -> Set field 'businessName' = "COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER"
[2026-03-17 22:02:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:02:58] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:02:58] [INFO]   -> Found value: 36.20106
[2026-03-17 22:02:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2010599999999982401277520693838596343994140625
[2026-03-17 22:02:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:02:58] [INFO]   -> Found value: -85.53571
[2026-03-17 22:02:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5357099999999945794115774333477020263671875
[2026-03-17 22:02:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:02:58] [INFO]   -> Found value: 2026-03-17 17:00:47
[2026-03-17 22:02:58] [INFO]   -> Set field 'alarm' = "2026-03-17 17:00:47"
[2026-03-17 22:02:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:02:58] [INFO]   -> Found value: 2026-03-17 17:01:47
[2026-03-17 22:02:58] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:01:47"
[2026-03-17 22:02:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:02:58] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:58] [INFO]   -> Set field 'enroute' = "2026-03-17 17:02:46"
[2026-03-17 22:02:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:02:58] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:02:58] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:02:58] [INFO]   -> Found value: FARMINGTON DR/SHIPLEY SCHOOL RD
[2026-03-17 22:02:58] [INFO]   -> Set field 'incidentLocationCross' = "FARMINGTON DR\/SHIPLEY SCHOOL RD"
[2026-03-17 22:02:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:02:58] [INFO]   -> Found value: 969
[2026-03-17 22:02:58] [INFO]   -> Set field 'cADVehicleID' = 969
[2026-03-17 22:02:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:02:58] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:58] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:02:46"
[2026-03-17 22:02:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:02:58] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:58] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:02:46"
[2026-03-17 22:02:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:02:58] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:02:58] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:02:58] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:02:58] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:02:58] [INFO]   -> Found value: 20260029134
[2026-03-17 22:02:58] [INFO]   -> Set field 'policeReportNumber' = "20260029134"
[2026-03-17 22:02:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:02:58] [INFO]   -> Found value: [LAW] BLK TRUCK// HONDA SANAFA GREEN  [03/17/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICL...
[2026-03-17 22:02:58] [INFO]   -> Set field 'dispatchNotes' = "[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:58] [INFO]   -> Set field 'cADLog' = "[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:02:58] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:02:58] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:02:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:02:58] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-17 22:02:58] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-17 22:02:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:02:58] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:02:58] [INFO]   -> Found value: 2650 GAINESBORO GRADE
[2026-03-17 22:02:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2650 GAINESBORO GRADE"
[2026-03-17 22:02:58] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 22:02:58] [INFO] Built locationCoordinates from lat/lng: 36.20106,-85.53571
[2026-03-17 22:02:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000722","dispatchRunNumber":"2026000722","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":2650,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER","nERISIncidentLatitude":36.2010599999999982401277520693838596343994140625,"nERISIncidentLongitude":-85.5357099999999945794115774333477020263671875,"alarm":"2026-03-17 17:00:47","dispatched":"2026-03-17 17:01:47","enroute":"2026-03-17 17:02:46","incidentLocationCross":"FARMINGTON DR\/SHIPLEY SCHOOL RD","cADVehicleID":969,"timedispatch":"2026-03-17 17:02:46","timeenroutetoscene":"2026-03-17 17:02:46","policeReportNumber":"20260029134","dispatchNotes":"[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","cADLog":"[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"2650 GAINESBORO GRADE","locationCoordinates":"36.20106,-85.53571"}
[2026-03-17 22:02:58] [INFO] Number of extracted fields: 24
[2026-03-17 22:02:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 22:02:58] [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-17 22:02:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 22:02:58] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:02:58] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:02:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 22:02:58] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 22:02:58] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 22:02:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:02:58] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:02:58] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:02:58] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-17 22:02:59] [INFO] Found existing Dispatch with cADNumber '2026000722', ID: 69b9cf4fe8275c0ce - will update instead of create
[2026-03-17 22:02:59] [INFO] Updated existing Dispatches record with ID: 69b9cf4fe8275c0ce
[2026-03-17 22:02:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220257.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029134_20260317_220257.XML
[2026-03-17 22:02:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220257.XML
[2026-03-17 22:02:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220259.XML
[2026-03-17 22:02:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220259.XML for user: 68f1466aed072ad4a
[2026-03-17 22:02:59] [INFO] File size: 6766 bytes
[2026-03-17 22:02:59] [INFO] Created FTPFiles record with ID: 69b9cf93d564f3139
[2026-03-17 22:02:59] [INFO] About to extract fields from XML. File size: 6766 bytes
[2026-03-17 22:02:59] [INFO] Number of mappings: 28
[2026-03-17 22:02:59] [INFO] Starting XML parsing. Content length: 6766
[2026-03-17 22:02:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:02:59] [INFO] Processing 28 field mappings
[2026-03-17 22:02:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:02:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:02:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:02:59] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:02:59] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-17 22:02:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-17 22:02:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:02:59] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:02:59] [INFO]   -> Found value: 2026000722
[2026-03-17 22:02:59] [INFO]   -> Set field 'incidentInternalId' = "2026000722"
[2026-03-17 22:02:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000722"
[2026-03-17 22:02:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:02:59] [INFO]   -> Found value: MVC WITH INJURY
[2026-03-17 22:02:59] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-03-17 22:02:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:02:59] [INFO]   -> Found value: 2650
[2026-03-17 22:02:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2650
[2026-03-17 22:02:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:02:59] [INFO]   -> Found value: TN
[2026-03-17 22:02:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:02:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:02:59] [INFO]   -> Found value: 38501
[2026-03-17 22:02:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 22:02:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:02:59] [INFO]   -> Found value: COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER
[2026-03-17 22:02:59] [INFO]   -> Set field 'businessName' = "COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER"
[2026-03-17 22:02:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:02:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:02:59] [INFO]   -> Found value: 36.20106
[2026-03-17 22:02:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2010599999999982401277520693838596343994140625
[2026-03-17 22:02:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:02:59] [INFO]   -> Found value: -85.53571
[2026-03-17 22:02:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5357099999999945794115774333477020263671875
[2026-03-17 22:02:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:02:59] [INFO]   -> Found value: 2026-03-17 17:00:47
[2026-03-17 22:02:59] [INFO]   -> Set field 'alarm' = "2026-03-17 17:00:47"
[2026-03-17 22:02:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:02:59] [INFO]   -> Found value: 2026-03-17 17:01:47
[2026-03-17 22:02:59] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:01:47"
[2026-03-17 22:02:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:02:59] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:59] [INFO]   -> Set field 'enroute' = "2026-03-17 17:02:46"
[2026-03-17 22:02:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:02:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:02:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:02:59] [INFO]   -> Found value: FARMINGTON DR/SHIPLEY SCHOOL RD
[2026-03-17 22:02:59] [INFO]   -> Set field 'incidentLocationCross' = "FARMINGTON DR\/SHIPLEY SCHOOL RD"
[2026-03-17 22:02:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:02:59] [INFO]   -> Found value: 969
[2026-03-17 22:02:59] [INFO]   -> Set field 'cADVehicleID' = 969
[2026-03-17 22:02:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:02:59] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:59] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:02:46"
[2026-03-17 22:02:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:02:59] [INFO]   -> Found value: 2026-03-17 17:02:46
[2026-03-17 22:02:59] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:02:46"
[2026-03-17 22:02:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:02:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:02:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:02:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:02:59] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:02:59] [INFO]   -> Found value: 20260029134
[2026-03-17 22:02:59] [INFO]   -> Set field 'policeReportNumber' = "20260029134"
[2026-03-17 22:02:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:02:59] [INFO]   -> Found value: [LAW] BLK TRUCK// HONDA SANAFA GREEN  [03/17/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICL...
[2026-03-17 22:02:59] [INFO]   -> Set field 'dispatchNotes' = "[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:59] [INFO]   -> Set field 'cADLog' = "[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]"
[2026-03-17 22:02:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:02:59] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:02:59] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:02:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:02:59] [INFO]   -> Found value: GAINESBORO GRADE
[2026-03-17 22:02:59] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-03-17 22:02:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:02:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:02:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:02:59] [INFO]   -> Found value: 2650 GAINESBORO GRADE
[2026-03-17 22:02:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2650 GAINESBORO GRADE"
[2026-03-17 22:02:59] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 22:02:59] [INFO] Built locationCoordinates from lat/lng: 36.20106,-85.53571
[2026-03-17 22:02:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000722","dispatchRunNumber":"2026000722","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":2650,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"COOKEVILLE PUTNAM COUNTY ANIMAL SHELTER","nERISIncidentLatitude":36.2010599999999982401277520693838596343994140625,"nERISIncidentLongitude":-85.5357099999999945794115774333477020263671875,"alarm":"2026-03-17 17:00:47","dispatched":"2026-03-17 17:01:47","enroute":"2026-03-17 17:02:46","incidentLocationCross":"FARMINGTON DR\/SHIPLEY SCHOOL RD","cADVehicleID":969,"timedispatch":"2026-03-17 17:02:46","timeenroutetoscene":"2026-03-17 17:02:46","policeReportNumber":"20260029134","dispatchNotes":"[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","cADLog":"[LAW] BLK TRUCK\/\/ HONDA SANAFA GREEN  [03\/17\/26 17:02:28 RJGIPSON] [EMS] CALLER IS OUT OF HER VEHICLE \/ ADVISED THE DOOR IS OPEN ON OTHER VEHICLE  [03\/17\/26 17:02:13 KBEATY] [LAW] OTHER FEM NEEDS EMS  [03\/17\/26 17:02:08 RJGIPSON] [LAW] A TRUCK HIT YOU  [03\/17\/26 17:01:57 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/17\/26 17:01:51 RJGIPSON] [EMS] TWO VEHICLES \/ ONE PERSON INJURED  [03\/17\/26 17:01:01 KBEATY] Event spawned from MVC WITH INJURY.  [03\/17\/2026 17:00:47 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"2650 GAINESBORO GRADE","locationCoordinates":"36.20106,-85.53571"}
[2026-03-17 22:02:59] [INFO] Number of extracted fields: 24
[2026-03-17 22:02:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-17 22:02:59] [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-17 22:02:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-17 22:02:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:03:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:03:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-17 22:03:00] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 22:03:00] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 22:03:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:03:00] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:03:00] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:03:00] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-03-17 22:03:00] [INFO] Found existing Dispatch with cADNumber '2026000722', ID: 69b9cf4fe8275c0ce - will update instead of create
[2026-03-17 22:03:00] [INFO] Updated existing Dispatches record with ID: 69b9cf4fe8275c0ce
[2026-03-17 22:03:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220259.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029134_20260317_220259.XML
[2026-03-17 22:03:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029134_20260317_220259.XML
[2026-03-17 22:39:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223950.XML
[2026-03-17 22:39:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223950.XML for user: 68f1466aed072ad4a
[2026-03-17 22:39:50] [INFO] File size: 5408 bytes
[2026-03-17 22:39:51] [INFO] Created FTPFiles record with ID: 69b9d8373e5605665
[2026-03-17 22:39:51] [INFO] About to extract fields from XML. File size: 5408 bytes
[2026-03-17 22:39:51] [INFO] Number of mappings: 28
[2026-03-17 22:39:51] [INFO] Starting XML parsing. Content length: 5408
[2026-03-17 22:39:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:39:51] [INFO] Processing 28 field mappings
[2026-03-17 22:39:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:39:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:39:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:39:51] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:39:51] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 22:39:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 22:39:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:39:51] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:39:51] [INFO]   -> Found value: 2026000723
[2026-03-17 22:39:51] [INFO]   -> Set field 'incidentInternalId' = "2026000723"
[2026-03-17 22:39:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000723"
[2026-03-17 22:39:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:39:51] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 22:39:51] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 22:39:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:39:51] [INFO]   -> Found value: 5370
[2026-03-17 22:39:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5370
[2026-03-17 22:39:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:39:51] [INFO]   -> Found value: TN
[2026-03-17 22:39:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:39:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:39:51] [INFO]   -> Found value: 38506
[2026-03-17 22:39:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 22:39:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:39:51] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:39:51] [INFO]   -> Set field 'businessName' = "5370 DITTY RD"
[2026-03-17 22:39:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:39:51] [INFO]   -> Found value: 36.10170
[2026-03-17 22:39:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10170000000000101181285572238266468048095703125
[2026-03-17 22:39:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:39:51] [INFO]   -> Found value: -85.59329
[2026-03-17 22:39:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.593289999999996098267729394137859344482421875
[2026-03-17 22:39:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:39:51] [INFO]   -> Found value: 2026-03-17 17:39:06
[2026-03-17 22:39:51] [INFO]   -> Set field 'alarm' = "2026-03-17 17:39:06"
[2026-03-17 22:39:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:39:51] [INFO]   -> Found value: 2026-03-17 17:39:48
[2026-03-17 22:39:51] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:39:48"
[2026-03-17 22:39:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:39:51] [INFO]   -> Found value: SOUTHWOOD LN/NEELY RD
[2026-03-17 22:39:51] [INFO]   -> Set field 'incidentLocationCross' = "SOUTHWOOD LN\/NEELY RD"
[2026-03-17 22:39:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:39:51] [INFO]   -> Found value: PCFR
[2026-03-17 22:39:51] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 22:39:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:39:51] [INFO]   -> Found value: 2026-03-17 17:39:48
[2026-03-17 22:39:51] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:39:48"
[2026-03-17 22:39:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 22:39:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:39:51] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:39:51] [INFO]   -> Found value: 20260029150
[2026-03-17 22:39:51] [INFO]   -> Set field 'policeReportNumber' = "20260029150"
[2026-03-17 22:39:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:39:51] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 17:39:06 JBOHANNON]
[2026-03-17 22:39:51] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:39:51] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:39:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:39:51] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:39:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:39:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:39:51] [INFO]   -> Found value: DITTY
[2026-03-17 22:39:51] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-17 22:39:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:39:51] [INFO]   -> Found value: RD
[2026-03-17 22:39:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 22:39:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:39:51] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:39:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5370 DITTY RD"
[2026-03-17 22:39:51] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 22:39:51] [INFO] Concatenating street name and type
[2026-03-17 22:39:51] [INFO]   -> Combined street name: DITTY RD
[2026-03-17 22:39:51] [INFO] Built locationCoordinates from lat/lng: 36.1017,-85.59329
[2026-03-17 22:39:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000723","dispatchRunNumber":"2026000723","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":5370,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"5370 DITTY RD","nERISIncidentLatitude":36.10170000000000101181285572238266468048095703125,"nERISIncidentLongitude":-85.593289999999996098267729394137859344482421875,"alarm":"2026-03-17 17:39:06","dispatched":"2026-03-17 17:39:48","incidentLocationCross":"SOUTHWOOD LN\/NEELY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 17:39:48","policeReportNumber":"20260029150","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"DITTY RD","incidentAddressTextVersionStreet":"5370 DITTY RD","locationCoordinates":"36.1017,-85.59329"}
[2026-03-17 22:39:51] [INFO] Number of extracted fields: 22
[2026-03-17 22:39:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 22:39:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 22:39:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 22:39:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:39:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:39:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 22:39: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-17 22:39: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-17 22:39:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:39:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:39:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:39:51] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 22:40:03] [INFO] Created new Dispatches record with ID: 69b9d83825f4be3d8
[2026-03-17 22:40:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223950.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029150_20260317_223950.XML
[2026-03-17 22:40:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223950.XML
[2026-03-17 22:40:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223951.XML
[2026-03-17 22:40:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223951.XML for user: 68f1466aed072ad4a
[2026-03-17 22:40:03] [INFO] File size: 5408 bytes
[2026-03-17 22:40:03] [INFO] Created FTPFiles record with ID: 69b9d8436617c5e43
[2026-03-17 22:40:03] [INFO] About to extract fields from XML. File size: 5408 bytes
[2026-03-17 22:40:03] [INFO] Number of mappings: 28
[2026-03-17 22:40:03] [INFO] Starting XML parsing. Content length: 5408
[2026-03-17 22:40:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:40:03] [INFO] Processing 28 field mappings
[2026-03-17 22:40:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:40:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:40:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:40:03] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:40:03] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 22:40:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 22:40:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:40:03] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:40:03] [INFO]   -> Found value: 2026000723
[2026-03-17 22:40:03] [INFO]   -> Set field 'incidentInternalId' = "2026000723"
[2026-03-17 22:40:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000723"
[2026-03-17 22:40:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:40:03] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 22:40:03] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 22:40:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:40:03] [INFO]   -> Found value: 5370
[2026-03-17 22:40:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5370
[2026-03-17 22:40:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:40:03] [INFO]   -> Found value: TN
[2026-03-17 22:40:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:40:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:40:03] [INFO]   -> Found value: 38506
[2026-03-17 22:40:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 22:40:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:40:03] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:40:03] [INFO]   -> Set field 'businessName' = "5370 DITTY RD"
[2026-03-17 22:40:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:40:03] [INFO]   -> Found value: 36.10170
[2026-03-17 22:40:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10170000000000101181285572238266468048095703125
[2026-03-17 22:40:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:40:03] [INFO]   -> Found value: -85.59329
[2026-03-17 22:40:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.593289999999996098267729394137859344482421875
[2026-03-17 22:40:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:40:03] [INFO]   -> Found value: 2026-03-17 17:39:06
[2026-03-17 22:40:03] [INFO]   -> Set field 'alarm' = "2026-03-17 17:39:06"
[2026-03-17 22:40:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:40:03] [INFO]   -> Found value: 2026-03-17 17:39:48
[2026-03-17 22:40:03] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:39:48"
[2026-03-17 22:40:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:40:03] [INFO]   -> Found value: SOUTHWOOD LN/NEELY RD
[2026-03-17 22:40:03] [INFO]   -> Set field 'incidentLocationCross' = "SOUTHWOOD LN\/NEELY RD"
[2026-03-17 22:40:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:40:03] [INFO]   -> Found value: PCFR
[2026-03-17 22:40:03] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 22:40:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:40:03] [INFO]   -> Found value: 2026-03-17 17:39:48
[2026-03-17 22:40:03] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:39:48"
[2026-03-17 22:40:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:40:03] [INFO]   -> No value found (null or empty)
[2026-03-17 22:40:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:40:03] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:40:03] [INFO]   -> Found value: 20260029150
[2026-03-17 22:40:03] [INFO]   -> Set field 'policeReportNumber' = "20260029150"
[2026-03-17 22:40:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:40:03] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 17:39:06 JBOHANNON]
[2026-03-17 22:40:03] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:40:03] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:40:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:40:03] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:40:03] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:40:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:40:03] [INFO]   -> Found value: DITTY
[2026-03-17 22:40:03] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-17 22:40:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:40:03] [INFO]   -> Found value: RD
[2026-03-17 22:40:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 22:40:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:40:03] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:40:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5370 DITTY RD"
[2026-03-17 22:40:03] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 22:40:03] [INFO] Concatenating street name and type
[2026-03-17 22:40:03] [INFO]   -> Combined street name: DITTY RD
[2026-03-17 22:40:03] [INFO] Built locationCoordinates from lat/lng: 36.1017,-85.59329
[2026-03-17 22:40:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000723","dispatchRunNumber":"2026000723","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":5370,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"5370 DITTY RD","nERISIncidentLatitude":36.10170000000000101181285572238266468048095703125,"nERISIncidentLongitude":-85.593289999999996098267729394137859344482421875,"alarm":"2026-03-17 17:39:06","dispatched":"2026-03-17 17:39:48","incidentLocationCross":"SOUTHWOOD LN\/NEELY RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 17:39:48","policeReportNumber":"20260029150","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"DITTY RD","incidentAddressTextVersionStreet":"5370 DITTY RD","locationCoordinates":"36.1017,-85.59329"}
[2026-03-17 22:40:03] [INFO] Number of extracted fields: 22
[2026-03-17 22:40:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 22:40:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 22:40:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 22:40:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:40:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:40:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 22:40:03] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 22:40:03] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 22:40:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:40:03] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:40:03] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:40:04] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 22:40:04] [INFO] Found existing Dispatch with cADNumber '2026000723', ID: 69b9d83825f4be3d8 - will update instead of create
[2026-03-17 22:40:04] [INFO] Updated existing Dispatches record with ID: 69b9d83825f4be3d8
[2026-03-17 22:40:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223951.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029150_20260317_223951.XML
[2026-03-17 22:40:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_223951.XML
[2026-03-17 22:41:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118.XML
[2026-03-17 22:41:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118.XML for user: 68f1466aed072ad4a
[2026-03-17 22:41:18] [INFO] File size: 6307 bytes
[2026-03-17 22:41:18] [INFO] Created FTPFiles record with ID: 69b9d88e651fc80ed
[2026-03-17 22:41:18] [INFO] About to extract fields from XML. File size: 6307 bytes
[2026-03-17 22:41:18] [INFO] Number of mappings: 28
[2026-03-17 22:41:18] [INFO] Starting XML parsing. Content length: 6307
[2026-03-17 22:41:18] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:41:18] [INFO] Processing 28 field mappings
[2026-03-17 22:41:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:41:18] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:41:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:41:18] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:41:18] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 22:41:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 22:41:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:41:18] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:41:18] [INFO]   -> Found value: 2026000723
[2026-03-17 22:41:18] [INFO]   -> Set field 'incidentInternalId' = "2026000723"
[2026-03-17 22:41:18] [INFO]   -> Set field 'dispatchRunNumber' = "2026000723"
[2026-03-17 22:41:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:41:18] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 22:41:18] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 22:41:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:41:18] [INFO]   -> Found value: 5370
[2026-03-17 22:41:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5370
[2026-03-17 22:41:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:41:18] [INFO]   -> Found value: TN
[2026-03-17 22:41:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:41:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:41:18] [INFO]   -> Found value: 38506
[2026-03-17 22:41:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 22:41:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:41:18] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:41:18] [INFO]   -> Set field 'businessName' = "5370 DITTY RD"
[2026-03-17 22:41:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:41:18] [INFO]   -> Found value: 36.10170
[2026-03-17 22:41:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10170000000000101181285572238266468048095703125
[2026-03-17 22:41:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:41:18] [INFO]   -> Found value: -85.59329
[2026-03-17 22:41:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.593289999999996098267729394137859344482421875
[2026-03-17 22:41:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:41:18] [INFO]   -> Found value: 2026-03-17 17:39:06
[2026-03-17 22:41:18] [INFO]   -> Set field 'alarm' = "2026-03-17 17:39:06"
[2026-03-17 22:41:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:41:18] [INFO]   -> Found value: 2026-03-17 17:39:48
[2026-03-17 22:41:18] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:39:48"
[2026-03-17 22:41:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:41:18] [INFO]   -> Found value: 2026-03-17 17:41:12
[2026-03-17 22:41:18] [INFO]   -> Set field 'enroute' = "2026-03-17 17:41:12"
[2026-03-17 22:41:18] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:18] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:18] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:41:18] [INFO]   -> Found value: SOUTHWOOD LN/NEELY RD
[2026-03-17 22:41:18] [INFO]   -> Set field 'incidentLocationCross' = "SOUTHWOOD LN\/NEELY RD"
[2026-03-17 22:41:18] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:41:18] [INFO]   -> Found value: SQ11
[2026-03-17 22:41:18] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 22:41:18] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:41:18] [INFO]   -> Found value: 2026-03-17 17:41:08
[2026-03-17 22:41:18] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:41:08"
[2026-03-17 22:41:18] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:41:18] [INFO]   -> Found value: 2026-03-17 17:41:12
[2026-03-17 22:41:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:41:12"
[2026-03-17 22:41:18] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:18] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:18] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:18] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:41:18] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:41:18] [INFO]   -> Found value: 20260029150
[2026-03-17 22:41:18] [INFO]   -> Set field 'policeReportNumber' = "20260029150"
[2026-03-17 22:41:18] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:41:18] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 17:39:06 JBOHANNON]
[2026-03-17 22:41:18] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:41:18] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:41:18] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:41:18] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:41:18] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:41:18] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:41:18] [INFO]   -> Found value: DITTY
[2026-03-17 22:41:18] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-17 22:41:18] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:41:18] [INFO]   -> Found value: RD
[2026-03-17 22:41:18] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 22:41:18] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:41:18] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:41:18] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5370 DITTY RD"
[2026-03-17 22:41:18] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 22:41:18] [INFO] Concatenating street name and type
[2026-03-17 22:41:18] [INFO]   -> Combined street name: DITTY RD
[2026-03-17 22:41:18] [INFO] Built locationCoordinates from lat/lng: 36.1017,-85.59329
[2026-03-17 22:41:18] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000723","dispatchRunNumber":"2026000723","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":5370,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"5370 DITTY RD","nERISIncidentLatitude":36.10170000000000101181285572238266468048095703125,"nERISIncidentLongitude":-85.593289999999996098267729394137859344482421875,"alarm":"2026-03-17 17:39:06","dispatched":"2026-03-17 17:39:48","enroute":"2026-03-17 17:41:12","incidentLocationCross":"SOUTHWOOD LN\/NEELY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-17 17:41:08","timeenroutetoscene":"2026-03-17 17:41:12","policeReportNumber":"20260029150","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"DITTY RD","incidentAddressTextVersionStreet":"5370 DITTY RD","locationCoordinates":"36.1017,-85.59329"}
[2026-03-17 22:41:18] [INFO] Number of extracted fields: 24
[2026-03-17 22:41:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 22:41:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 22:41:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 22:41:18] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:41:18] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:41:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 22:41:18] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 22:41:18] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 22:41:18] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:41:18] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:41:18] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:41:19] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 22:41:19] [INFO] Found existing Dispatch with cADNumber '2026000723', ID: 69b9d83825f4be3d8 - will update instead of create
[2026-03-17 22:41:19] [INFO] Updated existing Dispatches record with ID: 69b9d83825f4be3d8
[2026-03-17 22:41:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029150_20260317_224118.XML
[2026-03-17 22:41:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118.XML
[2026-03-17 22:41:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118_1.XML
[2026-03-17 22:41:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118_1.XML for user: 68f1466aed072ad4a
[2026-03-17 22:41:19] [INFO] File size: 6307 bytes
[2026-03-17 22:41:19] [INFO] Created FTPFiles record with ID: 69b9d88fcb6c8ee8c
[2026-03-17 22:41:19] [INFO] About to extract fields from XML. File size: 6307 bytes
[2026-03-17 22:41:19] [INFO] Number of mappings: 28
[2026-03-17 22:41:19] [INFO] Starting XML parsing. Content length: 6307
[2026-03-17 22:41:19] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:41:19] [INFO] Processing 28 field mappings
[2026-03-17 22:41:19] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:41:19] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:41:19] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:41:19] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:41:19] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 22:41:19] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 22:41:19] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:41:19] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:41:19] [INFO]   -> Found value: 2026000723
[2026-03-17 22:41:19] [INFO]   -> Set field 'incidentInternalId' = "2026000723"
[2026-03-17 22:41:19] [INFO]   -> Set field 'dispatchRunNumber' = "2026000723"
[2026-03-17 22:41:19] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:41:19] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 22:41:19] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 22:41:19] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:41:19] [INFO]   -> Found value: 5370
[2026-03-17 22:41:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5370
[2026-03-17 22:41:19] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:41:19] [INFO]   -> Found value: TN
[2026-03-17 22:41:19] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:41:19] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:41:19] [INFO]   -> Found value: 38506
[2026-03-17 22:41:19] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 22:41:19] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:41:19] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:41:19] [INFO]   -> Set field 'businessName' = "5370 DITTY RD"
[2026-03-17 22:41:19] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:41:19] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:19] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:41:19] [INFO]   -> Found value: 36.10170
[2026-03-17 22:41:19] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10170000000000101181285572238266468048095703125
[2026-03-17 22:41:19] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:41:19] [INFO]   -> Found value: -85.59329
[2026-03-17 22:41:19] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.593289999999996098267729394137859344482421875
[2026-03-17 22:41:19] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:41:19] [INFO]   -> Found value: 2026-03-17 17:39:06
[2026-03-17 22:41:19] [INFO]   -> Set field 'alarm' = "2026-03-17 17:39:06"
[2026-03-17 22:41:19] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:41:19] [INFO]   -> Found value: 2026-03-17 17:39:48
[2026-03-17 22:41:19] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:39:48"
[2026-03-17 22:41:19] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:41:19] [INFO]   -> Found value: 2026-03-17 17:41:12
[2026-03-17 22:41:19] [INFO]   -> Set field 'enroute' = "2026-03-17 17:41:12"
[2026-03-17 22:41:19] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:41:19] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:19] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:41:19] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:19] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:41:19] [INFO]   -> Found value: SOUTHWOOD LN/NEELY RD
[2026-03-17 22:41:19] [INFO]   -> Set field 'incidentLocationCross' = "SOUTHWOOD LN\/NEELY RD"
[2026-03-17 22:41:19] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:41:19] [INFO]   -> Found value: SQ11
[2026-03-17 22:41:19] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 22:41:19] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:41:19] [INFO]   -> Found value: 2026-03-17 17:41:08
[2026-03-17 22:41:19] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:41:08"
[2026-03-17 22:41:19] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:41:19] [INFO]   -> Found value: 2026-03-17 17:41:12
[2026-03-17 22:41:19] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:41:12"
[2026-03-17 22:41:19] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:41:19] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:19] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:41:19] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:19] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:41:19] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:19] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:41:19] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:41:19] [INFO]   -> Found value: 20260029150
[2026-03-17 22:41:19] [INFO]   -> Set field 'policeReportNumber' = "20260029150"
[2026-03-17 22:41:19] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:41:19] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 17:39:06 JBOHANNON]
[2026-03-17 22:41:19] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:41:19] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:41:19] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:41:19] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:41:19] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:41:19] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:41:19] [INFO]   -> Found value: DITTY
[2026-03-17 22:41:19] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-17 22:41:19] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:41:19] [INFO]   -> Found value: RD
[2026-03-17 22:41:19] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 22:41:19] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:41:19] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:41:19] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5370 DITTY RD"
[2026-03-17 22:41:19] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 22:41:19] [INFO] Concatenating street name and type
[2026-03-17 22:41:19] [INFO]   -> Combined street name: DITTY RD
[2026-03-17 22:41:19] [INFO] Built locationCoordinates from lat/lng: 36.1017,-85.59329
[2026-03-17 22:41:19] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000723","dispatchRunNumber":"2026000723","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":5370,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"5370 DITTY RD","nERISIncidentLatitude":36.10170000000000101181285572238266468048095703125,"nERISIncidentLongitude":-85.593289999999996098267729394137859344482421875,"alarm":"2026-03-17 17:39:06","dispatched":"2026-03-17 17:39:48","enroute":"2026-03-17 17:41:12","incidentLocationCross":"SOUTHWOOD LN\/NEELY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-17 17:41:08","timeenroutetoscene":"2026-03-17 17:41:12","policeReportNumber":"20260029150","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"DITTY RD","incidentAddressTextVersionStreet":"5370 DITTY RD","locationCoordinates":"36.1017,-85.59329"}
[2026-03-17 22:41:19] [INFO] Number of extracted fields: 24
[2026-03-17 22:41:19] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 22:41:19] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 22:41:19] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 22:41:19] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:41:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:41:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 22:41:20] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 22:41:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 22:41:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:41:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:41:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:41:20] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 22:41:21] [INFO] Found existing Dispatch with cADNumber '2026000723', ID: 69b9d83825f4be3d8 - will update instead of create
[2026-03-17 22:41:21] [INFO] Updated existing Dispatches record with ID: 69b9d83825f4be3d8
[2026-03-17 22:41:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029150_20260317_224118_1.XML
[2026-03-17 22:41:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224118_1.XML
[2026-03-17 22:41:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224120.XML
[2026-03-17 22:41:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224120.XML for user: 68f1466aed072ad4a
[2026-03-17 22:41:21] [INFO] File size: 6307 bytes
[2026-03-17 22:41:21] [INFO] Created FTPFiles record with ID: 69b9d891c9bcaa21e
[2026-03-17 22:41:21] [INFO] About to extract fields from XML. File size: 6307 bytes
[2026-03-17 22:41:21] [INFO] Number of mappings: 28
[2026-03-17 22:41:21] [INFO] Starting XML parsing. Content length: 6307
[2026-03-17 22:41:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:41:21] [INFO] Processing 28 field mappings
[2026-03-17 22:41:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:41:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:41:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:41:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 22:41:21] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 22:41:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 22:41:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:41:21] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:41:21] [INFO]   -> Found value: 2026000723
[2026-03-17 22:41:21] [INFO]   -> Set field 'incidentInternalId' = "2026000723"
[2026-03-17 22:41:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000723"
[2026-03-17 22:41:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:41:21] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 22:41:21] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 22:41:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:41:21] [INFO]   -> Found value: 5370
[2026-03-17 22:41:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5370
[2026-03-17 22:41:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:41:21] [INFO]   -> Found value: TN
[2026-03-17 22:41:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:41:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:41:21] [INFO]   -> Found value: 38506
[2026-03-17 22:41:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-17 22:41:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:41:21] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:41:21] [INFO]   -> Set field 'businessName' = "5370 DITTY RD"
[2026-03-17 22:41:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:41:21] [INFO]   -> Found value: 36.10170
[2026-03-17 22:41:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10170000000000101181285572238266468048095703125
[2026-03-17 22:41:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:41:21] [INFO]   -> Found value: -85.59329
[2026-03-17 22:41:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.593289999999996098267729394137859344482421875
[2026-03-17 22:41:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:41:21] [INFO]   -> Found value: 2026-03-17 17:39:06
[2026-03-17 22:41:21] [INFO]   -> Set field 'alarm' = "2026-03-17 17:39:06"
[2026-03-17 22:41:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:41:21] [INFO]   -> Found value: 2026-03-17 17:39:48
[2026-03-17 22:41:21] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:39:48"
[2026-03-17 22:41:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:41:21] [INFO]   -> Found value: 2026-03-17 17:41:12
[2026-03-17 22:41:21] [INFO]   -> Set field 'enroute' = "2026-03-17 17:41:12"
[2026-03-17 22:41:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:41:21] [INFO]   -> Found value: SOUTHWOOD LN/NEELY RD
[2026-03-17 22:41:21] [INFO]   -> Set field 'incidentLocationCross' = "SOUTHWOOD LN\/NEELY RD"
[2026-03-17 22:41:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:41:21] [INFO]   -> Found value: SQ11
[2026-03-17 22:41:21] [INFO]   -> Set field 'cADVehicleID' = "SQ11"
[2026-03-17 22:41:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:41:21] [INFO]   -> Found value: 2026-03-17 17:41:08
[2026-03-17 22:41:21] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:41:08"
[2026-03-17 22:41:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:41:21] [INFO]   -> Found value: 2026-03-17 17:41:12
[2026-03-17 22:41:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:41:12"
[2026-03-17 22:41:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 22:41:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:41:21] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:41:21] [INFO]   -> Found value: 20260029150
[2026-03-17 22:41:21] [INFO]   -> Set field 'policeReportNumber' = "20260029150"
[2026-03-17 22:41:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:41:21] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 17:39:06 JBOHANNON]
[2026-03-17 22:41:21] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:41:21] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]"
[2026-03-17 22:41:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:41:21] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 22:41:21] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 22:41:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:41:21] [INFO]   -> Found value: DITTY
[2026-03-17 22:41:21] [INFO]   -> Set field 'streetName' = "DITTY"
[2026-03-17 22:41:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:41:21] [INFO]   -> Found value: RD
[2026-03-17 22:41:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 22:41:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:41:21] [INFO]   -> Found value: 5370 DITTY RD
[2026-03-17 22:41:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5370 DITTY RD"
[2026-03-17 22:41:21] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 22:41:21] [INFO] Concatenating street name and type
[2026-03-17 22:41:21] [INFO]   -> Combined street name: DITTY RD
[2026-03-17 22:41:21] [INFO] Built locationCoordinates from lat/lng: 36.1017,-85.59329
[2026-03-17 22:41:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000723","dispatchRunNumber":"2026000723","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":5370,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"5370 DITTY RD","nERISIncidentLatitude":36.10170000000000101181285572238266468048095703125,"nERISIncidentLongitude":-85.593289999999996098267729394137859344482421875,"alarm":"2026-03-17 17:39:06","dispatched":"2026-03-17 17:39:48","enroute":"2026-03-17 17:41:12","incidentLocationCross":"SOUTHWOOD LN\/NEELY RD","cADVehicleID":"SQ11","timedispatch":"2026-03-17 17:41:08","timeenroutetoscene":"2026-03-17 17:41:12","policeReportNumber":"20260029150","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 17:39:06 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"DITTY RD","incidentAddressTextVersionStreet":"5370 DITTY RD","locationCoordinates":"36.1017,-85.59329"}
[2026-03-17 22:41:21] [INFO] Number of extracted fields: 24
[2026-03-17 22:41:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 22:41:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 22:41:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 22:41:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:41:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 22:41:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 22:41:22] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 22:41:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 22:41:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 22:41:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 22:41:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 22:41:22] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 22:41:22] [INFO] Found existing Dispatch with cADNumber '2026000723', ID: 69b9d83825f4be3d8 - will update instead of create
[2026-03-17 22:41:22] [INFO] Updated existing Dispatches record with ID: 69b9d83825f4be3d8
[2026-03-17 22:41:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224120.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029150_20260317_224120.XML
[2026-03-17 22:41:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029150_20260317_224120.XML
[2026-03-17 22:44:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224438.XML
[2026-03-17 22:44:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224438.XML for user: 68f1466aed072ad4a
[2026-03-17 22:44:38] [INFO] File size: 5133 bytes
[2026-03-17 22:44:38] [INFO] Created FTPFiles record with ID: 69b9d9565e3469706
[2026-03-17 22:44:38] [INFO] About to extract fields from XML. File size: 5133 bytes
[2026-03-17 22:44:38] [INFO] Number of mappings: 28
[2026-03-17 22:44:38] [INFO] Starting XML parsing. Content length: 5133
[2026-03-17 22:44:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:44:38] [INFO] Processing 28 field mappings
[2026-03-17 22:44:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:44:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:44:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:44:38] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 22:44:38] [INFO]   -> Found value: BFD
EMS
[2026-03-17 22:44:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-17 22:44:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:44:38] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:44:38] [INFO]   -> Found value: 2026000091
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentInternalId' = "2026000091"
[2026-03-17 22:44:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000091"
[2026-03-17 22:44:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:44:38] [INFO]   -> Found value: FALL VICTIM
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-17 22:44:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:44:38] [INFO]   -> Found value: 300
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 300
[2026-03-17 22:44:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:44:38] [INFO]   -> Found value: TN
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:44:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:44:38] [INFO]   -> Found value: 38544
[2026-03-17 22:44:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 22:44:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:44:38] [INFO]   -> Found value: 2
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentLocationApt' = 2
[2026-03-17 22:44:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:44:38] [INFO]   -> Found value: 36.15289
[2026-03-17 22:44:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1528899999999993042365531437098979949951171875
[2026-03-17 22:44:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:44:38] [INFO]   -> Found value: -85.64816
[2026-03-17 22:44:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6481600000000042882675188593566417694091796875
[2026-03-17 22:44:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:44:38] [INFO]   -> Found value: 2026-03-17 17:43:26
[2026-03-17 22:44:38] [INFO]   -> Set field 'alarm' = "2026-03-17 17:43:26"
[2026-03-17 22:44:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:44:38] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:44:38] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:44:29"
[2026-03-17 22:44:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:44:38] [INFO]   -> Found value: APPLE ST/VIRGIE BROWN LN
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentLocationCross' = "APPLE ST\/VIRGIE BROWN LN"
[2026-03-17 22:44:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:44:38] [INFO]   -> Found value: BEN2
[2026-03-17 22:44:38] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 22:44:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:44:38] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:44:38] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:44:29"
[2026-03-17 22:44:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:44:38] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:44:38] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:44:38] [INFO]   -> Found value: 20260029153
[2026-03-17 22:44:38] [INFO]   -> Set field 'policeReportNumber' = "20260029153"
[2026-03-17 22:44:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:44:38] [INFO]   -> Found value: [EMS] 8/11/1960  [03/17/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03/17/26 17:43:51 KBEATY] [EMS] DOOR...
[2026-03-17 22:44:38] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:44:38] [INFO]   -> Set field 'cADLog' = "[EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:44:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:44:38] [INFO]   -> Found value: BAXTER
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 22:44:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:44:38] [INFO]   -> Found value: HIGHLAND
[2026-03-17 22:44:38] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-17 22:44:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:44:38] [INFO]   -> Found value: AVE
[2026-03-17 22:44:38] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-17 22:44:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:44:38] [INFO]   -> Found value: 300-2 HIGHLAND AVE
[2026-03-17 22:44:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "300-2 HIGHLAND AVE"
[2026-03-17 22:44:38] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-03-17 22:44:38] [INFO] Concatenating street name and type
[2026-03-17 22:44:38] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-17 22:44:38] [INFO] Built locationCoordinates from lat/lng: 36.15289,-85.64816
[2026-03-17 22:44:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000091","dispatchRunNumber":"2026000091","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":2,"nERISIncidentLatitude":36.1528899999999993042365531437098979949951171875,"nERISIncidentLongitude":-85.6481600000000042882675188593566417694091796875,"alarm":"2026-03-17 17:43:26","dispatched":"2026-03-17 17:44:29","incidentLocationCross":"APPLE ST\/VIRGIE BROWN LN","cADVehicleID":"BEN2","timedispatch":"2026-03-17 17:44:29","policeReportNumber":"20260029153","dispatchNotes":"[EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","cADLog":"[EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"300-2 HIGHLAND AVE","locationCoordinates":"36.15289,-85.64816"}
[2026-03-17 22:44:38] [INFO] Number of extracted fields: 22
[2026-03-17 22:44:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-17 22:44:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 22:44:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-17 22:44:38] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:44:38] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 22:44:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-17 22:44:38] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 22:44:38] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 22:44:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 22:44:38] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-17 22:44:38] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 22:44:39] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-17 22:44:43] [INFO] Created new Dispatches record with ID: 69b9d9576f2c0f79c
[2026-03-17 22:44:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224438.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260029153_20260317_224438.XML
[2026-03-17 22:44:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224438.XML
[2026-03-17 22:44:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224459.XML
[2026-03-17 22:44:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224459.XML for user: 68f1466aed072ad4a
[2026-03-17 22:44:59] [INFO] File size: 5284 bytes
[2026-03-17 22:44:59] [INFO] Created FTPFiles record with ID: 69b9d96b65faa8f50
[2026-03-17 22:44:59] [INFO] About to extract fields from XML. File size: 5284 bytes
[2026-03-17 22:44:59] [INFO] Number of mappings: 28
[2026-03-17 22:44:59] [INFO] Starting XML parsing. Content length: 5284
[2026-03-17 22:44:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:44:59] [INFO] Processing 28 field mappings
[2026-03-17 22:44:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:44:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:44:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:44:59] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 22:44:59] [INFO]   -> Found value: BFD
EMS
[2026-03-17 22:44:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-17 22:44:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:44:59] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:44:59] [INFO]   -> Found value: 2026000091
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentInternalId' = "2026000091"
[2026-03-17 22:44:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000091"
[2026-03-17 22:44:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:44:59] [INFO]   -> Found value: FALL VICTIM
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-17 22:44:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:44:59] [INFO]   -> Found value: 300
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 300
[2026-03-17 22:44:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:44:59] [INFO]   -> Found value: TN
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:44:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:44:59] [INFO]   -> Found value: 38544
[2026-03-17 22:44:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 22:44:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:44:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:44:59] [INFO]   -> Found value: 2
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentLocationApt' = 2
[2026-03-17 22:44:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:44:59] [INFO]   -> Found value: 36.15289
[2026-03-17 22:44:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1528899999999993042365531437098979949951171875
[2026-03-17 22:44:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:44:59] [INFO]   -> Found value: -85.64816
[2026-03-17 22:44:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6481600000000042882675188593566417694091796875
[2026-03-17 22:44:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:44:59] [INFO]   -> Found value: 2026-03-17 17:43:26
[2026-03-17 22:44:59] [INFO]   -> Set field 'alarm' = "2026-03-17 17:43:26"
[2026-03-17 22:44:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:44:59] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:44:59] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:44:29"
[2026-03-17 22:44:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:44:59] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:44:59] [INFO]   -> Set field 'enroute' = "2026-03-17 17:44:54"
[2026-03-17 22:44:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:44:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:44:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:44:59] [INFO]   -> Found value: APPLE ST/VIRGIE BROWN LN
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentLocationCross' = "APPLE ST\/VIRGIE BROWN LN"
[2026-03-17 22:44:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:44:59] [INFO]   -> Found value: BEN2
[2026-03-17 22:44:59] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 22:44:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:44:59] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:44:59] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:44:29"
[2026-03-17 22:44:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:44:59] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:44:59] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:44:54"
[2026-03-17 22:44:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:44:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:44:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:44:59] [INFO]   -> No value found (null or empty)
[2026-03-17 22:44:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:44:59] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:44:59] [INFO]   -> Found value: 20260029153
[2026-03-17 22:44:59] [INFO]   -> Set field 'policeReportNumber' = "20260029153"
[2026-03-17 22:44:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:44:59] [INFO]   -> Found value: [EMS] SHE IS IN THE BACK BEDROOM  [03/17/26 17:44:37 KBEATY] [EMS] 8/11/1960  [03/17/26 17:43:56 KBE...
[2026-03-17 22:44:59] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:44:59] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:44:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:44:59] [INFO]   -> Found value: BAXTER
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 22:44:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:44:59] [INFO]   -> Found value: HIGHLAND
[2026-03-17 22:44:59] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-17 22:44:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:44:59] [INFO]   -> Found value: AVE
[2026-03-17 22:44:59] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-17 22:44:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:44:59] [INFO]   -> Found value: 300-2 HIGHLAND AVE
[2026-03-17 22:44:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "300-2 HIGHLAND AVE"
[2026-03-17 22:44:59] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 22:44:59] [INFO] Concatenating street name and type
[2026-03-17 22:44:59] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-17 22:44:59] [INFO] Built locationCoordinates from lat/lng: 36.15289,-85.64816
[2026-03-17 22:44:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000091","dispatchRunNumber":"2026000091","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":2,"nERISIncidentLatitude":36.1528899999999993042365531437098979949951171875,"nERISIncidentLongitude":-85.6481600000000042882675188593566417694091796875,"alarm":"2026-03-17 17:43:26","dispatched":"2026-03-17 17:44:29","enroute":"2026-03-17 17:44:54","incidentLocationCross":"APPLE ST\/VIRGIE BROWN LN","cADVehicleID":"BEN2","timedispatch":"2026-03-17 17:44:29","timeenroutetoscene":"2026-03-17 17:44:54","policeReportNumber":"20260029153","dispatchNotes":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","cADLog":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"300-2 HIGHLAND AVE","locationCoordinates":"36.15289,-85.64816"}
[2026-03-17 22:44:59] [INFO] Number of extracted fields: 24
[2026-03-17 22:44:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-17 22:44:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 22:44:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-17 22:44:59] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:44:59] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 22:44:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-17 22:44:59] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 22:44:59] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 22:44:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 22:44:59] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-17 22:44:59] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 22:45:00] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-17 22:45:00] [INFO] Found existing Dispatch with cADNumber '2026000091', ID: 69b9d9576f2c0f79c - will update instead of create
[2026-03-17 22:45:00] [INFO] Updated existing Dispatches record with ID: 69b9d9576f2c0f79c
[2026-03-17 22:45:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224459.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260029153_20260317_224459.XML
[2026-03-17 22:45:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224459.XML
[2026-03-17 22:45:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500.XML
[2026-03-17 22:45:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500.XML for user: 68f1466aed072ad4a
[2026-03-17 22:45:00] [INFO] File size: 5284 bytes
[2026-03-17 22:45:00] [INFO] Created FTPFiles record with ID: 69b9d96cdbe3426db
[2026-03-17 22:45:00] [INFO] About to extract fields from XML. File size: 5284 bytes
[2026-03-17 22:45:00] [INFO] Number of mappings: 28
[2026-03-17 22:45:00] [INFO] Starting XML parsing. Content length: 5284
[2026-03-17 22:45:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:45:00] [INFO] Processing 28 field mappings
[2026-03-17 22:45:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:45:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:45:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:45:00] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 22:45:00] [INFO]   -> Found value: BFD
EMS
[2026-03-17 22:45:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-17 22:45:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:45:00] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:45:00] [INFO]   -> Found value: 2026000091
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentInternalId' = "2026000091"
[2026-03-17 22:45:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000091"
[2026-03-17 22:45:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:45:00] [INFO]   -> Found value: FALL VICTIM
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-17 22:45:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:45:00] [INFO]   -> Found value: 300
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 300
[2026-03-17 22:45:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:45:00] [INFO]   -> Found value: TN
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:45:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:45:00] [INFO]   -> Found value: 38544
[2026-03-17 22:45:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 22:45:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:45:00] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:45:00] [INFO]   -> Found value: 2
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentLocationApt' = 2
[2026-03-17 22:45:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:45:00] [INFO]   -> Found value: 36.15289
[2026-03-17 22:45:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1528899999999993042365531437098979949951171875
[2026-03-17 22:45:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:45:00] [INFO]   -> Found value: -85.64816
[2026-03-17 22:45:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6481600000000042882675188593566417694091796875
[2026-03-17 22:45:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:45:00] [INFO]   -> Found value: 2026-03-17 17:43:26
[2026-03-17 22:45:00] [INFO]   -> Set field 'alarm' = "2026-03-17 17:43:26"
[2026-03-17 22:45:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:45:00] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:45:00] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:44:29"
[2026-03-17 22:45:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:45:00] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:45:00] [INFO]   -> Set field 'enroute' = "2026-03-17 17:44:54"
[2026-03-17 22:45:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:45:00] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:45:00] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:45:00] [INFO]   -> Found value: APPLE ST/VIRGIE BROWN LN
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentLocationCross' = "APPLE ST\/VIRGIE BROWN LN"
[2026-03-17 22:45:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:45:00] [INFO]   -> Found value: BEN2
[2026-03-17 22:45:00] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 22:45:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:45:00] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:45:00] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:44:29"
[2026-03-17 22:45:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:45:00] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:45:00] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:44:54"
[2026-03-17 22:45:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:45:00] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:45:00] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:45:00] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:45:00] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:45:00] [INFO]   -> Found value: 20260029153
[2026-03-17 22:45:00] [INFO]   -> Set field 'policeReportNumber' = "20260029153"
[2026-03-17 22:45:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:45:00] [INFO]   -> Found value: [EMS] SHE IS IN THE BACK BEDROOM  [03/17/26 17:44:37 KBEATY] [EMS] 8/11/1960  [03/17/26 17:43:56 KBE...
[2026-03-17 22:45:00] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:45:00] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:45:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:45:00] [INFO]   -> Found value: BAXTER
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 22:45:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:45:00] [INFO]   -> Found value: HIGHLAND
[2026-03-17 22:45:00] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-17 22:45:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:45:00] [INFO]   -> Found value: AVE
[2026-03-17 22:45:00] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-17 22:45:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:45:00] [INFO]   -> Found value: 300-2 HIGHLAND AVE
[2026-03-17 22:45:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "300-2 HIGHLAND AVE"
[2026-03-17 22:45:00] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 22:45:00] [INFO] Concatenating street name and type
[2026-03-17 22:45:00] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-17 22:45:00] [INFO] Built locationCoordinates from lat/lng: 36.15289,-85.64816
[2026-03-17 22:45:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000091","dispatchRunNumber":"2026000091","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":2,"nERISIncidentLatitude":36.1528899999999993042365531437098979949951171875,"nERISIncidentLongitude":-85.6481600000000042882675188593566417694091796875,"alarm":"2026-03-17 17:43:26","dispatched":"2026-03-17 17:44:29","enroute":"2026-03-17 17:44:54","incidentLocationCross":"APPLE ST\/VIRGIE BROWN LN","cADVehicleID":"BEN2","timedispatch":"2026-03-17 17:44:29","timeenroutetoscene":"2026-03-17 17:44:54","policeReportNumber":"20260029153","dispatchNotes":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","cADLog":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"300-2 HIGHLAND AVE","locationCoordinates":"36.15289,-85.64816"}
[2026-03-17 22:45:00] [INFO] Number of extracted fields: 24
[2026-03-17 22:45:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-17 22:45:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 22:45:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-17 22:45:00] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:45:01] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 22:45:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-17 22:45:01] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 22:45:01] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 22:45:01] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 22:45:01] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-17 22:45:01] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 22:45:01] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-17 22:45:01] [INFO] Found existing Dispatch with cADNumber '2026000091', ID: 69b9d9576f2c0f79c - will update instead of create
[2026-03-17 22:45:01] [INFO] Updated existing Dispatches record with ID: 69b9d9576f2c0f79c
[2026-03-17 22:45:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260029153_20260317_224500.XML
[2026-03-17 22:45:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500.XML
[2026-03-17 22:45:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500_1.XML
[2026-03-17 22:45:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500_1.XML for user: 68f1466aed072ad4a
[2026-03-17 22:45:02] [INFO] File size: 5284 bytes
[2026-03-17 22:45:02] [INFO] Created FTPFiles record with ID: 69b9d96e6cbbec7f7
[2026-03-17 22:45:02] [INFO] About to extract fields from XML. File size: 5284 bytes
[2026-03-17 22:45:02] [INFO] Number of mappings: 28
[2026-03-17 22:45:02] [INFO] Starting XML parsing. Content length: 5284
[2026-03-17 22:45:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:45:02] [INFO] Processing 28 field mappings
[2026-03-17 22:45:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:45:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:45:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:45:02] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 22:45:02] [INFO]   -> Found value: BFD
EMS
[2026-03-17 22:45:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-17 22:45:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:45:02] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:45:02] [INFO]   -> Found value: 2026000091
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentInternalId' = "2026000091"
[2026-03-17 22:45:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000091"
[2026-03-17 22:45:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:45:02] [INFO]   -> Found value: FALL VICTIM
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-17 22:45:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:45:02] [INFO]   -> Found value: 300
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 300
[2026-03-17 22:45:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:45:02] [INFO]   -> Found value: TN
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:45:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:45:02] [INFO]   -> Found value: 38544
[2026-03-17 22:45:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 22:45:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:45:02] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:45:02] [INFO]   -> Found value: 2
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentLocationApt' = 2
[2026-03-17 22:45:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:45:02] [INFO]   -> Found value: 36.15289
[2026-03-17 22:45:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1528899999999993042365531437098979949951171875
[2026-03-17 22:45:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:45:02] [INFO]   -> Found value: -85.64816
[2026-03-17 22:45:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6481600000000042882675188593566417694091796875
[2026-03-17 22:45:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:45:02] [INFO]   -> Found value: 2026-03-17 17:43:26
[2026-03-17 22:45:02] [INFO]   -> Set field 'alarm' = "2026-03-17 17:43:26"
[2026-03-17 22:45:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:45:02] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:45:02] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:44:29"
[2026-03-17 22:45:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:45:02] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:45:02] [INFO]   -> Set field 'enroute' = "2026-03-17 17:44:54"
[2026-03-17 22:45:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:45:02] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:45:02] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:45:02] [INFO]   -> Found value: APPLE ST/VIRGIE BROWN LN
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentLocationCross' = "APPLE ST\/VIRGIE BROWN LN"
[2026-03-17 22:45:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:45:02] [INFO]   -> Found value: BEN2
[2026-03-17 22:45:02] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 22:45:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:45:02] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:45:02] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:44:29"
[2026-03-17 22:45:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:45:02] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:45:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:44:54"
[2026-03-17 22:45:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:45:02] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:45:02] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:45:02] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:45:02] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:45:02] [INFO]   -> Found value: 20260029153
[2026-03-17 22:45:02] [INFO]   -> Set field 'policeReportNumber' = "20260029153"
[2026-03-17 22:45:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:45:02] [INFO]   -> Found value: [EMS] SHE IS IN THE BACK BEDROOM  [03/17/26 17:44:37 KBEATY] [EMS] 8/11/1960  [03/17/26 17:43:56 KBE...
[2026-03-17 22:45:02] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:45:02] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:45:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:45:02] [INFO]   -> Found value: BAXTER
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 22:45:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:45:02] [INFO]   -> Found value: HIGHLAND
[2026-03-17 22:45:02] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-17 22:45:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:45:02] [INFO]   -> Found value: AVE
[2026-03-17 22:45:02] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-17 22:45:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:45:02] [INFO]   -> Found value: 300-2 HIGHLAND AVE
[2026-03-17 22:45:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "300-2 HIGHLAND AVE"
[2026-03-17 22:45:02] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 22:45:02] [INFO] Concatenating street name and type
[2026-03-17 22:45:02] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-17 22:45:02] [INFO] Built locationCoordinates from lat/lng: 36.15289,-85.64816
[2026-03-17 22:45:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000091","dispatchRunNumber":"2026000091","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":2,"nERISIncidentLatitude":36.1528899999999993042365531437098979949951171875,"nERISIncidentLongitude":-85.6481600000000042882675188593566417694091796875,"alarm":"2026-03-17 17:43:26","dispatched":"2026-03-17 17:44:29","enroute":"2026-03-17 17:44:54","incidentLocationCross":"APPLE ST\/VIRGIE BROWN LN","cADVehicleID":"BEN2","timedispatch":"2026-03-17 17:44:29","timeenroutetoscene":"2026-03-17 17:44:54","policeReportNumber":"20260029153","dispatchNotes":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","cADLog":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"300-2 HIGHLAND AVE","locationCoordinates":"36.15289,-85.64816"}
[2026-03-17 22:45:02] [INFO] Number of extracted fields: 24
[2026-03-17 22:45:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-17 22:45:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 22:45:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-17 22:45:02] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:45:02] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 22:45:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-17 22:45:02] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 22:45:02] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 22:45:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 22:45:02] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-17 22:45:03] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 22:45:03] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-17 22:45:03] [INFO] Found existing Dispatch with cADNumber '2026000091', ID: 69b9d9576f2c0f79c - will update instead of create
[2026-03-17 22:45:03] [INFO] Updated existing Dispatches record with ID: 69b9d9576f2c0f79c
[2026-03-17 22:45:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260029153_20260317_224500_1.XML
[2026-03-17 22:45:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224500_1.XML
[2026-03-17 22:45:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224502.XML
[2026-03-17 22:45:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224502.XML for user: 68f1466aed072ad4a
[2026-03-17 22:45:03] [INFO] File size: 5284 bytes
[2026-03-17 22:45:04] [INFO] Created FTPFiles record with ID: 69b9d96ff2ff9089e
[2026-03-17 22:45:04] [INFO] About to extract fields from XML. File size: 5284 bytes
[2026-03-17 22:45:04] [INFO] Number of mappings: 28
[2026-03-17 22:45:04] [INFO] Starting XML parsing. Content length: 5284
[2026-03-17 22:45:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 22:45:04] [INFO] Processing 28 field mappings
[2026-03-17 22:45:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 22:45:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 22:45:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 22:45:04] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-17 22:45:04] [INFO]   -> Found value: BFD
EMS
[2026-03-17 22:45:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS"
[2026-03-17 22:45:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 22:45:04] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-17 22:45:04] [INFO]   -> Found value: 2026000091
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentInternalId' = "2026000091"
[2026-03-17 22:45:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000091"
[2026-03-17 22:45:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 22:45:04] [INFO]   -> Found value: FALL VICTIM
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-03-17 22:45:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 22:45:04] [INFO]   -> Found value: 300
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 300
[2026-03-17 22:45:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 22:45:04] [INFO]   -> Found value: TN
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 22:45:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 22:45:04] [INFO]   -> Found value: 38544
[2026-03-17 22:45:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 22:45:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 22:45:04] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 22:45:04] [INFO]   -> Found value: 2
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentLocationApt' = 2
[2026-03-17 22:45:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 22:45:04] [INFO]   -> Found value: 36.15289
[2026-03-17 22:45:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1528899999999993042365531437098979949951171875
[2026-03-17 22:45:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 22:45:04] [INFO]   -> Found value: -85.64816
[2026-03-17 22:45:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6481600000000042882675188593566417694091796875
[2026-03-17 22:45:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 22:45:04] [INFO]   -> Found value: 2026-03-17 17:43:26
[2026-03-17 22:45:04] [INFO]   -> Set field 'alarm' = "2026-03-17 17:43:26"
[2026-03-17 22:45:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 22:45:04] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:45:04] [INFO]   -> Set field 'dispatched' = "2026-03-17 17:44:29"
[2026-03-17 22:45:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 22:45:04] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:45:04] [INFO]   -> Set field 'enroute' = "2026-03-17 17:44:54"
[2026-03-17 22:45:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 22:45:04] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 22:45:04] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 22:45:04] [INFO]   -> Found value: APPLE ST/VIRGIE BROWN LN
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentLocationCross' = "APPLE ST\/VIRGIE BROWN LN"
[2026-03-17 22:45:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 22:45:04] [INFO]   -> Found value: BEN2
[2026-03-17 22:45:04] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-03-17 22:45:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 22:45:04] [INFO]   -> Found value: 2026-03-17 17:44:29
[2026-03-17 22:45:04] [INFO]   -> Set field 'timedispatch' = "2026-03-17 17:44:29"
[2026-03-17 22:45:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 22:45:04] [INFO]   -> Found value: 2026-03-17 17:44:54
[2026-03-17 22:45:04] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 17:44:54"
[2026-03-17 22:45:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 22:45:04] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 22:45:04] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 22:45:04] [INFO]   -> No value found (null or empty)
[2026-03-17 22:45:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 22:45:04] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 22:45:04] [INFO]   -> Found value: 20260029153
[2026-03-17 22:45:04] [INFO]   -> Set field 'policeReportNumber' = "20260029153"
[2026-03-17 22:45:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 22:45:04] [INFO]   -> Found value: [EMS] SHE IS IN THE BACK BEDROOM  [03/17/26 17:44:37 KBEATY] [EMS] 8/11/1960  [03/17/26 17:43:56 KBE...
[2026-03-17 22:45:04] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:45:04] [INFO]   -> Set field 'cADLog' = "[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]"
[2026-03-17 22:45:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 22:45:04] [INFO]   -> Found value: BAXTER
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 22:45:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 22:45:04] [INFO]   -> Found value: HIGHLAND
[2026-03-17 22:45:04] [INFO]   -> Set field 'streetName' = "HIGHLAND"
[2026-03-17 22:45:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 22:45:04] [INFO]   -> Found value: AVE
[2026-03-17 22:45:04] [INFO]   -> Set field 'streetType' = "AVE"
[2026-03-17 22:45:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 22:45:04] [INFO]   -> Found value: 300-2 HIGHLAND AVE
[2026-03-17 22:45:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "300-2 HIGHLAND AVE"
[2026-03-17 22:45:04] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-17 22:45:04] [INFO] Concatenating street name and type
[2026-03-17 22:45:04] [INFO]   -> Combined street name: HIGHLAND AVE
[2026-03-17 22:45:04] [INFO] Built locationCoordinates from lat/lng: 36.15289,-85.64816
[2026-03-17 22:45:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS","incidentInternalId":"2026000091","dispatchRunNumber":"2026000091","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"incidentLocationApt":2,"nERISIncidentLatitude":36.1528899999999993042365531437098979949951171875,"nERISIncidentLongitude":-85.6481600000000042882675188593566417694091796875,"alarm":"2026-03-17 17:43:26","dispatched":"2026-03-17 17:44:29","enroute":"2026-03-17 17:44:54","incidentLocationCross":"APPLE ST\/VIRGIE BROWN LN","cADVehicleID":"BEN2","timedispatch":"2026-03-17 17:44:29","timeenroutetoscene":"2026-03-17 17:44:54","policeReportNumber":"20260029153","dispatchNotes":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","cADLog":"[EMS] SHE IS IN THE BACK BEDROOM  [03\/17\/26 17:44:37 KBEATY] [EMS] 8\/11\/1960  [03\/17\/26 17:43:56 KBEATY] [EMS] JILL NEWMAN  [03\/17\/26 17:43:51 KBEATY] [EMS] DOOR IS LOCKED  [03\/17\/26 17:43:45 KBEATY] [EMS] UDTS: HIP INJURY  [03\/17\/26 17:43:32 KBEATY] Event spawned from FALL VICTIM.  [03\/17\/2026 17:43:26 KBEATY]","incidentLocationCity":"BAXTER","streetName":"HIGHLAND AVE","incidentAddressTextVersionStreet":"300-2 HIGHLAND AVE","locationCoordinates":"36.15289,-85.64816"}
[2026-03-17 22:45:04] [INFO] Number of extracted fields: 24
[2026-03-17 22:45:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS'
[2026-03-17 22:45:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS', Parsed IDs = ["BFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-17 22:45:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS"]
[2026-03-17 22:45:04] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-03-17 22:45:04] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-03-17 22:45:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-03-17 22:45:04] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-03-17 22:45:04] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-03-17 22:45:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-17 22:45:04] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-03-17 22:45:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-03-17 22:45:04] [INFO] Found existing IncidentTypeMapping with ID: 6945b69c07316b158
[2026-03-17 22:45:05] [INFO] Found existing Dispatch with cADNumber '2026000091', ID: 69b9d9576f2c0f79c - will update instead of create
[2026-03-17 22:45:05] [INFO] Updated existing Dispatches record with ID: 69b9d9576f2c0f79c
[2026-03-17 22:45:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224502.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/BFD_20260029153_20260317_224502.XML
[2026-03-17 22:45:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260029153_20260317_224502.XML
[2026-03-17 23:29:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_232948.XML
[2026-03-17 23:29:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_232948.XML for user: 68f1466aed072ad4a
[2026-03-17 23:29:48] [INFO] File size: 5663 bytes
[2026-03-17 23:29:48] [INFO] Created FTPFiles record with ID: 69b9e3ec7a237f995
[2026-03-17 23:29:48] [INFO] About to extract fields from XML. File size: 5663 bytes
[2026-03-17 23:29:48] [INFO] Number of mappings: 28
[2026-03-17 23:29:48] [INFO] Starting XML parsing. Content length: 5663
[2026-03-17 23:29:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:29:48] [INFO] Processing 28 field mappings
[2026-03-17 23:29:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:29:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:29:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 23:29:48] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 23:29:48] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 23:29:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 23:29:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:29:48] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 23:29:48] [INFO]   -> Found value: 2026000724
[2026-03-17 23:29:48] [INFO]   -> Set field 'incidentInternalId' = "2026000724"
[2026-03-17 23:29:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000724"
[2026-03-17 23:29:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:29:48] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 23:29:48] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 23:29:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:29:48] [INFO]   -> Found value: 3350
[2026-03-17 23:29:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3350
[2026-03-17 23:29:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:29:48] [INFO]   -> Found value: TN
[2026-03-17 23:29:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:29:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:29:48] [INFO]   -> Found value: 38544
[2026-03-17 23:29:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 23:29:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:29:48] [INFO]   -> No value found (null or empty)
[2026-03-17 23:29:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:29:48] [INFO]   -> No value found (null or empty)
[2026-03-17 23:29:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:29:48] [INFO]   -> Found value: 36.12900
[2026-03-17 23:29:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12899999999999778310666442848742008209228515625
[2026-03-17 23:29:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:29:48] [INFO]   -> Found value: -85.68245
[2026-03-17 23:29:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6824500000000028876456781290471553802490234375
[2026-03-17 23:29:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:29:48] [INFO]   -> Found value: 2026-03-17 18:28:58
[2026-03-17 23:29:48] [INFO]   -> Set field 'alarm' = "2026-03-17 18:28:58"
[2026-03-17 23:29:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:29:48] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:29:48] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:29:40"
[2026-03-17 23:29:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:29:48] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:29:48] [INFO]   -> Set field 'enroute' = "2026-03-17 18:29:40"
[2026-03-17 23:29:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:29:48] [INFO]   -> No value found (null or empty)
[2026-03-17 23:29:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:29:48] [INFO]   -> No value found (null or empty)
[2026-03-17 23:29:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:29:48] [INFO]   -> Found value: FINLEY SPRINGS RD/TIGHTFIT RD
[2026-03-17 23:29:48] [INFO]   -> Set field 'incidentLocationCross' = "FINLEY SPRINGS RD\/TIGHTFIT RD"
[2026-03-17 23:29:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:29:48] [INFO]   -> Found value: TK31
[2026-03-17 23:29:48] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 23:29:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:29:48] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:29:48] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:29:40"
[2026-03-17 23:29:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:29:48] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:29:48] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:29:40"
[2026-03-17 23:29:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:29:48] [INFO]   -> No value found (null or empty)
[2026-03-17 23:29:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:29:48] [INFO]   -> No value found (null or empty)
[2026-03-17 23:29:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:29:48] [INFO]   -> No value found (null or empty)
[2026-03-17 23:29:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:29:48] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 23:29:48] [INFO]   -> Found value: 20260029164
[2026-03-17 23:29:48] [INFO]   -> Set field 'policeReportNumber' = "20260029164"
[2026-03-17 23:29:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:29:48] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR...
[2026-03-17 23:29:48] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:29:48] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:29:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:29:48] [INFO]   -> Found value: BAXTER
[2026-03-17 23:29:48] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 23:29:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:29:48] [INFO]   -> Found value: LOWETOWN
[2026-03-17 23:29:48] [INFO]   -> Set field 'streetName' = "LOWETOWN"
[2026-03-17 23:29:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:29:48] [INFO]   -> Found value: RD
[2026-03-17 23:29:48] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:29:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:29:48] [INFO]   -> Found value: 3350 LOWETOWN RD
[2026-03-17 23:29:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3350 LOWETOWN RD"
[2026-03-17 23:29:48] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 23:29:48] [INFO] Concatenating street name and type
[2026-03-17 23:29:48] [INFO]   -> Combined street name: LOWETOWN RD
[2026-03-17 23:29:48] [INFO] Built locationCoordinates from lat/lng: 36.129,-85.68245
[2026-03-17 23:29:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000724","dispatchRunNumber":"2026000724","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3350,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.12899999999999778310666442848742008209228515625,"nERISIncidentLongitude":-85.6824500000000028876456781290471553802490234375,"alarm":"2026-03-17 18:28:58","dispatched":"2026-03-17 18:29:40","enroute":"2026-03-17 18:29:40","incidentLocationCross":"FINLEY SPRINGS RD\/TIGHTFIT RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 18:29:40","timeenroutetoscene":"2026-03-17 18:29:40","policeReportNumber":"20260029164","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","incidentLocationCity":"BAXTER","streetName":"LOWETOWN RD","incidentAddressTextVersionStreet":"3350 LOWETOWN RD","locationCoordinates":"36.129,-85.68245"}
[2026-03-17 23:29:48] [INFO] Number of extracted fields: 23
[2026-03-17 23:29:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 23:29:48] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 23:29:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 23:29:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:29:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:29:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 23:29:48] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 23:29:48] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 23:29:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 23:29:48] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 23:29:48] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:29:49] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 23:29:59] [INFO] Created new Dispatches record with ID: 69b9e3ed73105d264
[2026-03-17 23:29:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_232948.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029164_20260317_232948.XML
[2026-03-17 23:29:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_232948.XML
[2026-03-17 23:39:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233950.XML
[2026-03-17 23:39:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233950.XML for user: 68f1466aed072ad4a
[2026-03-17 23:39:50] [INFO] File size: 5504 bytes
[2026-03-17 23:39:51] [INFO] Created FTPFiles record with ID: 69b9e647388d83465
[2026-03-17 23:39:51] [INFO] About to extract fields from XML. File size: 5504 bytes
[2026-03-17 23:39:51] [INFO] Number of mappings: 28
[2026-03-17 23:39:51] [INFO] Starting XML parsing. Content length: 5504
[2026-03-17 23:39:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:39:51] [INFO] Processing 28 field mappings
[2026-03-17 23:39:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:39:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:39:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 23:39:51] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 23:39:51] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 23:39:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 23:39:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:39:51] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 23:39:51] [INFO]   -> Found value: 2026000725
[2026-03-17 23:39:51] [INFO]   -> Set field 'incidentInternalId' = "2026000725"
[2026-03-17 23:39:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000725"
[2026-03-17 23:39:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:39:51] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 23:39:51] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 23:39:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:39:51] [INFO]   -> Found value: 233
[2026-03-17 23:39:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 233
[2026-03-17 23:39:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:39:51] [INFO]   -> Found value: TN
[2026-03-17 23:39:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:39:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:39:51] [INFO]   -> Found value: 38501
[2026-03-17 23:39:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 23:39:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:39:51] [INFO]   -> Found value: 36.23278
[2026-03-17 23:39:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23277999999999821056917426176369190216064453125
[2026-03-17 23:39:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:39:51] [INFO]   -> Found value: -85.49556
[2026-03-17 23:39:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4955599999999975580067257396876811981201171875
[2026-03-17 23:39:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:39:51] [INFO]   -> Found value: 2026-03-17 18:39:42
[2026-03-17 23:39:51] [INFO]   -> Set field 'alarm' = "2026-03-17 18:39:42"
[2026-03-17 23:39:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:39:51] [INFO]   -> Found value: 2026-03-17 18:39:47
[2026-03-17 23:39:51] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:39:47"
[2026-03-17 23:39:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:39:51] [INFO]   -> Found value: VILLAGE RD/BARTLETT RD
[2026-03-17 23:39:51] [INFO]   -> Set field 'incidentLocationCross' = "VILLAGE RD\/BARTLETT RD"
[2026-03-17 23:39:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:39:51] [INFO]   -> Found value: PCFR
[2026-03-17 23:39:51] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 23:39:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:39:51] [INFO]   -> Found value: 2026-03-17 18:39:47
[2026-03-17 23:39:51] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:39:47"
[2026-03-17 23:39:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:39:51] [INFO]   -> No value found (null or empty)
[2026-03-17 23:39:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:39:51] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 23:39:51] [INFO]   -> Found value: 20260029171
[2026-03-17 23:39:51] [INFO]   -> Set field 'policeReportNumber' = "20260029171"
[2026-03-17 23:39:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:39:51] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [03/17/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEI...
[2026-03-17 23:39:51] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:39:51] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:39:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:39:51] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 23:39:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 23:39:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:39:51] [INFO]   -> Found value: RIDGEWOOD
[2026-03-17 23:39:51] [INFO]   -> Set field 'streetName' = "RIDGEWOOD"
[2026-03-17 23:39:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:39:51] [INFO]   -> Found value: RD
[2026-03-17 23:39:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:39:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:39:51] [INFO]   -> Found value: 233 RIDGEWOOD RD
[2026-03-17 23:39:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "233 RIDGEWOOD RD"
[2026-03-17 23:39:51] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 23:39:51] [INFO] Concatenating street name and type
[2026-03-17 23:39:51] [INFO]   -> Combined street name: RIDGEWOOD RD
[2026-03-17 23:39:51] [INFO] Built locationCoordinates from lat/lng: 36.23278,-85.49556
[2026-03-17 23:39:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000725","dispatchRunNumber":"2026000725","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":233,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.23277999999999821056917426176369190216064453125,"nERISIncidentLongitude":-85.4955599999999975580067257396876811981201171875,"alarm":"2026-03-17 18:39:42","dispatched":"2026-03-17 18:39:47","incidentLocationCross":"VILLAGE RD\/BARTLETT RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 18:39:47","policeReportNumber":"20260029171","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"RIDGEWOOD RD","incidentAddressTextVersionStreet":"233 RIDGEWOOD RD","locationCoordinates":"36.23278,-85.49556"}
[2026-03-17 23:39:51] [INFO] Number of extracted fields: 21
[2026-03-17 23:39:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 23:39:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 23:39:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 23:39:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:39:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:39:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 23:39: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-17 23:39: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-17 23:39:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 23:39:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 23:39:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:39:51] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 23:40:00] [INFO] Created new Dispatches record with ID: 69b9e6482bf6c782f
[2026-03-17 23:40:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233950.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029171_20260317_233950.XML
[2026-03-17 23:40:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233950.XML
[2026-03-17 23:40:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233951.XML
[2026-03-17 23:40:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233951.XML for user: 68f1466aed072ad4a
[2026-03-17 23:40:00] [INFO] File size: 5504 bytes
[2026-03-17 23:40:00] [INFO] Created FTPFiles record with ID: 69b9e6507b51d3073
[2026-03-17 23:40:00] [INFO] About to extract fields from XML. File size: 5504 bytes
[2026-03-17 23:40:00] [INFO] Number of mappings: 28
[2026-03-17 23:40:00] [INFO] Starting XML parsing. Content length: 5504
[2026-03-17 23:40:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:40:00] [INFO] Processing 28 field mappings
[2026-03-17 23:40:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:40:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:40:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 23:40:00] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-17 23:40:00] [INFO]   -> Found value: PCFD
EMS
RESC
PF
[2026-03-17 23:40:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF"
[2026-03-17 23:40:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:40:00] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-17 23:40:00] [INFO]   -> Found value: 2026000725
[2026-03-17 23:40:00] [INFO]   -> Set field 'incidentInternalId' = "2026000725"
[2026-03-17 23:40:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000725"
[2026-03-17 23:40:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:40:00] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 23:40:00] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 23:40:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:40:00] [INFO]   -> Found value: 233
[2026-03-17 23:40:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 233
[2026-03-17 23:40:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:40:00] [INFO]   -> Found value: TN
[2026-03-17 23:40:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:40:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:40:00] [INFO]   -> Found value: 38501
[2026-03-17 23:40:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 23:40:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:40:00] [INFO]   -> Found value: 36.23278
[2026-03-17 23:40:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23277999999999821056917426176369190216064453125
[2026-03-17 23:40:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:40:00] [INFO]   -> Found value: -85.49556
[2026-03-17 23:40:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4955599999999975580067257396876811981201171875
[2026-03-17 23:40:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:40:00] [INFO]   -> Found value: 2026-03-17 18:39:42
[2026-03-17 23:40:00] [INFO]   -> Set field 'alarm' = "2026-03-17 18:39:42"
[2026-03-17 23:40:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:40:00] [INFO]   -> Found value: 2026-03-17 18:39:47
[2026-03-17 23:40:00] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:39:47"
[2026-03-17 23:40:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:40:00] [INFO]   -> Found value: VILLAGE RD/BARTLETT RD
[2026-03-17 23:40:00] [INFO]   -> Set field 'incidentLocationCross' = "VILLAGE RD\/BARTLETT RD"
[2026-03-17 23:40:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:40:00] [INFO]   -> Found value: PCFR
[2026-03-17 23:40:00] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-17 23:40:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:40:00] [INFO]   -> Found value: 2026-03-17 18:39:47
[2026-03-17 23:40:00] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:39:47"
[2026-03-17 23:40:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:40:00] [INFO]   -> No value found (null or empty)
[2026-03-17 23:40:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:40:00] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 23:40:00] [INFO]   -> Found value: 20260029171
[2026-03-17 23:40:00] [INFO]   -> Set field 'policeReportNumber' = "20260029171"
[2026-03-17 23:40:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:40:00] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [03/17/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEI...
[2026-03-17 23:40:00] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:40:00] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:40:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:40:00] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 23:40:00] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 23:40:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:40:00] [INFO]   -> Found value: RIDGEWOOD
[2026-03-17 23:40:00] [INFO]   -> Set field 'streetName' = "RIDGEWOOD"
[2026-03-17 23:40:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:40:00] [INFO]   -> Found value: RD
[2026-03-17 23:40:00] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:40:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:40:00] [INFO]   -> Found value: 233 RIDGEWOOD RD
[2026-03-17 23:40:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "233 RIDGEWOOD RD"
[2026-03-17 23:40:00] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-17 23:40:00] [INFO] Concatenating street name and type
[2026-03-17 23:40:00] [INFO]   -> Combined street name: RIDGEWOOD RD
[2026-03-17 23:40:00] [INFO] Built locationCoordinates from lat/lng: 36.23278,-85.49556
[2026-03-17 23:40:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF","incidentInternalId":"2026000725","dispatchRunNumber":"2026000725","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":233,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.23277999999999821056917426176369190216064453125,"nERISIncidentLongitude":-85.4955599999999975580067257396876811981201171875,"alarm":"2026-03-17 18:39:42","dispatched":"2026-03-17 18:39:47","incidentLocationCross":"VILLAGE RD\/BARTLETT RD","cADVehicleID":"PCFR","timedispatch":"2026-03-17 18:39:47","policeReportNumber":"20260029171","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"RIDGEWOOD RD","incidentAddressTextVersionStreet":"233 RIDGEWOOD RD","locationCoordinates":"36.23278,-85.49556"}
[2026-03-17 23:40:00] [INFO] Number of extracted fields: 21
[2026-03-17 23:40:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF'
[2026-03-17 23:40:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF', Parsed IDs = ["PCFD","EMS","RESC","PF"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-17 23:40:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF"]
[2026-03-17 23:40:00] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:40:00] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:40:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF"]
[2026-03-17 23:40:00] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 23:40:00] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 23:40:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-17 23:40:00] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 23:40:00] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:40:01] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 23:40:01] [INFO] Found existing Dispatch with cADNumber '2026000725', ID: 69b9e6482bf6c782f - will update instead of create
[2026-03-17 23:40:01] [INFO] Updated existing Dispatches record with ID: 69b9e6482bf6c782f
[2026-03-17 23:40:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233951.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029171_20260317_233951.XML
[2026-03-17 23:40:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_233951.XML
[2026-03-17 23:41:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234118.XML
[2026-03-17 23:41:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234118.XML for user: 68f1466aed072ad4a
[2026-03-17 23:41:18] [INFO] File size: 6687 bytes
[2026-03-17 23:41:18] [INFO] Created FTPFiles record with ID: 69b9e69ea38baf098
[2026-03-17 23:41:18] [INFO] About to extract fields from XML. File size: 6687 bytes
[2026-03-17 23:41:18] [INFO] Number of mappings: 28
[2026-03-17 23:41:18] [INFO] Starting XML parsing. Content length: 6687
[2026-03-17 23:41:18] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:41:18] [INFO] Processing 28 field mappings
[2026-03-17 23:41:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:41:18] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:41:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 23:41:18] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-17 23:41:18] [INFO]   -> Found value: PCFD
EMS
RESC
PF
PCSO
[2026-03-17 23:41:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF\nPCSO"
[2026-03-17 23:41:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:41:18] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-17 23:41:18] [INFO]   -> Found value: 2026000725
[2026-03-17 23:41:18] [INFO]   -> Set field 'incidentInternalId' = "2026000725"
[2026-03-17 23:41:18] [INFO]   -> Set field 'dispatchRunNumber' = "2026000725"
[2026-03-17 23:41:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:41:18] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 23:41:18] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 23:41:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:41:18] [INFO]   -> Found value: 233
[2026-03-17 23:41:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 233
[2026-03-17 23:41:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:41:18] [INFO]   -> Found value: TN
[2026-03-17 23:41:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:41:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:41:18] [INFO]   -> Found value: 38501
[2026-03-17 23:41:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 23:41:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:41:18] [INFO]   -> Found value: 36.23278
[2026-03-17 23:41:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23277999999999821056917426176369190216064453125
[2026-03-17 23:41:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:41:18] [INFO]   -> Found value: -85.49556
[2026-03-17 23:41:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4955599999999975580067257396876811981201171875
[2026-03-17 23:41:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:41:18] [INFO]   -> Found value: 2026-03-17 18:39:42
[2026-03-17 23:41:18] [INFO]   -> Set field 'alarm' = "2026-03-17 18:39:42"
[2026-03-17 23:41:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:41:18] [INFO]   -> Found value: 2026-03-17 18:39:47
[2026-03-17 23:41:18] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:39:47"
[2026-03-17 23:41:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:41:18] [INFO]   -> Found value: 2026-03-17 18:41:15
[2026-03-17 23:41:18] [INFO]   -> Set field 'enroute' = "2026-03-17 18:41:15"
[2026-03-17 23:41:18] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:18] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:18] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:41:18] [INFO]   -> Found value: VILLAGE RD/BARTLETT RD
[2026-03-17 23:41:18] [INFO]   -> Set field 'incidentLocationCross' = "VILLAGE RD\/BARTLETT RD"
[2026-03-17 23:41:18] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:41:18] [INFO]   -> Found value: TK12
[2026-03-17 23:41:18] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-17 23:41:18] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:41:18] [INFO]   -> Found value: 2026-03-17 18:41:12
[2026-03-17 23:41:18] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:41:12"
[2026-03-17 23:41:18] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:41:18] [INFO]   -> Found value: 2026-03-17 18:41:15
[2026-03-17 23:41:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:41:15"
[2026-03-17 23:41:18] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:18] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:18] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:41:18] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:18] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:41:18] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 23:41:18] [INFO]   -> Found value: 20260029171
[2026-03-17 23:41:18] [INFO]   -> Set field 'policeReportNumber' = "20260029171"
[2026-03-17 23:41:18] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:41:18] [INFO]   -> Found value: [EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03/17/26 18:40:52 DSWINK] [EMS] SELF MEDICATING...
[2026-03-17 23:41:18] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:41:18] [INFO]   -> Set field 'cADLog' = "[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:41:18] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:41:18] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 23:41:18] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 23:41:18] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:41:18] [INFO]   -> Found value: RIDGEWOOD
[2026-03-17 23:41:18] [INFO]   -> Set field 'streetName' = "RIDGEWOOD"
[2026-03-17 23:41:18] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:41:18] [INFO]   -> Found value: RD
[2026-03-17 23:41:18] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:41:18] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:41:18] [INFO]   -> Found value: 233 RIDGEWOOD RD
[2026-03-17 23:41:18] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "233 RIDGEWOOD RD"
[2026-03-17 23:41:18] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 23:41:18] [INFO] Concatenating street name and type
[2026-03-17 23:41:18] [INFO]   -> Combined street name: RIDGEWOOD RD
[2026-03-17 23:41:18] [INFO] Built locationCoordinates from lat/lng: 36.23278,-85.49556
[2026-03-17 23:41:18] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF\nPCSO","incidentInternalId":"2026000725","dispatchRunNumber":"2026000725","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":233,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.23277999999999821056917426176369190216064453125,"nERISIncidentLongitude":-85.4955599999999975580067257396876811981201171875,"alarm":"2026-03-17 18:39:42","dispatched":"2026-03-17 18:39:47","enroute":"2026-03-17 18:41:15","incidentLocationCross":"VILLAGE RD\/BARTLETT RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 18:41:12","timeenroutetoscene":"2026-03-17 18:41:15","policeReportNumber":"20260029171","dispatchNotes":"[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","cADLog":"[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"RIDGEWOOD RD","incidentAddressTextVersionStreet":"233 RIDGEWOOD RD","locationCoordinates":"36.23278,-85.49556"}
[2026-03-17 23:41:18] [INFO] Number of extracted fields: 23
[2026-03-17 23:41:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF
PCSO'
[2026-03-17 23:41:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF
PCSO', Parsed IDs = ["PCFD","EMS","RESC","PF","PCSO"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-17 23:41:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF","PCSO"]
[2026-03-17 23:41:18] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:41:18] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:41:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF","PCSO"]
[2026-03-17 23:41:19] [INFO] Fetched 14 stations 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-17 23:41:19] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 23:41:19] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-17 23:41:19] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 23:41:19] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:41:20] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 23:41:20] [INFO] Found existing Dispatch with cADNumber '2026000725', ID: 69b9e6482bf6c782f - will update instead of create
[2026-03-17 23:41:20] [INFO] Updated existing Dispatches record with ID: 69b9e6482bf6c782f
[2026-03-17 23:41:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234118.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029171_20260317_234118.XML
[2026-03-17 23:41:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234118.XML
[2026-03-17 23:41:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234120.XML
[2026-03-17 23:41:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234120.XML for user: 68f1466aed072ad4a
[2026-03-17 23:41:20] [INFO] File size: 6687 bytes
[2026-03-17 23:41:21] [INFO] Created FTPFiles record with ID: 69b9e6a105c9a05d6
[2026-03-17 23:41:21] [INFO] About to extract fields from XML. File size: 6687 bytes
[2026-03-17 23:41:21] [INFO] Number of mappings: 28
[2026-03-17 23:41:21] [INFO] Starting XML parsing. Content length: 6687
[2026-03-17 23:41:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:41:21] [INFO] Processing 28 field mappings
[2026-03-17 23:41:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:41:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:41:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 23:41:21] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-17 23:41:21] [INFO]   -> Found value: PCFD
EMS
RESC
PF
PCSO
[2026-03-17 23:41:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF\nPCSO"
[2026-03-17 23:41:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:41:21] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-17 23:41:21] [INFO]   -> Found value: 2026000725
[2026-03-17 23:41:21] [INFO]   -> Set field 'incidentInternalId' = "2026000725"
[2026-03-17 23:41:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000725"
[2026-03-17 23:41:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:41:21] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 23:41:21] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 23:41:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:41:21] [INFO]   -> Found value: 233
[2026-03-17 23:41:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 233
[2026-03-17 23:41:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:41:21] [INFO]   -> Found value: TN
[2026-03-17 23:41:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:41:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:41:21] [INFO]   -> Found value: 38501
[2026-03-17 23:41:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 23:41:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:41:21] [INFO]   -> Found value: 36.23278
[2026-03-17 23:41:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23277999999999821056917426176369190216064453125
[2026-03-17 23:41:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:41:21] [INFO]   -> Found value: -85.49556
[2026-03-17 23:41:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4955599999999975580067257396876811981201171875
[2026-03-17 23:41:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:41:21] [INFO]   -> Found value: 2026-03-17 18:39:42
[2026-03-17 23:41:21] [INFO]   -> Set field 'alarm' = "2026-03-17 18:39:42"
[2026-03-17 23:41:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:41:21] [INFO]   -> Found value: 2026-03-17 18:39:47
[2026-03-17 23:41:21] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:39:47"
[2026-03-17 23:41:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:41:21] [INFO]   -> Found value: 2026-03-17 18:41:15
[2026-03-17 23:41:21] [INFO]   -> Set field 'enroute' = "2026-03-17 18:41:15"
[2026-03-17 23:41:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:41:21] [INFO]   -> Found value: VILLAGE RD/BARTLETT RD
[2026-03-17 23:41:21] [INFO]   -> Set field 'incidentLocationCross' = "VILLAGE RD\/BARTLETT RD"
[2026-03-17 23:41:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:41:21] [INFO]   -> Found value: TK12
[2026-03-17 23:41:21] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-17 23:41:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:41:21] [INFO]   -> Found value: 2026-03-17 18:41:12
[2026-03-17 23:41:21] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:41:12"
[2026-03-17 23:41:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:41:21] [INFO]   -> Found value: 2026-03-17 18:41:15
[2026-03-17 23:41:21] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:41:15"
[2026-03-17 23:41:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:41:21] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:41:21] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 23:41:21] [INFO]   -> Found value: 20260029171
[2026-03-17 23:41:21] [INFO]   -> Set field 'policeReportNumber' = "20260029171"
[2026-03-17 23:41:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:41:21] [INFO]   -> Found value: [EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03/17/26 18:40:52 DSWINK] [EMS] SELF MEDICATING...
[2026-03-17 23:41:21] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:41:21] [INFO]   -> Set field 'cADLog' = "[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:41:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:41:21] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 23:41:21] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 23:41:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:41:21] [INFO]   -> Found value: RIDGEWOOD
[2026-03-17 23:41:21] [INFO]   -> Set field 'streetName' = "RIDGEWOOD"
[2026-03-17 23:41:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:41:21] [INFO]   -> Found value: RD
[2026-03-17 23:41:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:41:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:41:21] [INFO]   -> Found value: 233 RIDGEWOOD RD
[2026-03-17 23:41:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "233 RIDGEWOOD RD"
[2026-03-17 23:41:21] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 23:41:21] [INFO] Concatenating street name and type
[2026-03-17 23:41:21] [INFO]   -> Combined street name: RIDGEWOOD RD
[2026-03-17 23:41:21] [INFO] Built locationCoordinates from lat/lng: 36.23278,-85.49556
[2026-03-17 23:41:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF\nPCSO","incidentInternalId":"2026000725","dispatchRunNumber":"2026000725","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":233,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.23277999999999821056917426176369190216064453125,"nERISIncidentLongitude":-85.4955599999999975580067257396876811981201171875,"alarm":"2026-03-17 18:39:42","dispatched":"2026-03-17 18:39:47","enroute":"2026-03-17 18:41:15","incidentLocationCross":"VILLAGE RD\/BARTLETT RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 18:41:12","timeenroutetoscene":"2026-03-17 18:41:15","policeReportNumber":"20260029171","dispatchNotes":"[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","cADLog":"[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"RIDGEWOOD RD","incidentAddressTextVersionStreet":"233 RIDGEWOOD RD","locationCoordinates":"36.23278,-85.49556"}
[2026-03-17 23:41:21] [INFO] Number of extracted fields: 23
[2026-03-17 23:41:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF
PCSO'
[2026-03-17 23:41:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF
PCSO', Parsed IDs = ["PCFD","EMS","RESC","PF","PCSO"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-17 23:41:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF","PCSO"]
[2026-03-17 23:41:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:41:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:41:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF","PCSO"]
[2026-03-17 23:41:21] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 23:41:21] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 23:41:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-17 23:41:21] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 23:41:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:41:21] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 23:41:21] [INFO] Found existing Dispatch with cADNumber '2026000725', ID: 69b9e6482bf6c782f - will update instead of create
[2026-03-17 23:41:22] [INFO] Updated existing Dispatches record with ID: 69b9e6482bf6c782f
[2026-03-17 23:41:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234120.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029171_20260317_234120.XML
[2026-03-17 23:41:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234120.XML
[2026-03-17 23:41:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234121.XML
[2026-03-17 23:41:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234121.XML for user: 68f1466aed072ad4a
[2026-03-17 23:41:22] [INFO] File size: 6687 bytes
[2026-03-17 23:41:22] [INFO] Created FTPFiles record with ID: 69b9e6a25df603ff4
[2026-03-17 23:41:22] [INFO] About to extract fields from XML. File size: 6687 bytes
[2026-03-17 23:41:22] [INFO] Number of mappings: 28
[2026-03-17 23:41:22] [INFO] Starting XML parsing. Content length: 6687
[2026-03-17 23:41:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:41:22] [INFO] Processing 28 field mappings
[2026-03-17 23:41:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:41:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:41:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-17 23:41:22] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-03-17 23:41:22] [INFO]   -> Found value: PCFD
EMS
RESC
PF
PCSO
[2026-03-17 23:41:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPF\nPCSO"
[2026-03-17 23:41:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:41:22] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-03-17 23:41:22] [INFO]   -> Found value: 2026000725
[2026-03-17 23:41:22] [INFO]   -> Set field 'incidentInternalId' = "2026000725"
[2026-03-17 23:41:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000725"
[2026-03-17 23:41:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:41:22] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-03-17 23:41:22] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-03-17 23:41:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:41:22] [INFO]   -> Found value: 233
[2026-03-17 23:41:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 233
[2026-03-17 23:41:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:41:22] [INFO]   -> Found value: TN
[2026-03-17 23:41:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:41:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:41:22] [INFO]   -> Found value: 38501
[2026-03-17 23:41:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-17 23:41:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:41:22] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:41:22] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:41:22] [INFO]   -> Found value: 36.23278
[2026-03-17 23:41:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23277999999999821056917426176369190216064453125
[2026-03-17 23:41:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:41:22] [INFO]   -> Found value: -85.49556
[2026-03-17 23:41:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4955599999999975580067257396876811981201171875
[2026-03-17 23:41:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:41:22] [INFO]   -> Found value: 2026-03-17 18:39:42
[2026-03-17 23:41:22] [INFO]   -> Set field 'alarm' = "2026-03-17 18:39:42"
[2026-03-17 23:41:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:41:22] [INFO]   -> Found value: 2026-03-17 18:39:47
[2026-03-17 23:41:22] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:39:47"
[2026-03-17 23:41:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:41:22] [INFO]   -> Found value: 2026-03-17 18:41:15
[2026-03-17 23:41:22] [INFO]   -> Set field 'enroute' = "2026-03-17 18:41:15"
[2026-03-17 23:41:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:41:22] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:41:22] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:41:22] [INFO]   -> Found value: VILLAGE RD/BARTLETT RD
[2026-03-17 23:41:22] [INFO]   -> Set field 'incidentLocationCross' = "VILLAGE RD\/BARTLETT RD"
[2026-03-17 23:41:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:41:22] [INFO]   -> Found value: TK12
[2026-03-17 23:41:22] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-03-17 23:41:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:41:22] [INFO]   -> Found value: 2026-03-17 18:41:12
[2026-03-17 23:41:22] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:41:12"
[2026-03-17 23:41:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:41:22] [INFO]   -> Found value: 2026-03-17 18:41:15
[2026-03-17 23:41:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:41:15"
[2026-03-17 23:41:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:41:22] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:41:22] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:41:22] [INFO]   -> No value found (null or empty)
[2026-03-17 23:41:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:41:22] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-03-17 23:41:22] [INFO]   -> Found value: 20260029171
[2026-03-17 23:41:22] [INFO]   -> Set field 'policeReportNumber' = "20260029171"
[2026-03-17 23:41:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:41:22] [INFO]   -> Found value: [EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03/17/26 18:40:52 DSWINK] [EMS] SELF MEDICATING...
[2026-03-17 23:41:22] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:41:22] [INFO]   -> Set field 'cADLog' = "[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]"
[2026-03-17 23:41:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:41:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-17 23:41:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-17 23:41:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:41:22] [INFO]   -> Found value: RIDGEWOOD
[2026-03-17 23:41:22] [INFO]   -> Set field 'streetName' = "RIDGEWOOD"
[2026-03-17 23:41:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:41:22] [INFO]   -> Found value: RD
[2026-03-17 23:41:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:41:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:41:22] [INFO]   -> Found value: 233 RIDGEWOOD RD
[2026-03-17 23:41:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "233 RIDGEWOOD RD"
[2026-03-17 23:41:22] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-17 23:41:22] [INFO] Concatenating street name and type
[2026-03-17 23:41:22] [INFO]   -> Combined street name: RIDGEWOOD RD
[2026-03-17 23:41:22] [INFO] Built locationCoordinates from lat/lng: 36.23278,-85.49556
[2026-03-17 23:41:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPF\nPCSO","incidentInternalId":"2026000725","dispatchRunNumber":"2026000725","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":233,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.23277999999999821056917426176369190216064453125,"nERISIncidentLongitude":-85.4955599999999975580067257396876811981201171875,"alarm":"2026-03-17 18:39:42","dispatched":"2026-03-17 18:39:47","enroute":"2026-03-17 18:41:15","incidentLocationCross":"VILLAGE RD\/BARTLETT RD","cADVehicleID":"TK12","timedispatch":"2026-03-17 18:41:12","timeenroutetoscene":"2026-03-17 18:41:15","policeReportNumber":"20260029171","dispatchNotes":"[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","cADLog":"[EMS] 41 YOM - NUMBNESS IN LEFT ARM FOR A FEW DAYS  [03\/17\/26 18:40:52 DSWINK] [EMS] SELF MEDICATING FOR SELF DIAGNOSED ADHD  [03\/17\/26 18:40:30 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [03\/17\/2026 18:39:42 DSWINK] MALE STATES HE FEELS REALLY WEIRD - MALE IS ALONE THC EDIBLE - ADHD MEDICATION ON BOARD HAVING ISSUES BALANCING - NUMBNESS  [03\/17\/26 18:38:44 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"RIDGEWOOD RD","incidentAddressTextVersionStreet":"233 RIDGEWOOD RD","locationCoordinates":"36.23278,-85.49556"}
[2026-03-17 23:41:22] [INFO] Number of extracted fields: 23
[2026-03-17 23:41:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PF
PCSO'
[2026-03-17 23:41:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PF
PCSO', Parsed IDs = ["PCFD","EMS","RESC","PF","PCSO"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-03-17 23:41:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PF","PCSO"]
[2026-03-17 23:41:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:41:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:41:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PF","PCSO"]
[2026-03-17 23:41:22] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-17 23:41:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-17 23:41:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-03-17 23:41:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-17 23:41:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:41:22] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-03-17 23:41:23] [INFO] Found existing Dispatch with cADNumber '2026000725', ID: 69b9e6482bf6c782f - will update instead of create
[2026-03-17 23:41:23] [INFO] Updated existing Dispatches record with ID: 69b9e6482bf6c782f
[2026-03-17 23:41:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234121.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029171_20260317_234121.XML
[2026-03-17 23:41:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029171_20260317_234121.XML
[2026-03-17 23:55:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235509.XML
[2026-03-17 23:55:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235509.XML for user: 68f1466aed072ad4a
[2026-03-17 23:55:09] [INFO] File size: 5490 bytes
[2026-03-17 23:55:10] [INFO] Created FTPFiles record with ID: 69b9e9de2811eb788
[2026-03-17 23:55:10] [INFO] About to extract fields from XML. File size: 5490 bytes
[2026-03-17 23:55:10] [INFO] Number of mappings: 28
[2026-03-17 23:55:10] [INFO] Starting XML parsing. Content length: 5490
[2026-03-17 23:55:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:55:10] [INFO] Processing 28 field mappings
[2026-03-17 23:55:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:55:10] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:55:10] [INFO]   -> Found value: PCFD
[2026-03-17 23:55:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 23:55:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026000724
[2026-03-17 23:55:10] [INFO]   -> Set field 'incidentInternalId' = "2026000724"
[2026-03-17 23:55:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000724"
[2026-03-17 23:55:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:55:10] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 23:55:10] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 23:55:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:55:10] [INFO]   -> Found value: 3350
[2026-03-17 23:55:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3350
[2026-03-17 23:55:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:55:10] [INFO]   -> Found value: TN
[2026-03-17 23:55:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:55:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:55:10] [INFO]   -> Found value: 38544
[2026-03-17 23:55:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 23:55:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:55:10] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:55:10] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:55:10] [INFO]   -> Found value: 36.12900
[2026-03-17 23:55:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12899999999999778310666442848742008209228515625
[2026-03-17 23:55:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:55:10] [INFO]   -> Found value: -85.68245
[2026-03-17 23:55:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6824500000000028876456781290471553802490234375
[2026-03-17 23:55:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:28:58
[2026-03-17 23:55:10] [INFO]   -> Set field 'alarm' = "2026-03-17 18:28:58"
[2026-03-17 23:55:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:10] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:29:40"
[2026-03-17 23:55:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:10] [INFO]   -> Set field 'enroute' = "2026-03-17 18:29:40"
[2026-03-17 23:55:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:10] [INFO]   -> Set field 'onScene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:10] [INFO]   -> Set field 'cleared' = "2026-03-17 18:55:01"
[2026-03-17 23:55:10] [INFO]   -> Set field 'inService' = "2026-03-17 18:55:01"
[2026-03-17 23:55:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:55:10] [INFO]   -> Found value: FINLEY SPRINGS RD/TIGHTFIT RD
[2026-03-17 23:55:10] [INFO]   -> Set field 'incidentLocationCross' = "FINLEY SPRINGS RD\/TIGHTFIT RD"
[2026-03-17 23:55:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:55:10] [INFO]   -> Found value: TK31
[2026-03-17 23:55:10] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 23:55:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:10] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:29:40"
[2026-03-17 23:55:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:10] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:29:40"
[2026-03-17 23:55:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:10] [INFO]   -> Set field 'timeonscene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:55:10] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:10] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 18:55:01"
[2026-03-17 23:55:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:55:10] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:55:10] [INFO]   -> Found value: 20260029164
[2026-03-17 23:55:10] [INFO]   -> Set field 'policeReportNumber' = "20260029164"
[2026-03-17 23:55:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:55:10] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR...
[2026-03-17 23:55:10] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:10] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:55:10] [INFO]   -> Found value: BAXTER
[2026-03-17 23:55:10] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 23:55:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:55:10] [INFO]   -> Found value: LOWETOWN
[2026-03-17 23:55:10] [INFO]   -> Set field 'streetName' = "LOWETOWN"
[2026-03-17 23:55:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:55:10] [INFO]   -> Found value: RD
[2026-03-17 23:55:10] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:55:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:55:10] [INFO]   -> Found value: 3350 LOWETOWN RD
[2026-03-17 23:55:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3350 LOWETOWN RD"
[2026-03-17 23:55:10] [INFO] Finished extracting fields. Total fields extracted: 28
[2026-03-17 23:55:10] [INFO] Concatenating street name and type
[2026-03-17 23:55:10] [INFO]   -> Combined street name: LOWETOWN RD
[2026-03-17 23:55:10] [INFO] Built locationCoordinates from lat/lng: 36.129,-85.68245
[2026-03-17 23:55:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000724","dispatchRunNumber":"2026000724","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3350,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.12899999999999778310666442848742008209228515625,"nERISIncidentLongitude":-85.6824500000000028876456781290471553802490234375,"alarm":"2026-03-17 18:28:58","dispatched":"2026-03-17 18:29:40","enroute":"2026-03-17 18:29:40","onScene":"2026-03-17 18:54:59","cleared":"2026-03-17 18:55:01","inService":"2026-03-17 18:55:01","incidentLocationCross":"FINLEY SPRINGS RD\/TIGHTFIT RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 18:29:40","timeenroutetoscene":"2026-03-17 18:29:40","timeonscene":"2026-03-17 18:54:59","timeunitclear":"2026-03-17 18:55:01","policeReportNumber":"20260029164","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","incidentLocationCity":"BAXTER","streetName":"LOWETOWN RD","incidentAddressTextVersionStreet":"3350 LOWETOWN RD","locationCoordinates":"36.129,-85.68245"}
[2026-03-17 23:55:10] [INFO] Number of extracted fields: 28
[2026-03-17 23:55:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 23:55: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-17 23:55:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 23:55:10] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:55:10] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:55: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-17 23:55: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-17 23:55:10] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:55:10] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 23:55:11] [INFO] Found existing Dispatch with cADNumber '2026000724', ID: 69b9e3ed73105d264 - will update instead of create
[2026-03-17 23:55:11] [INFO] Updated existing Dispatches record with ID: 69b9e3ed73105d264
[2026-03-17 23:55:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235509.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029164_20260317_235509.XML
[2026-03-17 23:55:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235509.XML
[2026-03-17 23:55:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235510.XML
[2026-03-17 23:55:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235510.XML for user: 68f1466aed072ad4a
[2026-03-17 23:55:11] [INFO] File size: 5490 bytes
[2026-03-17 23:55:11] [INFO] Created FTPFiles record with ID: 69b9e9df98089abdd
[2026-03-17 23:55:11] [INFO] About to extract fields from XML. File size: 5490 bytes
[2026-03-17 23:55:11] [INFO] Number of mappings: 28
[2026-03-17 23:55:11] [INFO] Starting XML parsing. Content length: 5490
[2026-03-17 23:55:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:55:11] [INFO] Processing 28 field mappings
[2026-03-17 23:55:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:55:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:55:11] [INFO]   -> Found value: PCFD
[2026-03-17 23:55:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 23:55:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026000724
[2026-03-17 23:55:11] [INFO]   -> Set field 'incidentInternalId' = "2026000724"
[2026-03-17 23:55:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000724"
[2026-03-17 23:55:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:55:11] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 23:55:11] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 23:55:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:55:11] [INFO]   -> Found value: 3350
[2026-03-17 23:55:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3350
[2026-03-17 23:55:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:55:11] [INFO]   -> Found value: TN
[2026-03-17 23:55:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:55:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:55:11] [INFO]   -> Found value: 38544
[2026-03-17 23:55:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 23:55:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:55:11] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:55:11] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:55:11] [INFO]   -> Found value: 36.12900
[2026-03-17 23:55:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12899999999999778310666442848742008209228515625
[2026-03-17 23:55:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:55:11] [INFO]   -> Found value: -85.68245
[2026-03-17 23:55:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6824500000000028876456781290471553802490234375
[2026-03-17 23:55:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:28:58
[2026-03-17 23:55:11] [INFO]   -> Set field 'alarm' = "2026-03-17 18:28:58"
[2026-03-17 23:55:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:11] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:29:40"
[2026-03-17 23:55:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:11] [INFO]   -> Set field 'enroute' = "2026-03-17 18:29:40"
[2026-03-17 23:55:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:11] [INFO]   -> Set field 'onScene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:11] [INFO]   -> Set field 'cleared' = "2026-03-17 18:55:01"
[2026-03-17 23:55:11] [INFO]   -> Set field 'inService' = "2026-03-17 18:55:01"
[2026-03-17 23:55:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:55:11] [INFO]   -> Found value: FINLEY SPRINGS RD/TIGHTFIT RD
[2026-03-17 23:55:11] [INFO]   -> Set field 'incidentLocationCross' = "FINLEY SPRINGS RD\/TIGHTFIT RD"
[2026-03-17 23:55:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:55:11] [INFO]   -> Found value: TK31
[2026-03-17 23:55:11] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 23:55:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:11] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:29:40"
[2026-03-17 23:55:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:29:40"
[2026-03-17 23:55:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:11] [INFO]   -> Set field 'timeonscene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:55:11] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:11] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 18:55:01"
[2026-03-17 23:55:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:55:11] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:55:11] [INFO]   -> Found value: 20260029164
[2026-03-17 23:55:11] [INFO]   -> Set field 'policeReportNumber' = "20260029164"
[2026-03-17 23:55:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:55:11] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR...
[2026-03-17 23:55:11] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:11] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:55:11] [INFO]   -> Found value: BAXTER
[2026-03-17 23:55:11] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 23:55:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:55:11] [INFO]   -> Found value: LOWETOWN
[2026-03-17 23:55:11] [INFO]   -> Set field 'streetName' = "LOWETOWN"
[2026-03-17 23:55:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:55:11] [INFO]   -> Found value: RD
[2026-03-17 23:55:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:55:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:55:11] [INFO]   -> Found value: 3350 LOWETOWN RD
[2026-03-17 23:55:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3350 LOWETOWN RD"
[2026-03-17 23:55:11] [INFO] Finished extracting fields. Total fields extracted: 28
[2026-03-17 23:55:11] [INFO] Concatenating street name and type
[2026-03-17 23:55:11] [INFO]   -> Combined street name: LOWETOWN RD
[2026-03-17 23:55:11] [INFO] Built locationCoordinates from lat/lng: 36.129,-85.68245
[2026-03-17 23:55:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000724","dispatchRunNumber":"2026000724","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3350,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.12899999999999778310666442848742008209228515625,"nERISIncidentLongitude":-85.6824500000000028876456781290471553802490234375,"alarm":"2026-03-17 18:28:58","dispatched":"2026-03-17 18:29:40","enroute":"2026-03-17 18:29:40","onScene":"2026-03-17 18:54:59","cleared":"2026-03-17 18:55:01","inService":"2026-03-17 18:55:01","incidentLocationCross":"FINLEY SPRINGS RD\/TIGHTFIT RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 18:29:40","timeenroutetoscene":"2026-03-17 18:29:40","timeonscene":"2026-03-17 18:54:59","timeunitclear":"2026-03-17 18:55:01","policeReportNumber":"20260029164","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","incidentLocationCity":"BAXTER","streetName":"LOWETOWN RD","incidentAddressTextVersionStreet":"3350 LOWETOWN RD","locationCoordinates":"36.129,-85.68245"}
[2026-03-17 23:55:11] [INFO] Number of extracted fields: 28
[2026-03-17 23:55:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 23:55: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-17 23:55:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 23:55:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:55:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:55: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-17 23:55: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-17 23:55:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:55:12] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 23:55:12] [INFO] Found existing Dispatch with cADNumber '2026000724', ID: 69b9e3ed73105d264 - will update instead of create
[2026-03-17 23:55:12] [INFO] Updated existing Dispatches record with ID: 69b9e3ed73105d264
[2026-03-17 23:55:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235510.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029164_20260317_235510.XML
[2026-03-17 23:55:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235510.XML
[2026-03-17 23:55:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511.XML
[2026-03-17 23:55:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511.XML for user: 68f1466aed072ad4a
[2026-03-17 23:55:12] [INFO] File size: 5490 bytes
[2026-03-17 23:55:13] [INFO] Created FTPFiles record with ID: 69b9e9e114dfa44c5
[2026-03-17 23:55:13] [INFO] About to extract fields from XML. File size: 5490 bytes
[2026-03-17 23:55:13] [INFO] Number of mappings: 28
[2026-03-17 23:55:13] [INFO] Starting XML parsing. Content length: 5490
[2026-03-17 23:55:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:55:13] [INFO] Processing 28 field mappings
[2026-03-17 23:55:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:55:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:55:13] [INFO]   -> Found value: PCFD
[2026-03-17 23:55:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 23:55:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026000724
[2026-03-17 23:55:13] [INFO]   -> Set field 'incidentInternalId' = "2026000724"
[2026-03-17 23:55:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000724"
[2026-03-17 23:55:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:55:13] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 23:55:13] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 23:55:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:55:13] [INFO]   -> Found value: 3350
[2026-03-17 23:55:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3350
[2026-03-17 23:55:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:55:13] [INFO]   -> Found value: TN
[2026-03-17 23:55:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:55:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:55:13] [INFO]   -> Found value: 38544
[2026-03-17 23:55:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 23:55:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:55:13] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:55:13] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:55:13] [INFO]   -> Found value: 36.12900
[2026-03-17 23:55:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12899999999999778310666442848742008209228515625
[2026-03-17 23:55:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:55:13] [INFO]   -> Found value: -85.68245
[2026-03-17 23:55:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6824500000000028876456781290471553802490234375
[2026-03-17 23:55:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:28:58
[2026-03-17 23:55:13] [INFO]   -> Set field 'alarm' = "2026-03-17 18:28:58"
[2026-03-17 23:55:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:13] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:29:40"
[2026-03-17 23:55:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:13] [INFO]   -> Set field 'enroute' = "2026-03-17 18:29:40"
[2026-03-17 23:55:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:13] [INFO]   -> Set field 'onScene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:13] [INFO]   -> Set field 'cleared' = "2026-03-17 18:55:01"
[2026-03-17 23:55:13] [INFO]   -> Set field 'inService' = "2026-03-17 18:55:01"
[2026-03-17 23:55:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:55:13] [INFO]   -> Found value: FINLEY SPRINGS RD/TIGHTFIT RD
[2026-03-17 23:55:13] [INFO]   -> Set field 'incidentLocationCross' = "FINLEY SPRINGS RD\/TIGHTFIT RD"
[2026-03-17 23:55:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:55:13] [INFO]   -> Found value: TK31
[2026-03-17 23:55:13] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 23:55:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:13] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:29:40"
[2026-03-17 23:55:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:29:40"
[2026-03-17 23:55:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:13] [INFO]   -> Set field 'timeonscene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:55:13] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:13] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 18:55:01"
[2026-03-17 23:55:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:55:13] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:55:13] [INFO]   -> Found value: 20260029164
[2026-03-17 23:55:13] [INFO]   -> Set field 'policeReportNumber' = "20260029164"
[2026-03-17 23:55:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:55:13] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR...
[2026-03-17 23:55:13] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:13] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:55:13] [INFO]   -> Found value: BAXTER
[2026-03-17 23:55:13] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 23:55:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:55:13] [INFO]   -> Found value: LOWETOWN
[2026-03-17 23:55:13] [INFO]   -> Set field 'streetName' = "LOWETOWN"
[2026-03-17 23:55:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:55:13] [INFO]   -> Found value: RD
[2026-03-17 23:55:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:55:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:55:13] [INFO]   -> Found value: 3350 LOWETOWN RD
[2026-03-17 23:55:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3350 LOWETOWN RD"
[2026-03-17 23:55:13] [INFO] Finished extracting fields. Total fields extracted: 28
[2026-03-17 23:55:13] [INFO] Concatenating street name and type
[2026-03-17 23:55:13] [INFO]   -> Combined street name: LOWETOWN RD
[2026-03-17 23:55:13] [INFO] Built locationCoordinates from lat/lng: 36.129,-85.68245
[2026-03-17 23:55:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000724","dispatchRunNumber":"2026000724","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3350,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.12899999999999778310666442848742008209228515625,"nERISIncidentLongitude":-85.6824500000000028876456781290471553802490234375,"alarm":"2026-03-17 18:28:58","dispatched":"2026-03-17 18:29:40","enroute":"2026-03-17 18:29:40","onScene":"2026-03-17 18:54:59","cleared":"2026-03-17 18:55:01","inService":"2026-03-17 18:55:01","incidentLocationCross":"FINLEY SPRINGS RD\/TIGHTFIT RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 18:29:40","timeenroutetoscene":"2026-03-17 18:29:40","timeonscene":"2026-03-17 18:54:59","timeunitclear":"2026-03-17 18:55:01","policeReportNumber":"20260029164","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","incidentLocationCity":"BAXTER","streetName":"LOWETOWN RD","incidentAddressTextVersionStreet":"3350 LOWETOWN RD","locationCoordinates":"36.129,-85.68245"}
[2026-03-17 23:55:13] [INFO] Number of extracted fields: 28
[2026-03-17 23:55:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 23:55: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-17 23:55:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 23:55:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:55:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:55: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-17 23:55: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-17 23:55:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:55:13] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 23:55:13] [INFO] Found existing Dispatch with cADNumber '2026000724', ID: 69b9e3ed73105d264 - will update instead of create
[2026-03-17 23:55:14] [INFO] Updated existing Dispatches record with ID: 69b9e3ed73105d264
[2026-03-17 23:55:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029164_20260317_235511.XML
[2026-03-17 23:55:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511.XML
[2026-03-17 23:55:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511_1.XML
[2026-03-17 23:55:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511_1.XML for user: 68f1466aed072ad4a
[2026-03-17 23:55:14] [INFO] File size: 5490 bytes
[2026-03-17 23:55:14] [INFO] Created FTPFiles record with ID: 69b9e9e279b52822e
[2026-03-17 23:55:14] [INFO] About to extract fields from XML. File size: 5490 bytes
[2026-03-17 23:55:14] [INFO] Number of mappings: 28
[2026-03-17 23:55:14] [INFO] Starting XML parsing. Content length: 5490
[2026-03-17 23:55:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-17 23:55:14] [INFO] Processing 28 field mappings
[2026-03-17 23:55:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-17 23:55:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-17 23:55:14] [INFO]   -> Found value: PCFD
[2026-03-17 23:55:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-17 23:55:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026000724
[2026-03-17 23:55:14] [INFO]   -> Set field 'incidentInternalId' = "2026000724"
[2026-03-17 23:55:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000724"
[2026-03-17 23:55:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-17 23:55:14] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-03-17 23:55:14] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-03-17 23:55:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-17 23:55:14] [INFO]   -> Found value: 3350
[2026-03-17 23:55:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3350
[2026-03-17 23:55:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-17 23:55:14] [INFO]   -> Found value: TN
[2026-03-17 23:55:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-17 23:55:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-17 23:55:14] [INFO]   -> Found value: 38544
[2026-03-17 23:55:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-03-17 23:55:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-17 23:55:14] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-17 23:55:14] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-17 23:55:14] [INFO]   -> Found value: 36.12900
[2026-03-17 23:55:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12899999999999778310666442848742008209228515625
[2026-03-17 23:55:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-17 23:55:14] [INFO]   -> Found value: -85.68245
[2026-03-17 23:55:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6824500000000028876456781290471553802490234375
[2026-03-17 23:55:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:28:58
[2026-03-17 23:55:14] [INFO]   -> Set field 'alarm' = "2026-03-17 18:28:58"
[2026-03-17 23:55:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:14] [INFO]   -> Set field 'dispatched' = "2026-03-17 18:29:40"
[2026-03-17 23:55:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:14] [INFO]   -> Set field 'enroute' = "2026-03-17 18:29:40"
[2026-03-17 23:55:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:14] [INFO]   -> Set field 'onScene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:14] [INFO]   -> Set field 'cleared' = "2026-03-17 18:55:01"
[2026-03-17 23:55:14] [INFO]   -> Set field 'inService' = "2026-03-17 18:55:01"
[2026-03-17 23:55:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-17 23:55:14] [INFO]   -> Found value: FINLEY SPRINGS RD/TIGHTFIT RD
[2026-03-17 23:55:14] [INFO]   -> Set field 'incidentLocationCross' = "FINLEY SPRINGS RD\/TIGHTFIT RD"
[2026-03-17 23:55:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-17 23:55:14] [INFO]   -> Found value: TK31
[2026-03-17 23:55:14] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-17 23:55:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:14] [INFO]   -> Set field 'timedispatch' = "2026-03-17 18:29:40"
[2026-03-17 23:55:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:29:40
[2026-03-17 23:55:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-17 18:29:40"
[2026-03-17 23:55:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:54:59
[2026-03-17 23:55:14] [INFO]   -> Set field 'timeonscene' = "2026-03-17 18:54:59"
[2026-03-17 23:55:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-17 23:55:14] [INFO]   -> Found value: 2026-03-17 18:55:01
[2026-03-17 23:55:14] [INFO]   -> Set field 'timeunitclear' = "2026-03-17 18:55:01"
[2026-03-17 23:55:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-17 23:55:14] [INFO]   -> No value found (null or empty)
[2026-03-17 23:55:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-17 23:55:14] [INFO]   -> Found value: 20260029164
[2026-03-17 23:55:14] [INFO]   -> Set field 'policeReportNumber' = "20260029164"
[2026-03-17 23:55:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-17 23:55:14] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [03/17/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR...
[2026-03-17 23:55:14] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:14] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]"
[2026-03-17 23:55:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-17 23:55:14] [INFO]   -> Found value: BAXTER
[2026-03-17 23:55:14] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-03-17 23:55:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-17 23:55:14] [INFO]   -> Found value: LOWETOWN
[2026-03-17 23:55:14] [INFO]   -> Set field 'streetName' = "LOWETOWN"
[2026-03-17 23:55:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-17 23:55:14] [INFO]   -> Found value: RD
[2026-03-17 23:55:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-17 23:55:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-17 23:55:14] [INFO]   -> Found value: 3350 LOWETOWN RD
[2026-03-17 23:55:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3350 LOWETOWN RD"
[2026-03-17 23:55:14] [INFO] Finished extracting fields. Total fields extracted: 28
[2026-03-17 23:55:14] [INFO] Concatenating street name and type
[2026-03-17 23:55:14] [INFO]   -> Combined street name: LOWETOWN RD
[2026-03-17 23:55:14] [INFO] Built locationCoordinates from lat/lng: 36.129,-85.68245
[2026-03-17 23:55:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000724","dispatchRunNumber":"2026000724","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":3350,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.12899999999999778310666442848742008209228515625,"nERISIncidentLongitude":-85.6824500000000028876456781290471553802490234375,"alarm":"2026-03-17 18:28:58","dispatched":"2026-03-17 18:29:40","enroute":"2026-03-17 18:29:40","onScene":"2026-03-17 18:54:59","cleared":"2026-03-17 18:55:01","inService":"2026-03-17 18:55:01","incidentLocationCross":"FINLEY SPRINGS RD\/TIGHTFIT RD","cADVehicleID":"TK31","timedispatch":"2026-03-17 18:29:40","timeenroutetoscene":"2026-03-17 18:29:40","timeonscene":"2026-03-17 18:54:59","timeunitclear":"2026-03-17 18:55:01","policeReportNumber":"20260029164","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:28:58 DSWINK] [EMS] DRIVEWAY TO THE BACK DOOR  [03\/17\/26 18:27:32 DSWINK] [EMS] 38 YOM  [03\/17\/26 18:27:25 DSWINK] Event spawned from BREATHING PROBLEMS.  [03\/17\/2026 18:27:12 DSWINK] FIANCE - KIDNEY TRANSPLANT PT BREATHING PROBLEMS \/ HEART RACING  [03\/17\/26 18:27:08 DSWINK]]","incidentLocationCity":"BAXTER","streetName":"LOWETOWN RD","incidentAddressTextVersionStreet":"3350 LOWETOWN RD","locationCoordinates":"36.129,-85.68245"}
[2026-03-17 23:55:14] [INFO] Number of extracted fields: 28
[2026-03-17 23:55:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-17 23:55:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-17 23:55:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-17 23:55:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-17 23:55:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-17 23:55: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-17 23:55: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-17 23:55:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-17 23:55:15] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-03-17 23:55:15] [INFO] Found existing Dispatch with cADNumber '2026000724', ID: 69b9e3ed73105d264 - will update instead of create
[2026-03-17 23:55:15] [INFO] Updated existing Dispatches record with ID: 69b9e3ed73105d264
[2026-03-17 23:55:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-17/PCFD_20260029164_20260317_235511_1.XML
[2026-03-17 23:55:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260029164_20260317_235511_1.XML
