[2026-02-14 00:43:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016785_20260214_004322.XML
[2026-02-14 00:43:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016785_20260214_004322.XML for user: 68f1466aed072ad4a
[2026-02-14 00:43:22] [INFO] File size: 4734 bytes
[2026-02-14 00:43:23] [INFO] Created FTPFiles record with ID: 698fc52b24588d60a
[2026-02-14 00:43:23] [INFO] About to extract fields from XML. File size: 4734 bytes
[2026-02-14 00:43:23] [INFO] Number of mappings: 28
[2026-02-14 00:43:23] [INFO] Starting XML parsing. Content length: 4734
[2026-02-14 00:43:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 00:43:23] [INFO] Processing 28 field mappings
[2026-02-14 00:43:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 00:43:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 00:43:23] [INFO]   -> Found value: BFD
[2026-02-14 00:43:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-02-14 00:43:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 00:43:23] [INFO]   -> Found value: 2026000046
[2026-02-14 00:43:23] [INFO]   -> Set field 'incidentInternalId' = "2026000046"
[2026-02-14 00:43:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000046"
[2026-02-14 00:43:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 00:43:23] [INFO]   -> Found value: FIRE ALARM
[2026-02-14 00:43:23] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-02-14 00:43:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 00:43:23] [INFO]   -> Found value: 371
[2026-02-14 00:43:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 371
[2026-02-14 00:43:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 00:43:23] [INFO]   -> Found value: TN
[2026-02-14 00:43:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 00:43:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 00:43:23] [INFO]   -> Found value: 38544
[2026-02-14 00:43:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-02-14 00:43:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 00:43:23] [INFO]   -> Found value: CORNERSTONE ELEMENTARY SCHOOL
[2026-02-14 00:43:23] [INFO]   -> Set field 'businessName' = "CORNERSTONE ELEMENTARY SCHOOL"
[2026-02-14 00:43:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 00:43:23] [INFO]   -> Found value: 36.14867
[2026-02-14 00:43:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14867000000000274440026259981095790863037109375
[2026-02-14 00:43:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 00:43:23] [INFO]   -> Found value: -85.64051
[2026-02-14 00:43:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.64051000000000612999428994953632354736328125
[2026-02-14 00:43:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 00:43:23] [INFO]   -> Found value: 2026-02-13 18:42:25
[2026-02-14 00:43:23] [INFO]   -> Set field 'alarm' = "2026-02-13 18:42:25"
[2026-02-14 00:43:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 00:43:23] [INFO]   -> Found value: 2026-02-13 18:43:16
[2026-02-14 00:43:23] [INFO]   -> Set field 'dispatched' = "2026-02-13 18:43:16"
[2026-02-14 00:43:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 00:43:23] [INFO]   -> Found value: UPPERMAN LN/COW PALACE DR
[2026-02-14 00:43:23] [INFO]   -> Set field 'incidentLocationCross' = "UPPERMAN LN\/COW PALACE DR"
[2026-02-14 00:43:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 00:43:23] [INFO]   -> Found value: BEN2
[2026-02-14 00:43:23] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-02-14 00:43:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 00:43:23] [INFO]   -> Found value: 2026-02-13 18:43:16
[2026-02-14 00:43:23] [INFO]   -> Set field 'timedispatch' = "2026-02-13 18:43:16"
[2026-02-14 00:43:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 00:43:23] [INFO]   -> Found value: 20260016785
[2026-02-14 00:43:23] [INFO]   -> Set field 'policeReportNumber' = "20260016785"
[2026-02-14 00:43:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 00:43:23] [INFO]   -> No value found (null or empty)
[2026-02-14 00:43:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 00:43:23] [INFO]   -> Found value: BAXTER
[2026-02-14 00:43:23] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-02-14 00:43:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 00:43:23] [INFO]   -> Found value: FIRST
[2026-02-14 00:43:23] [INFO]   -> Set field 'streetName' = "FIRST"
[2026-02-14 00:43:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 00:43:23] [INFO]   -> Found value: AVE
[2026-02-14 00:43:23] [INFO]   -> Set field 'streetType' = "AVE"
[2026-02-14 00:43:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 00:43:23] [INFO]   -> Found value: 371 FIRST AVE S
[2026-02-14 00:43:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "371 FIRST AVE S"
[2026-02-14 00:43:23] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-14 00:43:23] [INFO] Concatenating street name and type
[2026-02-14 00:43:23] [INFO]   -> Combined street name: FIRST AVE
[2026-02-14 00:43:23] [INFO] Built locationCoordinates from lat/lng: 36.14867,-85.64051
[2026-02-14 00:43:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000046","dispatchRunNumber":"2026000046","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":371,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"CORNERSTONE ELEMENTARY SCHOOL","nERISIncidentLatitude":36.14867000000000274440026259981095790863037109375,"nERISIncidentLongitude":-85.64051000000000612999428994953632354736328125,"alarm":"2026-02-13 18:42:25","dispatched":"2026-02-13 18:43:16","incidentLocationCross":"UPPERMAN LN\/COW PALACE DR","cADVehicleID":"BEN2","timedispatch":"2026-02-13 18:43:16","policeReportNumber":"20260016785","incidentLocationCity":"BAXTER","streetName":"FIRST AVE","incidentAddressTextVersionStreet":"371 FIRST AVE S","locationCoordinates":"36.14867,-85.64051"}
[2026-02-14 00:43:23] [INFO] Number of extracted fields: 20
[2026-02-14 00:43:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-02-14 00:43:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-14 00:43:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-02-14 00:43:23] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-14 00:43:23] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-14 00:43:23] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-14 00:43:23] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-14 00:43:23] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-14 00:43:23] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-02-14 00:43:27] [INFO] Created new Dispatches record with ID: 698fc52c34b038ac6
[2026-02-14 00:43:27] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 00:43:27] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 00:43:30] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 00:43:30] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016785_20260214_004322.XML: Failed to upload file to V2 FTP server: /BFD_20260016785_20260214_004322.XML
[2026-02-14 00:43:30] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 00:44:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04648.xml
[2026-02-14 00:44:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04648.xml for user: 68d56363ec1209189
[2026-02-14 00:44:47] [INFO] File size: 1591 bytes
[2026-02-14 00:44:47] [INFO] Created FTPFiles record with ID: 698fc57f7ca29559f
[2026-02-14 00:44:47] [INFO] About to extract fields from XML. File size: 1591 bytes
[2026-02-14 00:44:47] [INFO] Number of mappings: 21
[2026-02-14 00:44:47] [INFO] Starting XML parsing. Content length: 1591
[2026-02-14 00:44:47] [INFO] XML parsed successfully. Root element: Incident
[2026-02-14 00:44:47] [INFO] Processing 21 field mappings
[2026-02-14 00:44:47] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-14 00:44:47] [INFO]   -> Found value: 26-04648
[2026-02-14 00:44:47] [INFO]   -> Set field 'dispatchRunNumber' = "26-04648"
[2026-02-14 00:44:47] [INFO]   -> Set field 'cADNumber' = "26-04648"
[2026-02-14 00:44:47] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-14 00:44:47] [INFO]   -> Found value: 1008
[2026-02-14 00:44:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1008
[2026-02-14 00:44:47] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-14 00:44:47] [INFO]   -> Found value: N MAIN ST
[2026-02-14 00:44:47] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2026-02-14 00:44:47] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-14 00:44:47] [INFO]   -> No value found (null or empty)
[2026-02-14 00:44:47] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-14 00:44:47] [INFO]   -> Found value: SIKESTON
[2026-02-14 00:44:47] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-14 00:44:47] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-14 00:44:47] [INFO]   -> Found value: MDMC
[2026-02-14 00:44:47] [INFO]   -> Set field 'businessName' = "MDMC"
[2026-02-14 00:44:47] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-14 00:44:47] [INFO]   -> Found value: MO
[2026-02-14 00:44:47] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-14 00:44:47] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-14 00:44:47] [INFO]   -> Found value: 63801
[2026-02-14 00:44:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-14 00:44:47] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-14 00:44:47] [INFO]   -> Found value: 0
[2026-02-14 00:44:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-14 00:44:47] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-14 00:44:47] [INFO]   -> Found value: 0
[2026-02-14 00:44:47] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-14 00:44:47] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-14 00:44:47] [INFO]   -> Found value: FIRE-AIRCRAFT STANDBY
[2026-02-14 00:44:47] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-AIRCRAFT STANDBY"
[2026-02-14 00:44:47] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-14 00:44:47] [INFO]   -> Found value: 02-13-2026 18:41:03|AIR CRAFT LANDING IN 25MIN

AIR EVAC 24
[2026-02-14 00:44:47] [INFO]   -> Set field 'dispatchNotes' = "02-13-2026 18:41:03|AIR CRAFT LANDING IN 25MIN\n\nAIR EVAC 24"
[2026-02-14 00:44:47] [INFO]   -> Set field 'cADLog' = "02-13-2026 18:41:03|AIR CRAFT LANDING IN 25MIN\n\nAIR EVAC 24"
[2026-02-14 00:44:47] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-14 00:44:47] [INFO]   -> Found value: 02-13-2026T18:43:29
[2026-02-14 00:44:47] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T18:43:29
[2026-02-14 00:44:47] [ERROR] Error formatting datetime '2026-13-02T18:43:29': Failed to parse time string (2026-13-02T18:43:29) at position 6 (3): Unexpected character
[2026-02-14 00:44:47] [INFO]   -> Set field 'alarm' = null
[2026-02-14 00:44:47] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T18:43:29
[2026-02-14 00:44:47] [ERROR] Error formatting datetime '2026-13-02T18:43:29': Failed to parse time string (2026-13-02T18:43:29) at position 6 (3): Unexpected character
[2026-02-14 00:44:47] [INFO]   -> Set field 'dispatched' = null
[2026-02-14 00:44:47] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-14 00:44:47] [INFO]   -> No value found (null or empty)
[2026-02-14 00:44:47] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-14 00:44:47] [INFO]   -> No value found (null or empty)
[2026-02-14 00:44:47] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-14 00:44:47] [INFO]   -> Found value: ENG4
[2026-02-14 00:44:47] [INFO]   -> Set field 'cADVehicleID' = "ENG4"
[2026-02-14 00:44:47] [INFO]   -> Set field 'name' = "ENG4"
[2026-02-14 00:44:47] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-14 00:44:47] [INFO]   -> No value found (null or empty)
[2026-02-14 00:44:47] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-14 00:44:47] [INFO]   -> No value found (null or empty)
[2026-02-14 00:44:47] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-14 00:44:47] [INFO]   -> Found value: 02-13-2026T18:44:11
[2026-02-14 00:44:47] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T18:44:11
[2026-02-14 00:44:47] [ERROR] Error formatting datetime '2026-13-02T18:44:11': Failed to parse time string (2026-13-02T18:44:11) at position 6 (3): Unexpected character
[2026-02-14 00:44:47] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-14 00:44:47] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-14 00:44:47] [INFO]   -> Found value: 02-13-2026T18:44:02
[2026-02-14 00:44:47] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T18:44:02
[2026-02-14 00:44:47] [ERROR] Error formatting datetime '2026-13-02T18:44:02': Failed to parse time string (2026-13-02T18:44:02) at position 6 (3): Unexpected character
[2026-02-14 00:44:47] [INFO]   -> Set field 'timedispatch' = null
[2026-02-14 00:44:47] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-14 00:44:47] [INFO]   -> Found value: SDPSFD
[2026-02-14 00:44:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-14 00:44:47] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-14 00:44:47] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-14 00:44:47] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04648","cADNumber":"26-04648","incidentLocationStreetNumber":1008,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"MDMC","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-AIRCRAFT STANDBY","dispatchNotes":"02-13-2026 18:41:03|AIR CRAFT LANDING IN 25MIN\n\nAIR EVAC 24","cADLog":"02-13-2026 18:41:03|AIR CRAFT LANDING IN 25MIN\n\nAIR EVAC 24","alarm":null,"dispatched":null,"cADVehicleID":"ENG4","name":"ENG4","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-14 00:44:47] [INFO] Number of extracted fields: 21
[2026-02-14 00:44:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-14 00:44:47] [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-02-14 00:44:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-14 00:44:47] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-14 00:44:47] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-14 00:44:47] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-14 00:44:47] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-14 00:44:47] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-14 00:44:47] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e875662f9c
[2026-02-14 00:44:49] [INFO] Created new Dispatches record with ID: 698fc580453e88f1d
[2026-02-14 00:44:49] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-14
[2026-02-14 00:44:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04648.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-14/SDPSFD_26-04648.xml
[2026-02-14 00:44:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04648.xml
[2026-02-14 01:34:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016806_20260214_013413.XML
[2026-02-14 01:34:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016806_20260214_013413.XML for user: 68f1466aed072ad4a
[2026-02-14 01:34:13] [INFO] File size: 5504 bytes
[2026-02-14 01:34:13] [INFO] Created FTPFiles record with ID: 698fd115a25f5db8e
[2026-02-14 01:34:13] [INFO] About to extract fields from XML. File size: 5504 bytes
[2026-02-14 01:34:13] [INFO] Number of mappings: 28
[2026-02-14 01:34:13] [INFO] Starting XML parsing. Content length: 5504
[2026-02-14 01:34:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 01:34:13] [INFO] Processing 28 field mappings
[2026-02-14 01:34:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 01:34:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 01:34:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 01:34:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-14 01:34:13] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-02-14 01:34:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-02-14 01:34:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 01:34:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-14 01:34:13] [INFO]   -> Found value: 2026000438
[2026-02-14 01:34:13] [INFO]   -> Set field 'incidentInternalId' = "2026000438"
[2026-02-14 01:34:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000438"
[2026-02-14 01:34:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 01:34:13] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-02-14 01:34:13] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-02-14 01:34:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 01:34:13] [INFO]   -> Found value: 10135
[2026-02-14 01:34:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10135
[2026-02-14 01:34:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 01:34:13] [INFO]   -> Found value: TN
[2026-02-14 01:34:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 01:34:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 01:34:13] [INFO]   -> Found value: 38582
[2026-02-14 01:34:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-02-14 01:34:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 01:34:13] [INFO]   -> Found value: 36.12403
[2026-02-14 01:34:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12402999999999764213498565368354320526123046875
[2026-02-14 01:34:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 01:34:13] [INFO]   -> Found value: -85.68958
[2026-02-14 01:34:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.689580000000006521077011711895465850830078125
[2026-02-14 01:34:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 01:34:13] [INFO]   -> Found value: 2026-02-13 19:28:02
[2026-02-14 01:34:13] [INFO]   -> Set field 'alarm' = "2026-02-13 19:28:02"
[2026-02-14 01:34:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 01:34:13] [INFO]   -> Found value: 2026-02-13 19:34:03
[2026-02-14 01:34:13] [INFO]   -> Set field 'dispatched' = "2026-02-13 19:34:03"
[2026-02-14 01:34:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 01:34:13] [INFO]   -> Found value: OLD BAXTER RD/CRAWFORD RD
[2026-02-14 01:34:13] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/CRAWFORD RD"
[2026-02-14 01:34:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 01:34:13] [INFO]   -> Found value: TK31
[2026-02-14 01:34:13] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-02-14 01:34:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 01:34:13] [INFO]   -> Found value: 2026-02-13 19:34:03
[2026-02-14 01:34:13] [INFO]   -> Set field 'timedispatch' = "2026-02-13 19:34:03"
[2026-02-14 01:34:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 01:34:13] [INFO]   -> No value found (null or empty)
[2026-02-14 01:34:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 01:34:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 01:34:13] [INFO]   -> Found value: 20260016806
[2026-02-14 01:34:13] [INFO]   -> Set field 'policeReportNumber' = "20260016806"
[2026-02-14 01:34:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 01:34:13] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02/13/26 19:33:46 ECLEMENS] CALLER IS UNSURE THE EXACT ADDRE...
[2026-02-14 01:34:13] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/13\/26 19:33:46 ECLEMENS] CALLER IS UNSURE THE EXACT ADDRESS \/\/ STATED THIS IS GOING TO BE THE FIRST HOUSE ON THE RIGHT OF SCOTT LEE RD  [02\/13\/26 19:32:26 EROACH] THIS IS TYPICALLY AN ABANDONDED TRAILER  [02\/13\/26 19:30:25 EROACH] HORRIBLE SMELL COMING FROM THE MOBILE HOME\/\/ HAS BEEN BURNING ALL DAY \/\/ UNATTENDED  [02\/13\/26 19:30:04 EROACH] TRAILER ON FIRE  [02\/13\/26 19:28:21 EROACH]"
[2026-02-14 01:34:13] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/13\/26 19:33:46 ECLEMENS] CALLER IS UNSURE THE EXACT ADDRESS \/\/ STATED THIS IS GOING TO BE THE FIRST HOUSE ON THE RIGHT OF SCOTT LEE RD  [02\/13\/26 19:32:26 EROACH] THIS IS TYPICALLY AN ABANDONDED TRAILER  [02\/13\/26 19:30:25 EROACH] HORRIBLE SMELL COMING FROM THE MOBILE HOME\/\/ HAS BEEN BURNING ALL DAY \/\/ UNATTENDED  [02\/13\/26 19:30:04 EROACH] TRAILER ON FIRE  [02\/13\/26 19:28:21 EROACH]"
[2026-02-14 01:34:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 01:34:13] [INFO]   -> Found value: SILVER POINT
[2026-02-14 01:34:13] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-02-14 01:34:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 01:34:13] [INFO]   -> Found value: SCOTT LEE
[2026-02-14 01:34:13] [INFO]   -> Set field 'streetName' = "SCOTT LEE"
[2026-02-14 01:34:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 01:34:13] [INFO]   -> Found value: RD
[2026-02-14 01:34:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-14 01:34:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 01:34:13] [INFO]   -> Found value: 10135 SCOTT LEE RD
[2026-02-14 01:34:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10135 SCOTT LEE RD"
[2026-02-14 01:34:13] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 01:34:13] [INFO] Concatenating street name and type
[2026-02-14 01:34:13] [INFO]   -> Combined street name: SCOTT LEE RD
[2026-02-14 01:34:13] [INFO] Built locationCoordinates from lat/lng: 36.12403,-85.68958
[2026-02-14 01:34:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000438","dispatchRunNumber":"2026000438","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":10135,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.12402999999999764213498565368354320526123046875,"nERISIncidentLongitude":-85.689580000000006521077011711895465850830078125,"alarm":"2026-02-13 19:28:02","dispatched":"2026-02-13 19:34:03","incidentLocationCross":"OLD BAXTER RD\/CRAWFORD RD","cADVehicleID":"TK31","timedispatch":"2026-02-13 19:34:03","policeReportNumber":"20260016806","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/13\/26 19:33:46 ECLEMENS] CALLER IS UNSURE THE EXACT ADDRESS \/\/ STATED THIS IS GOING TO BE THE FIRST HOUSE ON THE RIGHT OF SCOTT LEE RD  [02\/13\/26 19:32:26 EROACH] THIS IS TYPICALLY AN ABANDONDED TRAILER  [02\/13\/26 19:30:25 EROACH] HORRIBLE SMELL COMING FROM THE MOBILE HOME\/\/ HAS BEEN BURNING ALL DAY \/\/ UNATTENDED  [02\/13\/26 19:30:04 EROACH] TRAILER ON FIRE  [02\/13\/26 19:28:21 EROACH]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/13\/26 19:33:46 ECLEMENS] CALLER IS UNSURE THE EXACT ADDRESS \/\/ STATED THIS IS GOING TO BE THE FIRST HOUSE ON THE RIGHT OF SCOTT LEE RD  [02\/13\/26 19:32:26 EROACH] THIS IS TYPICALLY AN ABANDONDED TRAILER  [02\/13\/26 19:30:25 EROACH] HORRIBLE SMELL COMING FROM THE MOBILE HOME\/\/ HAS BEEN BURNING ALL DAY \/\/ UNATTENDED  [02\/13\/26 19:30:04 EROACH] TRAILER ON FIRE  [02\/13\/26 19:28:21 EROACH]","incidentLocationCity":"SILVER POINT","streetName":"SCOTT LEE RD","incidentAddressTextVersionStreet":"10135 SCOTT LEE RD","locationCoordinates":"36.12403,-85.68958"}
[2026-02-14 01:34:13] [INFO] Number of extracted fields: 21
[2026-02-14 01:34:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-02-14 01:34:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-14 01:34:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-02-14 01:34:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-14 01:34:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-14 01:34:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-02-14 01:34:13] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-14 01:34:13] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-14 01:34:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-14 01:34:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-14 01:34:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-14 01:34:14] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-02-14 01:34:24] [INFO] Created new Dispatches record with ID: 698fd1166d6d1ab57
[2026-02-14 01:34:24] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 01:34:24] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 01:34:27] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 01:34:27] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016806_20260214_013413.XML: Failed to upload file to V2 FTP server: /PCFD_20260016806_20260214_013413.XML
[2026-02-14 01:34:27] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 01:44:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:44:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 01:44:23] [INFO] File size: 10889 bytes
[2026-02-14 01:44:23] [INFO] Created FTPFiles record with ID: 698fd3778473257a7
[2026-02-14 01:44:23] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 01:44:23] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14
[2026-02-14 01:44:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945.xml
[2026-02-14 01:44:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:44:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:44:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 01:44:49] [INFO] File size: 13130 bytes
[2026-02-14 01:44:49] [INFO] Created FTPFiles record with ID: 698fd391a8a0719e1
[2026-02-14 01:44:49] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 01:44:49] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771033489.xml
[2026-02-14 01:44:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771033489.xml
[2026-02-14 01:44:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:44:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:44:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 01:44:55] [INFO] File size: 14720 bytes
[2026-02-14 01:44:55] [INFO] Created FTPFiles record with ID: 698fd3975395d5bf8
[2026-02-14 01:44:55] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 01:44:55] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771033495.xml
[2026-02-14 01:44:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771033495.xml
[2026-02-14 01:44:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:45:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:45:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 01:45:03] [INFO] File size: 17587 bytes
[2026-02-14 01:45:03] [INFO] Created FTPFiles record with ID: 698fd39f6b27133ab
[2026-02-14 01:45:03] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 01:45:03] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771033503.xml
[2026-02-14 01:45:03] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771033503.xml
[2026-02-14 01:45:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:45:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:45:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 01:45:05] [INFO] File size: 19826 bytes
[2026-02-14 01:45:05] [INFO] Created FTPFiles record with ID: 698fd3a174f457bdc
[2026-02-14 01:45:05] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 01:45:05] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771033505.xml
[2026-02-14 01:45:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771033505.xml
[2026-02-14 01:45:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 01:52:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04650.xml
[2026-02-14 01:52:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04650.xml for user: 68d56363ec1209189
[2026-02-14 01:52:43] [INFO] File size: 1922 bytes
[2026-02-14 01:52:43] [INFO] Created FTPFiles record with ID: 698fd56bc200cbdb0
[2026-02-14 01:52:43] [INFO] About to extract fields from XML. File size: 1922 bytes
[2026-02-14 01:52:43] [INFO] Number of mappings: 21
[2026-02-14 01:52:43] [INFO] Starting XML parsing. Content length: 1922
[2026-02-14 01:52:43] [INFO] XML parsed successfully. Root element: Incident
[2026-02-14 01:52:43] [INFO] Processing 21 field mappings
[2026-02-14 01:52:43] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-14 01:52:43] [INFO]   -> Found value: 26-04650
[2026-02-14 01:52:43] [INFO]   -> Set field 'dispatchRunNumber' = "26-04650"
[2026-02-14 01:52:43] [INFO]   -> Set field 'cADNumber' = "26-04650"
[2026-02-14 01:52:43] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-14 01:52:43] [INFO]   -> Found value: 6435
[2026-02-14 01:52:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6435
[2026-02-14 01:52:43] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-14 01:52:43] [INFO]   -> Found value: STATE HIGHWAY Z
[2026-02-14 01:52:43] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY Z"
[2026-02-14 01:52:43] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-14 01:52:43] [INFO]   -> No value found (null or empty)
[2026-02-14 01:52:43] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-14 01:52:43] [INFO]   -> Found value: SIKESTON
[2026-02-14 01:52:43] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-14 01:52:43] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-14 01:52:43] [INFO]   -> No value found (null or empty)
[2026-02-14 01:52:43] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-14 01:52:43] [INFO]   -> No value found (null or empty)
[2026-02-14 01:52:43] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-14 01:52:43] [INFO]   -> No value found (null or empty)
[2026-02-14 01:52:43] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-14 01:52:43] [INFO]   -> Found value: 0
[2026-02-14 01:52:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-14 01:52:43] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-14 01:52:43] [INFO]   -> Found value: 0
[2026-02-14 01:52:43] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-14 01:52:43] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-14 01:52:43] [INFO]   -> Found value: MEDICAL
[2026-02-14 01:52:43] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-02-14 01:52:43] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026 19:01:17|Call Received on 02/13/2026 @ 19:01
27 YR OLD M
HIGH BLOOD PRESSURE
CHEST PAIN 0...
[2026-02-14 01:52:43] [INFO]   -> Set field 'dispatchNotes' = "02-13-2026 19:01:17|Call Received on 02\/13\/2026 @ 19:01\n27 YR OLD M\nHIGH BLOOD PRESSURE\nCHEST PAIN 02-13-2026 19:08:19|1707 ENROUTE TO STATION 2 02-13-2026 19:11:28|1752 ENROUTE TIMES 1 02-13-2026 19:33:26|ONE SIGNED REFUSAL 02-13-2026 19:34:27|Disposition - SSCA:  RPT 02-13-2026 19:34:41|Disposition - SSCA UNIT:  RPT"
[2026-02-14 01:52:43] [INFO]   -> Set field 'cADLog' = "02-13-2026 19:01:17|Call Received on 02\/13\/2026 @ 19:01\n27 YR OLD M\nHIGH BLOOD PRESSURE\nCHEST PAIN 02-13-2026 19:08:19|1707 ENROUTE TO STATION 2 02-13-2026 19:11:28|1752 ENROUTE TIMES 1 02-13-2026 19:33:26|ONE SIGNED REFUSAL 02-13-2026 19:34:27|Disposition - SSCA:  RPT 02-13-2026 19:34:41|Disposition - SSCA UNIT:  RPT"
[2026-02-14 01:52:43] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026T19:04:21
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:04:21
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:04:21': Failed to parse time string (2026-13-02T19:04:21) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'alarm' = null
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:04:21
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:04:21': Failed to parse time string (2026-13-02T19:04:21) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'dispatched' = null
[2026-02-14 01:52:43] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026T19:16:21
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:16:21
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:16:21': Failed to parse time string (2026-13-02T19:16:21) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'onScene' = null
[2026-02-14 01:52:43] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026T19:52:10
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:52:10
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:52:10': Failed to parse time string (2026-13-02T19:52:10) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'cleared' = null
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:52:10
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:52:10': Failed to parse time string (2026-13-02T19:52:10) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'inService' = null
[2026-02-14 01:52:43] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-14 01:52:43] [INFO]   -> Found value: 1752
[2026-02-14 01:52:43] [INFO]   -> Set field 'cADVehicleID' = 1752
[2026-02-14 01:52:43] [INFO]   -> Set field 'name' = "1752"
[2026-02-14 01:52:43] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026T19:11:12
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:11:12
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:11:12': Failed to parse time string (2026-13-02T19:11:12) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-14 01:52:43] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026T19:16:21
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:16:21
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:16:21': Failed to parse time string (2026-13-02T19:16:21) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'timeonscene' = null
[2026-02-14 01:52:43] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026T19:52:10
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:52:10
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:52:10': Failed to parse time string (2026-13-02T19:52:10) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-14 01:52:43] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-14 01:52:43] [INFO]   -> Found value: 02-13-2026T19:11:10
[2026-02-14 01:52:43] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T19:11:10
[2026-02-14 01:52:43] [ERROR] Error formatting datetime '2026-13-02T19:11:10': Failed to parse time string (2026-13-02T19:11:10) at position 6 (3): Unexpected character
[2026-02-14 01:52:43] [INFO]   -> Set field 'timedispatch' = null
[2026-02-14 01:52:43] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-14 01:52:43] [INFO]   -> Found value: SCRFD
[2026-02-14 01:52:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-14 01:52:43] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-14 01:52:43] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-14 01:52:43] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04650","cADNumber":"26-04650","incidentLocationStreetNumber":6435,"streetName":"STATE HIGHWAY Z","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"02-13-2026 19:01:17|Call Received on 02\/13\/2026 @ 19:01\n27 YR OLD M\nHIGH BLOOD PRESSURE\nCHEST PAIN 02-13-2026 19:08:19|1707 ENROUTE TO STATION 2 02-13-2026 19:11:28|1752 ENROUTE TIMES 1 02-13-2026 19:33:26|ONE SIGNED REFUSAL 02-13-2026 19:34:27|Disposition - SSCA:  RPT 02-13-2026 19:34:41|Disposition - SSCA UNIT:  RPT","cADLog":"02-13-2026 19:01:17|Call Received on 02\/13\/2026 @ 19:01\n27 YR OLD M\nHIGH BLOOD PRESSURE\nCHEST PAIN 02-13-2026 19:08:19|1707 ENROUTE TO STATION 2 02-13-2026 19:11:28|1752 ENROUTE TIMES 1 02-13-2026 19:33:26|ONE SIGNED REFUSAL 02-13-2026 19:34:27|Disposition - SSCA:  RPT 02-13-2026 19:34:41|Disposition - SSCA UNIT:  RPT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1752,"name":"1752","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-02-14 01:52:43] [INFO] Number of extracted fields: 23
[2026-02-14 01:52:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-14 01:52:43] [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-02-14 01:52:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-14 01:52:43] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-14 01:52:44] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-14 01:52:44] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-14 01:52:44] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-14 01:52:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-14 01:52:44] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-02-14 01:52:44] [INFO] Found existing Dispatch with cADNumber '26-04650', ID: 698fca1983cd33340 - will update instead of create
[2026-02-14 01:52:44] [INFO] Updated existing Dispatches record with ID: 698fca1983cd33340
[2026-02-14 01:52:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04650.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-14/SCRFD_26-04650.xml
[2026-02-14 01:52:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04650.xml
[2026-02-14 02:02:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016826_20260214_020213.XML
[2026-02-14 02:02:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016826_20260214_020213.XML for user: 68f1466aed072ad4a
[2026-02-14 02:02:13] [INFO] File size: 5265 bytes
[2026-02-14 02:02:13] [INFO] Created FTPFiles record with ID: 698fd7a5bb6dc66bf
[2026-02-14 02:02:13] [INFO] About to extract fields from XML. File size: 5265 bytes
[2026-02-14 02:02:13] [INFO] Number of mappings: 28
[2026-02-14 02:02:13] [INFO] Starting XML parsing. Content length: 5265
[2026-02-14 02:02:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 02:02:13] [INFO] Processing 28 field mappings
[2026-02-14 02:02:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 02:02:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 02:02:13] [INFO]   -> Found value: BFD
[2026-02-14 02:02:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-02-14 02:02:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026000047
[2026-02-14 02:02:13] [INFO]   -> Set field 'incidentInternalId' = "2026000047"
[2026-02-14 02:02:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000047"
[2026-02-14 02:02:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 02:02:13] [INFO]   -> Found value: ASSIST OTHER AGENCY
[2026-02-14 02:02:13] [INFO]   -> Set field 'incidentTypeValue1' = "ASSIST OTHER AGENCY"
[2026-02-14 02:02:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 02:02:13] [INFO]   -> Found value: 10135
[2026-02-14 02:02:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10135
[2026-02-14 02:02:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 02:02:13] [INFO]   -> Found value: TN
[2026-02-14 02:02:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 02:02:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 02:02:13] [INFO]   -> Found value: 38582
[2026-02-14 02:02:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-02-14 02:02:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 02:02:13] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 02:02:13] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 02:02:13] [INFO]   -> Found value: 36.12403
[2026-02-14 02:02:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12402999999999764213498565368354320526123046875
[2026-02-14 02:02:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 02:02:13] [INFO]   -> Found value: -85.68958
[2026-02-14 02:02:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.689580000000006521077011711895465850830078125
[2026-02-14 02:02:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:01:59
[2026-02-14 02:02:13] [INFO]   -> Set field 'alarm' = "2026-02-13 20:01:59"
[2026-02-14 02:02:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:01:58
[2026-02-14 02:02:13] [INFO]   -> Set field 'dispatched' = "2026-02-13 20:01:58"
[2026-02-14 02:02:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:01:58
[2026-02-14 02:02:13] [INFO]   -> Set field 'enroute' = "2026-02-13 20:01:58"
[2026-02-14 02:02:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:01:58
[2026-02-14 02:02:13] [INFO]   -> Set field 'onScene' = "2026-02-13 20:01:58"
[2026-02-14 02:02:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:02:05
[2026-02-14 02:02:13] [INFO]   -> Set field 'cleared' = "2026-02-13 20:02:05"
[2026-02-14 02:02:13] [INFO]   -> Set field 'inService' = "2026-02-13 20:02:05"
[2026-02-14 02:02:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 02:02:13] [INFO]   -> Found value: OLD BAXTER RD/CRAWFORD RD
[2026-02-14 02:02:13] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/CRAWFORD RD"
[2026-02-14 02:02:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 02:02:13] [INFO]   -> Found value: B1103
[2026-02-14 02:02:13] [INFO]   -> Set field 'cADVehicleID' = "B1103"
[2026-02-14 02:02:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:01:58
[2026-02-14 02:02:13] [INFO]   -> Set field 'timedispatch' = "2026-02-13 20:01:58"
[2026-02-14 02:02:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:01:58
[2026-02-14 02:02:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-13 20:01:58"
[2026-02-14 02:02:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:01:58
[2026-02-14 02:02:13] [INFO]   -> Set field 'timeonscene' = "2026-02-13 20:01:58"
[2026-02-14 02:02:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 02:02:13] [INFO]   -> Found value: 2026-02-13 20:02:05
[2026-02-14 02:02:13] [INFO]   -> Set field 'timeunitclear' = "2026-02-13 20:02:05"
[2026-02-14 02:02:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 02:02:13] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 02:02:13] [INFO]   -> Found value: 20260016826
[2026-02-14 02:02:13] [INFO]   -> Set field 'policeReportNumber' = "20260016826"
[2026-02-14 02:02:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 02:02:13] [INFO]   -> Found value: Event spawned from ASSIST OTHER AGENCY.  [02/13/2026 20:01:59 EROACH] B1103 - COMMUNICATION ISSUE// ...
[2026-02-14 02:02:13] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:01:59 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]"
[2026-02-14 02:02:13] [INFO]   -> Set field 'cADLog' = "Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:01:59 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]"
[2026-02-14 02:02:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 02:02:13] [INFO]   -> Found value: SILVER POINT
[2026-02-14 02:02:13] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-02-14 02:02:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 02:02:13] [INFO]   -> Found value: SCOTT LEE
[2026-02-14 02:02:13] [INFO]   -> Set field 'streetName' = "SCOTT LEE"
[2026-02-14 02:02:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 02:02:13] [INFO]   -> Found value: RD
[2026-02-14 02:02:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-14 02:02:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 02:02:13] [INFO]   -> Found value: 10135 SCOTT LEE RD
[2026-02-14 02:02:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10135 SCOTT LEE RD"
[2026-02-14 02:02:13] [INFO] Finished extracting fields. Total fields extracted: 28
[2026-02-14 02:02:13] [INFO] Concatenating street name and type
[2026-02-14 02:02:13] [INFO]   -> Combined street name: SCOTT LEE RD
[2026-02-14 02:02:13] [INFO] Built locationCoordinates from lat/lng: 36.12403,-85.68958
[2026-02-14 02:02:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000047","dispatchRunNumber":"2026000047","incidentTypeValue1":"ASSIST OTHER AGENCY","incidentLocationStreetNumber":10135,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.12402999999999764213498565368354320526123046875,"nERISIncidentLongitude":-85.689580000000006521077011711895465850830078125,"alarm":"2026-02-13 20:01:59","dispatched":"2026-02-13 20:01:58","enroute":"2026-02-13 20:01:58","onScene":"2026-02-13 20:01:58","cleared":"2026-02-13 20:02:05","inService":"2026-02-13 20:02:05","incidentLocationCross":"OLD BAXTER RD\/CRAWFORD RD","cADVehicleID":"B1103","timedispatch":"2026-02-13 20:01:58","timeenroutetoscene":"2026-02-13 20:01:58","timeonscene":"2026-02-13 20:01:58","timeunitclear":"2026-02-13 20:02:05","policeReportNumber":"20260016826","dispatchNotes":"Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:01:59 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]","cADLog":"Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:01:59 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"SCOTT LEE RD","incidentAddressTextVersionStreet":"10135 SCOTT LEE RD","locationCoordinates":"36.12403,-85.68958"}
[2026-02-14 02:02:13] [INFO] Number of extracted fields: 28
[2026-02-14 02:02:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-02-14 02:02:13] [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-02-14 02:02:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-02-14 02:02:13] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-14 02:02:13] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-14 02:02:14] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-14 02:02:14] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-14 02:02:14] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-14 02:02:14] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"ASSIST OTHER AGENCY","saasclientId":"68d1820f7ad4dadbd","name":"ASSIST OTHER AGENCY"}
[2026-02-14 02:02:14] [INFO] Created new IncidentTypeMapping with ID: 698fd7a67f46e3170
[2026-02-14 02:02:18] [INFO] Created new Dispatches record with ID: 698fd7a6cf47b3ebb
[2026-02-14 02:02:18] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 02:02:18] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 02:02:22] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 02:02:22] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016826_20260214_020213.XML: Failed to upload file to V2 FTP server: /BFD_20260016826_20260214_020213.XML
[2026-02-14 02:02:22] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 02:02:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016827_20260214_020243.XML
[2026-02-14 02:02:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016827_20260214_020243.XML for user: 68f1466aed072ad4a
[2026-02-14 02:02:43] [INFO] File size: 5192 bytes
[2026-02-14 02:02:43] [INFO] Created FTPFiles record with ID: 698fd7c3a112fed67
[2026-02-14 02:02:43] [INFO] About to extract fields from XML. File size: 5192 bytes
[2026-02-14 02:02:43] [INFO] Number of mappings: 28
[2026-02-14 02:02:43] [INFO] Starting XML parsing. Content length: 5192
[2026-02-14 02:02:43] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 02:02:43] [INFO] Processing 28 field mappings
[2026-02-14 02:02:43] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 02:02:43] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 02:02:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 02:02:43] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-14 02:02:43] [INFO]   -> Found value: BFD
PCFD
[2026-02-14 02:02:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCFD"
[2026-02-14 02:02:43] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 02:02:43] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026000048
[2026-02-14 02:02:43] [INFO]   -> Set field 'incidentInternalId' = "2026000048"
[2026-02-14 02:02:43] [INFO]   -> Set field 'dispatchRunNumber' = "2026000048"
[2026-02-14 02:02:43] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 02:02:43] [INFO]   -> Found value: ASSIST OTHER AGENCY
[2026-02-14 02:02:43] [INFO]   -> Set field 'incidentTypeValue1' = "ASSIST OTHER AGENCY"
[2026-02-14 02:02:43] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 02:02:43] [INFO]   -> Found value: 10135
[2026-02-14 02:02:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10135
[2026-02-14 02:02:43] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 02:02:43] [INFO]   -> Found value: TN
[2026-02-14 02:02:43] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 02:02:43] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 02:02:43] [INFO]   -> Found value: 38582
[2026-02-14 02:02:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-02-14 02:02:43] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 02:02:43] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:43] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 02:02:43] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:43] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 02:02:43] [INFO]   -> Found value: 36.12403
[2026-02-14 02:02:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12402999999999764213498565368354320526123046875
[2026-02-14 02:02:43] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 02:02:43] [INFO]   -> Found value: -85.68958
[2026-02-14 02:02:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.689580000000006521077011711895465850830078125
[2026-02-14 02:02:43] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026-02-13 20:02:33
[2026-02-14 02:02:43] [INFO]   -> Set field 'alarm' = "2026-02-13 20:02:33"
[2026-02-14 02:02:43] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026-02-13 20:02:33
[2026-02-14 02:02:43] [INFO]   -> Set field 'dispatched' = "2026-02-13 20:02:33"
[2026-02-14 02:02:43] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026-02-13 20:02:33
[2026-02-14 02:02:43] [INFO]   -> Set field 'enroute' = "2026-02-13 20:02:33"
[2026-02-14 02:02:43] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026-02-13 20:02:33
[2026-02-14 02:02:43] [INFO]   -> Set field 'onScene' = "2026-02-13 20:02:33"
[2026-02-14 02:02:43] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 02:02:43] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:43] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 02:02:43] [INFO]   -> Found value: OLD BAXTER RD/CRAWFORD RD
[2026-02-14 02:02:43] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/CRAWFORD RD"
[2026-02-14 02:02:43] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 02:02:43] [INFO]   -> Found value: B1103
[2026-02-14 02:02:43] [INFO]   -> Set field 'cADVehicleID' = "B1103"
[2026-02-14 02:02:43] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026-02-13 20:02:33
[2026-02-14 02:02:43] [INFO]   -> Set field 'timedispatch' = "2026-02-13 20:02:33"
[2026-02-14 02:02:43] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026-02-13 20:02:33
[2026-02-14 02:02:43] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-13 20:02:33"
[2026-02-14 02:02:43] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 02:02:43] [INFO]   -> Found value: 2026-02-13 20:02:33
[2026-02-14 02:02:43] [INFO]   -> Set field 'timeonscene' = "2026-02-13 20:02:33"
[2026-02-14 02:02:43] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 02:02:43] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:43] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 02:02:43] [INFO]   -> No value found (null or empty)
[2026-02-14 02:02:43] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 02:02:43] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 02:02:43] [INFO]   -> Found value: 20260016827
[2026-02-14 02:02:43] [INFO]   -> Set field 'policeReportNumber' = "20260016827"
[2026-02-14 02:02:43] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 02:02:43] [INFO]   -> Found value: Event spawned from ASSIST OTHER AGENCY.  [02/13/2026 20:02:33 EROACH] B1103 - COMMUNICATION ISSUE// ...
[2026-02-14 02:02:43] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:33 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]"
[2026-02-14 02:02:43] [INFO]   -> Set field 'cADLog' = "Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:33 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]"
[2026-02-14 02:02:43] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 02:02:43] [INFO]   -> Found value: SILVER POINT
[2026-02-14 02:02:43] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-02-14 02:02:43] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 02:02:43] [INFO]   -> Found value: SCOTT LEE
[2026-02-14 02:02:43] [INFO]   -> Set field 'streetName' = "SCOTT LEE"
[2026-02-14 02:02:43] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 02:02:43] [INFO]   -> Found value: RD
[2026-02-14 02:02:43] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-14 02:02:43] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 02:02:43] [INFO]   -> Found value: 10135 SCOTT LEE RD
[2026-02-14 02:02:43] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10135 SCOTT LEE RD"
[2026-02-14 02:02:43] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-02-14 02:02:43] [INFO] Concatenating street name and type
[2026-02-14 02:02:43] [INFO]   -> Combined street name: SCOTT LEE RD
[2026-02-14 02:02:43] [INFO] Built locationCoordinates from lat/lng: 36.12403,-85.68958
[2026-02-14 02:02:43] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCFD","incidentInternalId":"2026000048","dispatchRunNumber":"2026000048","incidentTypeValue1":"ASSIST OTHER AGENCY","incidentLocationStreetNumber":10135,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.12402999999999764213498565368354320526123046875,"nERISIncidentLongitude":-85.689580000000006521077011711895465850830078125,"alarm":"2026-02-13 20:02:33","dispatched":"2026-02-13 20:02:33","enroute":"2026-02-13 20:02:33","onScene":"2026-02-13 20:02:33","incidentLocationCross":"OLD BAXTER RD\/CRAWFORD RD","cADVehicleID":"B1103","timedispatch":"2026-02-13 20:02:33","timeenroutetoscene":"2026-02-13 20:02:33","timeonscene":"2026-02-13 20:02:33","policeReportNumber":"20260016827","dispatchNotes":"Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:33 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]","cADLog":"Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:33 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"SCOTT LEE RD","incidentAddressTextVersionStreet":"10135 SCOTT LEE RD","locationCoordinates":"36.12403,-85.68958"}
[2026-02-14 02:02:43] [INFO] Number of extracted fields: 25
[2026-02-14 02:02:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCFD'
[2026-02-14 02:02:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCFD', Parsed IDs = ["BFD","PCFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-14 02:02:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCFD"]
[2026-02-14 02:02:43] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-14 02:02:43] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-14 02:02:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD"]
[2026-02-14 02:02:43] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-14 02:02:43] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-14 02:02:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-14 02:02:43] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-02-14 02:02:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-14 02:02:44] [INFO] Found existing IncidentTypeMapping with ID: 698fd7a67f46e3170
[2026-02-14 02:02:48] [INFO] Created new Dispatches record with ID: 698fd7c480c612f7e
[2026-02-14 02:02:48] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 02:02:48] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 02:02:51] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 02:02:51] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016827_20260214_020243.XML: Failed to upload file to V2 FTP server: /BFD_20260016827_20260214_020243.XML
[2026-02-14 02:02:51] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 02:03:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016828_20260214_020303.XML
[2026-02-14 02:03:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016828_20260214_020303.XML for user: 68f1466aed072ad4a
[2026-02-14 02:03:03] [INFO] File size: 5381 bytes
[2026-02-14 02:03:03] [INFO] Created FTPFiles record with ID: 698fd7d7e02aa4be4
[2026-02-14 02:03:03] [INFO] About to extract fields from XML. File size: 5381 bytes
[2026-02-14 02:03:03] [INFO] Number of mappings: 28
[2026-02-14 02:03:03] [INFO] Starting XML parsing. Content length: 5381
[2026-02-14 02:03:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 02:03:03] [INFO] Processing 28 field mappings
[2026-02-14 02:03:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 02:03:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 02:03:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 02:03:03] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-14 02:03:03] [INFO]   -> Found value: BFD
PCFD
BFD
[2026-02-14 02:03:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCFD\nBFD"
[2026-02-14 02:03:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 02:03:03] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026000049
[2026-02-14 02:03:03] [INFO]   -> Set field 'incidentInternalId' = "2026000049"
[2026-02-14 02:03:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000049"
[2026-02-14 02:03:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 02:03:03] [INFO]   -> Found value: ASSIST OTHER AGENCY
[2026-02-14 02:03:03] [INFO]   -> Set field 'incidentTypeValue1' = "ASSIST OTHER AGENCY"
[2026-02-14 02:03:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 02:03:03] [INFO]   -> Found value: 10135
[2026-02-14 02:03:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 10135
[2026-02-14 02:03:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 02:03:03] [INFO]   -> Found value: TN
[2026-02-14 02:03:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 02:03:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 02:03:03] [INFO]   -> Found value: 38582
[2026-02-14 02:03:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38582
[2026-02-14 02:03:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 02:03:03] [INFO]   -> No value found (null or empty)
[2026-02-14 02:03:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 02:03:03] [INFO]   -> No value found (null or empty)
[2026-02-14 02:03:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 02:03:03] [INFO]   -> Found value: 36.12403
[2026-02-14 02:03:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12402999999999764213498565368354320526123046875
[2026-02-14 02:03:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 02:03:03] [INFO]   -> Found value: -85.68958
[2026-02-14 02:03:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.689580000000006521077011711895465850830078125
[2026-02-14 02:03:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026-02-13 20:02:43
[2026-02-14 02:03:03] [INFO]   -> Set field 'alarm' = "2026-02-13 20:02:43"
[2026-02-14 02:03:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026-02-13 20:02:49
[2026-02-14 02:03:03] [INFO]   -> Set field 'dispatched' = "2026-02-13 20:02:49"
[2026-02-14 02:03:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026-02-13 20:02:49
[2026-02-14 02:03:03] [INFO]   -> Set field 'enroute' = "2026-02-13 20:02:49"
[2026-02-14 02:03:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026-02-13 20:02:49
[2026-02-14 02:03:03] [INFO]   -> Set field 'onScene' = "2026-02-13 20:02:49"
[2026-02-14 02:03:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 02:03:03] [INFO]   -> No value found (null or empty)
[2026-02-14 02:03:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 02:03:03] [INFO]   -> Found value: OLD BAXTER RD/CRAWFORD RD
[2026-02-14 02:03:03] [INFO]   -> Set field 'incidentLocationCross' = "OLD BAXTER RD\/CRAWFORD RD"
[2026-02-14 02:03:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 02:03:03] [INFO]   -> Found value: B1103
[2026-02-14 02:03:03] [INFO]   -> Set field 'cADVehicleID' = "B1103"
[2026-02-14 02:03:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026-02-13 20:02:49
[2026-02-14 02:03:03] [INFO]   -> Set field 'timedispatch' = "2026-02-13 20:02:49"
[2026-02-14 02:03:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026-02-13 20:02:49
[2026-02-14 02:03:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-13 20:02:49"
[2026-02-14 02:03:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 02:03:03] [INFO]   -> Found value: 2026-02-13 20:02:49
[2026-02-14 02:03:03] [INFO]   -> Set field 'timeonscene' = "2026-02-13 20:02:49"
[2026-02-14 02:03:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 02:03:03] [INFO]   -> No value found (null or empty)
[2026-02-14 02:03:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 02:03:03] [INFO]   -> No value found (null or empty)
[2026-02-14 02:03:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 02:03:03] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 02:03:03] [INFO]   -> Found value: 20260016828
[2026-02-14 02:03:03] [INFO]   -> Set field 'policeReportNumber' = "20260016828"
[2026-02-14 02:03:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 02:03:03] [INFO]   -> Found value: Event spawned from ASSIST OTHER AGENCY.  [02/13/2026 20:02:43 EROACH] B1103 - COMMUNICATION ISSUE// ...
[2026-02-14 02:03:03] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:43 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]"
[2026-02-14 02:03:03] [INFO]   -> Set field 'cADLog' = "Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:43 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]"
[2026-02-14 02:03:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 02:03:03] [INFO]   -> Found value: SILVER POINT
[2026-02-14 02:03:03] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2026-02-14 02:03:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 02:03:03] [INFO]   -> Found value: SCOTT LEE
[2026-02-14 02:03:03] [INFO]   -> Set field 'streetName' = "SCOTT LEE"
[2026-02-14 02:03:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 02:03:03] [INFO]   -> Found value: RD
[2026-02-14 02:03:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-14 02:03:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 02:03:03] [INFO]   -> Found value: 10135 SCOTT LEE RD
[2026-02-14 02:03:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "10135 SCOTT LEE RD"
[2026-02-14 02:03:03] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-02-14 02:03:03] [INFO] Concatenating street name and type
[2026-02-14 02:03:03] [INFO]   -> Combined street name: SCOTT LEE RD
[2026-02-14 02:03:03] [INFO] Built locationCoordinates from lat/lng: 36.12403,-85.68958
[2026-02-14 02:03:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCFD\nBFD","incidentInternalId":"2026000049","dispatchRunNumber":"2026000049","incidentTypeValue1":"ASSIST OTHER AGENCY","incidentLocationStreetNumber":10135,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38582,"nERISIncidentLatitude":36.12402999999999764213498565368354320526123046875,"nERISIncidentLongitude":-85.689580000000006521077011711895465850830078125,"alarm":"2026-02-13 20:02:43","dispatched":"2026-02-13 20:02:49","enroute":"2026-02-13 20:02:49","onScene":"2026-02-13 20:02:49","incidentLocationCross":"OLD BAXTER RD\/CRAWFORD RD","cADVehicleID":"B1103","timedispatch":"2026-02-13 20:02:49","timeenroutetoscene":"2026-02-13 20:02:49","timeonscene":"2026-02-13 20:02:49","policeReportNumber":"20260016828","dispatchNotes":"Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:43 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]","cADLog":"Event spawned from ASSIST OTHER AGENCY.  [02\/13\/2026 20:02:43 EROACH] B1103 - COMMUNICATION ISSUE\/\/  PAGED OUT AS RESIDENTIAL FIRE WENT ENR AFTER TK31  AUTO AID DID NOT POPULATE  [02\/13\/26 20:00:56 EROACH]]","incidentLocationCity":"SILVER POINT","streetName":"SCOTT LEE RD","incidentAddressTextVersionStreet":"10135 SCOTT LEE RD","locationCoordinates":"36.12403,-85.68958"}
[2026-02-14 02:03:03] [INFO] Number of extracted fields: 25
[2026-02-14 02:03:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCFD
BFD'
[2026-02-14 02:03:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCFD
BFD', Parsed IDs = ["BFD","PCFD","BFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-14 02:03:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCFD","BFD"]
[2026-02-14 02:03:03] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-14 02:03:04] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-14 02:03:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD","BFD"]
[2026-02-14 02:03:04] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-14 02:03:04] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-14 02:03:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-14 02:03:04] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-02-14 02:03:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-14 02:03:04] [INFO] Found existing IncidentTypeMapping with ID: 698fd7a67f46e3170
[2026-02-14 02:03:07] [INFO] Created new Dispatches record with ID: 698fd7d8c5fb28cda
[2026-02-14 02:03:07] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 02:03:08] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 02:03:10] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 02:03:10] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016828_20260214_020303.XML: Failed to upload file to V2 FTP server: /BFD_20260016828_20260214_020303.XML
[2026-02-14 02:03:10] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 02:03:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:03:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 02:03:16] [INFO] File size: 46837 bytes
[2026-02-14 02:03:16] [INFO] Created FTPFiles record with ID: 698fd7e48016b4d0e
[2026-02-14 02:03:16] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 02:03:16] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771034596.xml
[2026-02-14 02:03:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771034596.xml
[2026-02-14 02:03:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:06:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:06:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 02:06:03] [INFO] File size: 47806 bytes
[2026-02-14 02:06:04] [INFO] Created FTPFiles record with ID: 698fd88c0fdb00fe5
[2026-02-14 02:06:04] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 02:06:04] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771034764.xml
[2026-02-14 02:06:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771034764.xml
[2026-02-14 02:06:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:13:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:13:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 02:13:30] [INFO] File size: 49421 bytes
[2026-02-14 02:13:30] [INFO] Created FTPFiles record with ID: 698fda4ac613e6ab1
[2026-02-14 02:13:30] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 02:13:30] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771035210.xml
[2026-02-14 02:13:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771035210.xml
[2026-02-14 02:13:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:13:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:13:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 02:13:31] [INFO] File size: 49421 bytes
[2026-02-14 02:13:31] [INFO] Created FTPFiles record with ID: 698fda4b61b287461
[2026-02-14 02:13:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 02:13:31] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771035211.xml
[2026-02-14 02:13:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771035211.xml
[2026-02-14 02:13:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:13:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:13:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml for user: 69320e6a9e3e5ef71
[2026-02-14 02:13:35] [INFO] File size: 50472 bytes
[2026-02-14 02:13:35] [INFO] Created FTPFiles record with ID: 698fda4fd027a2af1
[2026-02-14 02:13:35] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 02:13:35] [INFO] File already exists in archive, using unique name: cfs_2026-009945_1771035215.xml
[2026-02-14 02:13:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-009945_1771035215.xml
[2026-02-14 02:13:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009945.xml
[2026-02-14 02:47:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04655.xml
[2026-02-14 02:47:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04655.xml for user: 68d56363ec1209189
[2026-02-14 02:47:25] [INFO] File size: 2080 bytes
[2026-02-14 02:47:26] [INFO] Created FTPFiles record with ID: 698fe23e088306723
[2026-02-14 02:47:26] [INFO] About to extract fields from XML. File size: 2080 bytes
[2026-02-14 02:47:26] [INFO] Number of mappings: 21
[2026-02-14 02:47:26] [INFO] Starting XML parsing. Content length: 2080
[2026-02-14 02:47:26] [INFO] XML parsed successfully. Root element: Incident
[2026-02-14 02:47:26] [INFO] Processing 21 field mappings
[2026-02-14 02:47:26] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-14 02:47:26] [INFO]   -> Found value: 26-04655
[2026-02-14 02:47:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-04655"
[2026-02-14 02:47:26] [INFO]   -> Set field 'cADNumber' = "26-04655"
[2026-02-14 02:47:26] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-14 02:47:26] [INFO]   -> Found value: 1330
[2026-02-14 02:47:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1330
[2026-02-14 02:47:26] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-14 02:47:26] [INFO]   -> Found value: S MAIN ST
[2026-02-14 02:47:26] [INFO]   -> Set field 'streetName' = "S MAIN ST"
[2026-02-14 02:47:26] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-14 02:47:26] [INFO]   -> No value found (null or empty)
[2026-02-14 02:47:26] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-14 02:47:26] [INFO]   -> No value found (null or empty)
[2026-02-14 02:47:26] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-14 02:47:26] [INFO]   -> Found value: WENDY'S
[2026-02-14 02:47:26] [INFO]   -> Set field 'businessName' = "WENDY'S"
[2026-02-14 02:47:26] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-14 02:47:26] [INFO]   -> No value found (null or empty)
[2026-02-14 02:47:26] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-14 02:47:26] [INFO]   -> No value found (null or empty)
[2026-02-14 02:47:26] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-14 02:47:26] [INFO]   -> Found value: 0
[2026-02-14 02:47:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-14 02:47:26] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-14 02:47:26] [INFO]   -> Found value: 0
[2026-02-14 02:47:26] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-14 02:47:26] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-14 02:47:26] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-02-14 02:47:26] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-02-14 02:47:26] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-14 02:47:26] [INFO]   -> Found value: 02-13-2026 20:10:06|FIRE ALARM
NORTH RESTROOM SMOKE DETECTOR
NO KEYHOLDER 02-13-2026 20:16:56|C92 ON...
[2026-02-14 02:47:26] [INFO]   -> Set field 'dispatchNotes' = "02-13-2026 20:10:06|FIRE ALARM\nNORTH RESTROOM SMOKE DETECTOR\nNO KEYHOLDER 02-13-2026 20:16:56|C92 ON SCENE ADVISED COMMERICAL STRUCTURE NOTHING SHOWING 02-13-2026 20:17:12|C92 ADVISED ANYONE NOT ON SCENE CAN CANCEL DUE TO FALSE ALARM"
[2026-02-14 02:47:26] [INFO]   -> Set field 'cADLog' = "02-13-2026 20:10:06|FIRE ALARM\nNORTH RESTROOM SMOKE DETECTOR\nNO KEYHOLDER 02-13-2026 20:16:56|C92 ON SCENE ADVISED COMMERICAL STRUCTURE NOTHING SHOWING 02-13-2026 20:17:12|C92 ADVISED ANYONE NOT ON SCENE CAN CANCEL DUE TO FALSE ALARM"
[2026-02-14 02:47:26] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-14 02:47:26] [INFO]   -> Found value: 02-13-2026T20:13:05
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:13:05
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:13:05': Failed to parse time string (2026-13-02T20:13:05) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'alarm' = null
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:13:05
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:13:05': Failed to parse time string (2026-13-02T20:13:05) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'dispatched' = null
[2026-02-14 02:47:26] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-14 02:47:26] [INFO]   -> Found value: 02-13-2026T20:14:59
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:14:59
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:14:59': Failed to parse time string (2026-13-02T20:14:59) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'onScene' = null
[2026-02-14 02:47:26] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-14 02:47:26] [INFO]   -> Found value: 02-13-2026T20:45:50
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:45:50
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:45:50': Failed to parse time string (2026-13-02T20:45:50) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'cleared' = null
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:45:50
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:45:50': Failed to parse time string (2026-13-02T20:45:50) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'inService' = null
[2026-02-14 02:47:26] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-14 02:47:26] [INFO]   -> Found value: ENG2
[2026-02-14 02:47:26] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-02-14 02:47:26] [INFO]   -> Set field 'name' = "ENG2"
[2026-02-14 02:47:26] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-14 02:47:26] [INFO]   -> Found value: 02-13-2026T20:15:19
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:15:19
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:15:19': Failed to parse time string (2026-13-02T20:15:19) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-14 02:47:26] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-14 02:47:26] [INFO]   -> No value found (null or empty)
[2026-02-14 02:47:26] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-14 02:47:26] [INFO]   -> Found value: 02-13-2026T20:16:26
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:16:26
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:16:26': Failed to parse time string (2026-13-02T20:16:26) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-14 02:47:26] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-14 02:47:26] [INFO]   -> Found value: 02-13-2026T20:15:18
[2026-02-14 02:47:26] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T20:15:18
[2026-02-14 02:47:26] [ERROR] Error formatting datetime '2026-13-02T20:15:18': Failed to parse time string (2026-13-02T20:15:18) at position 6 (3): Unexpected character
[2026-02-14 02:47:26] [INFO]   -> Set field 'timedispatch' = null
[2026-02-14 02:47:26] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-14 02:47:26] [INFO]   -> Found value: SDPSFD
[2026-02-14 02:47:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-14 02:47:26] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 02:47:26] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-14 02:47:26] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04655","cADNumber":"26-04655","incidentLocationStreetNumber":1330,"streetName":"S MAIN ST","businessName":"WENDY'S","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"02-13-2026 20:10:06|FIRE ALARM\nNORTH RESTROOM SMOKE DETECTOR\nNO KEYHOLDER 02-13-2026 20:16:56|C92 ON SCENE ADVISED COMMERICAL STRUCTURE NOTHING SHOWING 02-13-2026 20:17:12|C92 ADVISED ANYONE NOT ON SCENE CAN CANCEL DUE TO FALSE ALARM","cADLog":"02-13-2026 20:10:06|FIRE ALARM\nNORTH RESTROOM SMOKE DETECTOR\nNO KEYHOLDER 02-13-2026 20:16:56|C92 ON SCENE ADVISED COMMERICAL STRUCTURE NOTHING SHOWING 02-13-2026 20:17:12|C92 ADVISED ANYONE NOT ON SCENE CAN CANCEL DUE TO FALSE ALARM","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-14 02:47:26] [INFO] Number of extracted fields: 22
[2026-02-14 02:47:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-14 02:47:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-02-14 02:47:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-14 02:47:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-14 02:47:26] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-14 02:47:26] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-14 02:47:26] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-14 02:47:26] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-14 02:47:26] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-02-14 02:47:28] [INFO] Created new Dispatches record with ID: 698fe23ebf5c9ce5b
[2026-02-14 02:47:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04655.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-14/SDPSFD_26-04655.xml
[2026-02-14 02:47:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04655.xml
[2026-02-14 03:41:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04658.xml
[2026-02-14 03:41:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04658.xml for user: 68d56363ec1209189
[2026-02-14 03:41:11] [INFO] File size: 2233 bytes
[2026-02-14 03:41:11] [INFO] Created FTPFiles record with ID: 698feed7ade6be12f
[2026-02-14 03:41:11] [INFO] About to extract fields from XML. File size: 2233 bytes
[2026-02-14 03:41:11] [INFO] Number of mappings: 21
[2026-02-14 03:41:11] [INFO] Starting XML parsing. Content length: 2233
[2026-02-14 03:41:11] [INFO] XML parsed successfully. Root element: Incident
[2026-02-14 03:41:11] [INFO] Processing 21 field mappings
[2026-02-14 03:41:11] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-14 03:41:11] [INFO]   -> Found value: 26-04658
[2026-02-14 03:41:11] [INFO]   -> Set field 'dispatchRunNumber' = "26-04658"
[2026-02-14 03:41:11] [INFO]   -> Set field 'cADNumber' = "26-04658"
[2026-02-14 03:41:11] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-14 03:41:11] [INFO]   -> Found value: 225
[2026-02-14 03:41:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 225
[2026-02-14 03:41:11] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-14 03:41:11] [INFO]   -> Found value: RUTH ST
[2026-02-14 03:41:11] [INFO]   -> Set field 'streetName' = "RUTH ST"
[2026-02-14 03:41:11] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-14 03:41:11] [INFO]   -> No value found (null or empty)
[2026-02-14 03:41:11] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-14 03:41:11] [INFO]   -> Found value: SIKESTON
[2026-02-14 03:41:11] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-14 03:41:11] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-14 03:41:11] [INFO]   -> No value found (null or empty)
[2026-02-14 03:41:11] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-14 03:41:11] [INFO]   -> Found value: MO
[2026-02-14 03:41:11] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-14 03:41:11] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-14 03:41:11] [INFO]   -> Found value: 63801
[2026-02-14 03:41:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-14 03:41:11] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-14 03:41:11] [INFO]   -> Found value: 0
[2026-02-14 03:41:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-14 03:41:11] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-14 03:41:11] [INFO]   -> Found value: 0
[2026-02-14 03:41:11] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-14 03:41:11] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-14 03:41:11] [INFO]   -> Found value: FIRE-SMOKE INVESTIGATION
[2026-02-14 03:41:11] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-SMOKE INVESTIGATION"
[2026-02-14 03:41:11] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-14 03:41:11] [INFO]   -> Found value: 02-13-2026 21:25:25|CALLER STATED THERE IS SMOKE COMING FROM THE BACK OF THE RESIDENCE UNK IF IT IS ...
[2026-02-14 03:41:11] [INFO]   -> Set field 'dispatchNotes' = "02-13-2026 21:25:25|CALLER STATED THERE IS SMOKE COMING FROM THE BACK OF THE RESIDENCE UNK IF IT IS THE HOUSE OR SOMETHING IN THE ALLEY 02-13-2026 21:34:30|556 IN AREA ATEMPTING TO LOCATE 02-13-2026 21:34:38|C92 IN AREA 02-13-2026 21:35:59|ENG2 STAGING WAITING FOR CONFORMATION 02-13-2026 21:39:57|C92 MADE CONTACT WITH SUBJECT SAID HE WAS BURNING YARD WASTE IN ALLEY"
[2026-02-14 03:41:11] [INFO]   -> Set field 'cADLog' = "02-13-2026 21:25:25|CALLER STATED THERE IS SMOKE COMING FROM THE BACK OF THE RESIDENCE UNK IF IT IS THE HOUSE OR SOMETHING IN THE ALLEY 02-13-2026 21:34:30|556 IN AREA ATEMPTING TO LOCATE 02-13-2026 21:34:38|C92 IN AREA 02-13-2026 21:35:59|ENG2 STAGING WAITING FOR CONFORMATION 02-13-2026 21:39:57|C92 MADE CONTACT WITH SUBJECT SAID HE WAS BURNING YARD WASTE IN ALLEY"
[2026-02-14 03:41:11] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-14 03:41:11] [INFO]   -> Found value: 02-13-2026T21:32:31
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:32:31
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:32:31': Failed to parse time string (2026-13-02T21:32:31) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'alarm' = null
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:32:31
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:32:31': Failed to parse time string (2026-13-02T21:32:31) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'dispatched' = null
[2026-02-14 03:41:11] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-14 03:41:11] [INFO]   -> Found value: 02-13-2026T21:34:42
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:34:42
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:34:42': Failed to parse time string (2026-13-02T21:34:42) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'onScene' = null
[2026-02-14 03:41:11] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-14 03:41:11] [INFO]   -> Found value: 02-13-2026T21:40:00
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:40:00
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:40:00': Failed to parse time string (2026-13-02T21:40:00) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'cleared' = null
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:40:00
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:40:00': Failed to parse time string (2026-13-02T21:40:00) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'inService' = null
[2026-02-14 03:41:11] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-14 03:41:11] [INFO]   -> Found value: ENG2
[2026-02-14 03:41:11] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-02-14 03:41:11] [INFO]   -> Set field 'name' = "ENG2"
[2026-02-14 03:41:11] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-14 03:41:11] [INFO]   -> Found value: 02-13-2026T21:33:13
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:33:13
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:33:13': Failed to parse time string (2026-13-02T21:33:13) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-14 03:41:11] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-14 03:41:11] [INFO]   -> Found value: 02-13-2026T21:36:07
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:36:07
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:36:07': Failed to parse time string (2026-13-02T21:36:07) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'timeonscene' = null
[2026-02-14 03:41:11] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-14 03:41:11] [INFO]   -> Found value: 02-13-2026T21:40:00
[2026-02-14 03:41:11] [INFO] Reformatted DD-MM-YYYY date '02-13-2026' (day=02, month=13) to ISO: 2026-13-02T21:40:00
[2026-02-14 03:41:11] [ERROR] Error formatting datetime '2026-13-02T21:40:00': Failed to parse time string (2026-13-02T21:40:00) at position 6 (3): Unexpected character
[2026-02-14 03:41:11] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-14 03:41:11] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-14 03:41:11] [INFO]   -> No value found (null or empty)
[2026-02-14 03:41:11] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-14 03:41:11] [INFO]   -> Found value: SDPSFD
[2026-02-14 03:41:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-14 03:41:11] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-02-14 03:41:11] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-14 03:41:11] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04658","cADNumber":"26-04658","incidentLocationStreetNumber":225,"streetName":"RUTH ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-SMOKE INVESTIGATION","dispatchNotes":"02-13-2026 21:25:25|CALLER STATED THERE IS SMOKE COMING FROM THE BACK OF THE RESIDENCE UNK IF IT IS THE HOUSE OR SOMETHING IN THE ALLEY 02-13-2026 21:34:30|556 IN AREA ATEMPTING TO LOCATE 02-13-2026 21:34:38|C92 IN AREA 02-13-2026 21:35:59|ENG2 STAGING WAITING FOR CONFORMATION 02-13-2026 21:39:57|C92 MADE CONTACT WITH SUBJECT SAID HE WAS BURNING YARD WASTE IN ALLEY","cADLog":"02-13-2026 21:25:25|CALLER STATED THERE IS SMOKE COMING FROM THE BACK OF THE RESIDENCE UNK IF IT IS THE HOUSE OR SOMETHING IN THE ALLEY 02-13-2026 21:34:30|556 IN AREA ATEMPTING TO LOCATE 02-13-2026 21:34:38|C92 IN AREA 02-13-2026 21:35:59|ENG2 STAGING WAITING FOR CONFORMATION 02-13-2026 21:39:57|C92 MADE CONTACT WITH SUBJECT SAID HE WAS BURNING YARD WASTE IN ALLEY","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-14 03:41:11] [INFO] Number of extracted fields: 24
[2026-02-14 03:41:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-14 03:41:11] [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-02-14 03:41:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-14 03:41:11] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-14 03:41:11] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-14 03:41:12] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-14 03:41:12] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-14 03:41:12] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-14 03:41:12] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e8812ca0da
[2026-02-14 03:41:13] [INFO] Created new Dispatches record with ID: 698feed86fd904fe8
[2026-02-14 03:41:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04658.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-14/SDPSFD_26-04658.xml
[2026-02-14 03:41:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04658.xml
[2026-02-14 06:35:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016902_20260214_063559.XML
[2026-02-14 06:35:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016902_20260214_063559.XML for user: 68f1466aed072ad4a
[2026-02-14 06:35:59] [INFO] File size: 5054 bytes
[2026-02-14 06:36:00] [INFO] Created FTPFiles record with ID: 699017d02a68c4d66
[2026-02-14 06:36:00] [INFO] About to extract fields from XML. File size: 5054 bytes
[2026-02-14 06:36:00] [INFO] Number of mappings: 28
[2026-02-14 06:36:00] [INFO] Starting XML parsing. Content length: 5054
[2026-02-14 06:36:00] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 06:36:00] [INFO] Processing 28 field mappings
[2026-02-14 06:36:00] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 06:36:00] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 06:36:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 06:36:00] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-14 06:36:00] [INFO]   -> Found value: AFD
EMS
[2026-02-14 06:36:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-02-14 06:36:00] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 06:36:00] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-14 06:36:00] [INFO]   -> Found value: 2026000063
[2026-02-14 06:36:00] [INFO]   -> Set field 'incidentInternalId' = "2026000063"
[2026-02-14 06:36:00] [INFO]   -> Set field 'dispatchRunNumber' = "2026000063"
[2026-02-14 06:36:00] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 06:36:00] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-02-14 06:36:00] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-02-14 06:36:00] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 06:36:00] [INFO]   -> Found value: 201
[2026-02-14 06:36:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-02-14 06:36:00] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 06:36:00] [INFO]   -> Found value: TN
[2026-02-14 06:36:00] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 06:36:00] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 06:36:00] [INFO]   -> Found value: 38506
[2026-02-14 06:36:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-14 06:36:00] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 06:36:00] [INFO]   -> Found value: 36.18496
[2026-02-14 06:36:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18495999999999668261807528324425220489501953125
[2026-02-14 06:36:00] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 06:36:00] [INFO]   -> Found value: -85.45540
[2026-02-14 06:36:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.45539999999999736246536485850811004638671875
[2026-02-14 06:36:00] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 06:36:00] [INFO]   -> Found value: 2026-02-14 00:35:23
[2026-02-14 06:36:00] [INFO]   -> Set field 'alarm' = "2026-02-14 00:35:23"
[2026-02-14 06:36:00] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 06:36:00] [INFO]   -> Found value: 2026-02-14 00:35:53
[2026-02-14 06:36:00] [INFO]   -> Set field 'dispatched' = "2026-02-14 00:35:53"
[2026-02-14 06:36:00] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 06:36:00] [INFO]   -> Found value: BOWMAN ST/W MAIN ST
[2026-02-14 06:36:00] [INFO]   -> Set field 'incidentLocationCross' = "BOWMAN ST\/W MAIN ST"
[2026-02-14 06:36:00] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 06:36:00] [INFO]   -> Found value: AFR
[2026-02-14 06:36:00] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-02-14 06:36:00] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 06:36:00] [INFO]   -> Found value: 2026-02-14 00:35:53
[2026-02-14 06:36:00] [INFO]   -> Set field 'timedispatch' = "2026-02-14 00:35:53"
[2026-02-14 06:36:00] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 06:36:00] [INFO]   -> No value found (null or empty)
[2026-02-14 06:36:00] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 06:36:00] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 06:36:00] [INFO]   -> Found value: 20260016902
[2026-02-14 06:36:00] [INFO]   -> Set field 'policeReportNumber' = "20260016902"
[2026-02-14 06:36:00] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 06:36:00] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [02/14/2026 00:35:23 DSWINK] WIFE IS HURTING IN HER LEFT SID...
[2026-02-14 06:36:00] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [02\/14\/2026 00:35:23 DSWINK] WIFE IS HURTING IN HER LEFT SIDE AND BACK HAVING TROUBLE BREATHING \/\/ 68 YOF FRONT DOOR ENTRANCE  [02\/14\/26 00:35:21 DSWINK]]"
[2026-02-14 06:36:00] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [02\/14\/2026 00:35:23 DSWINK] WIFE IS HURTING IN HER LEFT SIDE AND BACK HAVING TROUBLE BREATHING \/\/ 68 YOF FRONT DOOR ENTRANCE  [02\/14\/26 00:35:21 DSWINK]]"
[2026-02-14 06:36:00] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 06:36:00] [INFO]   -> Found value: ALGOOD
[2026-02-14 06:36:00] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-02-14 06:36:00] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 06:36:00] [INFO]   -> Found value: ELM
[2026-02-14 06:36:00] [INFO]   -> Set field 'streetName' = "ELM"
[2026-02-14 06:36:00] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 06:36:00] [INFO]   -> Found value: ST
[2026-02-14 06:36:00] [INFO]   -> Set field 'streetType' = "ST"
[2026-02-14 06:36:00] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 06:36:00] [INFO]   -> Found value: 201 ELM ST
[2026-02-14 06:36:00] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "201 ELM ST"
[2026-02-14 06:36:00] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 06:36:00] [INFO] Concatenating street name and type
[2026-02-14 06:36:00] [INFO]   -> Combined street name: ELM ST
[2026-02-14 06:36:00] [INFO] Built locationCoordinates from lat/lng: 36.18496,-85.4554
[2026-02-14 06:36:00] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000063","dispatchRunNumber":"2026000063","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":201,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.18495999999999668261807528324425220489501953125,"nERISIncidentLongitude":-85.45539999999999736246536485850811004638671875,"alarm":"2026-02-14 00:35:23","dispatched":"2026-02-14 00:35:53","incidentLocationCross":"BOWMAN ST\/W MAIN ST","cADVehicleID":"AFR","timedispatch":"2026-02-14 00:35:53","policeReportNumber":"20260016902","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [02\/14\/2026 00:35:23 DSWINK] WIFE IS HURTING IN HER LEFT SIDE AND BACK HAVING TROUBLE BREATHING \/\/ 68 YOF FRONT DOOR ENTRANCE  [02\/14\/26 00:35:21 DSWINK]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [02\/14\/2026 00:35:23 DSWINK] WIFE IS HURTING IN HER LEFT SIDE AND BACK HAVING TROUBLE BREATHING \/\/ 68 YOF FRONT DOOR ENTRANCE  [02\/14\/26 00:35:21 DSWINK]]","incidentLocationCity":"ALGOOD","streetName":"ELM ST","incidentAddressTextVersionStreet":"201 ELM ST","locationCoordinates":"36.18496,-85.4554"}
[2026-02-14 06:36:00] [INFO] Number of extracted fields: 21
[2026-02-14 06:36:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-02-14 06:36:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-14 06:36:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-02-14 06:36:00] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-02-14 06:36:00] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-02-14 06:36:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-02-14 06:36:00] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-02-14 06:36:00] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-02-14 06:36:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-14 06:36:00] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-02-14 06:36:00] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-02-14 06:36:00] [INFO] Found existing IncidentTypeMapping with ID: 694d8ba84e4f3a45a
[2026-02-14 06:36:06] [INFO] Created new Dispatches record with ID: 699017d10e757fb76
[2026-02-14 06:36:06] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 06:36:06] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 06:36:09] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 06:36:09] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016902_20260214_063559.XML: Failed to upload file to V2 FTP server: /AFD_20260016902_20260214_063559.XML
[2026-02-14 06:36:09] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 07:15:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016909_20260214_071530.XML
[2026-02-14 07:15:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016909_20260214_071530.XML for user: 68f1466aed072ad4a
[2026-02-14 07:15:30] [INFO] File size: 5165 bytes
[2026-02-14 07:15:30] [INFO] Created FTPFiles record with ID: 69902112ef0e9e30f
[2026-02-14 07:15:30] [INFO] About to extract fields from XML. File size: 5165 bytes
[2026-02-14 07:15:30] [INFO] Number of mappings: 28
[2026-02-14 07:15:30] [INFO] Starting XML parsing. Content length: 5165
[2026-02-14 07:15:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 07:15:30] [INFO] Processing 28 field mappings
[2026-02-14 07:15:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 07:15:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 07:15:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 07:15:30] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-14 07:15:30] [INFO]   -> Found value: AFD
EMS
[2026-02-14 07:15:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-02-14 07:15:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 07:15:31] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-14 07:15:31] [INFO]   -> Found value: 2026000064
[2026-02-14 07:15:31] [INFO]   -> Set field 'incidentInternalId' = "2026000064"
[2026-02-14 07:15:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000064"
[2026-02-14 07:15:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 07:15:31] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-02-14 07:15:31] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-02-14 07:15:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 07:15:31] [INFO]   -> Found value: 258
[2026-02-14 07:15:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 258
[2026-02-14 07:15:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 07:15:31] [INFO]   -> Found value: TN
[2026-02-14 07:15:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 07:15:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 07:15:31] [INFO]   -> Found value: 38506
[2026-02-14 07:15:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-14 07:15:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 07:15:31] [INFO]   -> Found value: 36.18702
[2026-02-14 07:15:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18701999999999685542206862010061740875244140625
[2026-02-14 07:15:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 07:15:31] [INFO]   -> Found value: -85.44783
[2026-02-14 07:15:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4478299999999961755747790448367595672607421875
[2026-02-14 07:15:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 07:15:31] [INFO]   -> Found value: 2026-02-14 01:14:19
[2026-02-14 07:15:31] [INFO]   -> Set field 'alarm' = "2026-02-14 01:14:19"
[2026-02-14 07:15:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 07:15:31] [INFO]   -> Found value: 2026-02-14 01:15:19
[2026-02-14 07:15:31] [INFO]   -> Set field 'dispatched' = "2026-02-14 01:15:19"
[2026-02-14 07:15:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 07:15:31] [INFO]   -> Found value: HAVEN LN/DRY VALLEY RD
[2026-02-14 07:15:31] [INFO]   -> Set field 'incidentLocationCross' = "HAVEN LN\/DRY VALLEY RD"
[2026-02-14 07:15:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 07:15:31] [INFO]   -> Found value: AFR
[2026-02-14 07:15:31] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-02-14 07:15:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 07:15:31] [INFO]   -> Found value: 2026-02-14 01:15:19
[2026-02-14 07:15:31] [INFO]   -> Set field 'timedispatch' = "2026-02-14 01:15:19"
[2026-02-14 07:15:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 07:15:31] [INFO]   -> No value found (null or empty)
[2026-02-14 07:15:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 07:15:31] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 07:15:31] [INFO]   -> Found value: 20260016909
[2026-02-14 07:15:31] [INFO]   -> Set field 'policeReportNumber' = "20260016909"
[2026-02-14 07:15:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 07:15:31] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [02/14/2026 01:14:19 DSWINK] DEN DOOR  [02/14/26 01:13:44 DS...
[2026-02-14 07:15:31] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [02\/14\/2026 01:14:19 DSWINK] DEN DOOR  [02\/14\/26 01:13:44 DSWINK] DENIES CHEST PAIN \/\/ FEELING WEAK  [02\/14\/26 01:13:41 DSWINK] MOTHER HR LOW  30S - PACEMAKER WEAKNESS  [02\/14\/26 01:13:21 DSWINK]"
[2026-02-14 07:15:31] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [02\/14\/2026 01:14:19 DSWINK] DEN DOOR  [02\/14\/26 01:13:44 DSWINK] DENIES CHEST PAIN \/\/ FEELING WEAK  [02\/14\/26 01:13:41 DSWINK] MOTHER HR LOW  30S - PACEMAKER WEAKNESS  [02\/14\/26 01:13:21 DSWINK]"
[2026-02-14 07:15:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 07:15:31] [INFO]   -> Found value: ALGOOD
[2026-02-14 07:15:31] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-02-14 07:15:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 07:15:31] [INFO]   -> Found value: WILLIAMS
[2026-02-14 07:15:31] [INFO]   -> Set field 'streetName' = "WILLIAMS"
[2026-02-14 07:15:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 07:15:31] [INFO]   -> Found value: CIR
[2026-02-14 07:15:31] [INFO]   -> Set field 'streetType' = "CIR"
[2026-02-14 07:15:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 07:15:31] [INFO]   -> Found value: 258 WILLIAMS CIR
[2026-02-14 07:15:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "258 WILLIAMS CIR"
[2026-02-14 07:15:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 07:15:31] [INFO] Concatenating street name and type
[2026-02-14 07:15:31] [INFO]   -> Combined street name: WILLIAMS CIR
[2026-02-14 07:15:31] [INFO] Built locationCoordinates from lat/lng: 36.18702,-85.44783
[2026-02-14 07:15:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000064","dispatchRunNumber":"2026000064","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":258,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.18701999999999685542206862010061740875244140625,"nERISIncidentLongitude":-85.4478299999999961755747790448367595672607421875,"alarm":"2026-02-14 01:14:19","dispatched":"2026-02-14 01:15:19","incidentLocationCross":"HAVEN LN\/DRY VALLEY RD","cADVehicleID":"AFR","timedispatch":"2026-02-14 01:15:19","policeReportNumber":"20260016909","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [02\/14\/2026 01:14:19 DSWINK] DEN DOOR  [02\/14\/26 01:13:44 DSWINK] DENIES CHEST PAIN \/\/ FEELING WEAK  [02\/14\/26 01:13:41 DSWINK] MOTHER HR LOW  30S - PACEMAKER WEAKNESS  [02\/14\/26 01:13:21 DSWINK]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [02\/14\/2026 01:14:19 DSWINK] DEN DOOR  [02\/14\/26 01:13:44 DSWINK] DENIES CHEST PAIN \/\/ FEELING WEAK  [02\/14\/26 01:13:41 DSWINK] MOTHER HR LOW  30S - PACEMAKER WEAKNESS  [02\/14\/26 01:13:21 DSWINK]","incidentLocationCity":"ALGOOD","streetName":"WILLIAMS CIR","incidentAddressTextVersionStreet":"258 WILLIAMS CIR","locationCoordinates":"36.18702,-85.44783"}
[2026-02-14 07:15:31] [INFO] Number of extracted fields: 21
[2026-02-14 07:15:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-02-14 07:15:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-14 07:15:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-02-14 07:15:31] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-02-14 07:15:31] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-02-14 07:15:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-02-14 07:15:31] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-02-14 07:15:31] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-02-14 07:15:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-14 07:15:31] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-02-14 07:15:31] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-02-14 07:15:31] [INFO] Found existing IncidentTypeMapping with ID: 695d3b3b48afa64b0
[2026-02-14 07:15:36] [INFO] Created new Dispatches record with ID: 69902113cf11c4461
[2026-02-14 07:15:36] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 07:15:36] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 07:15:39] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 07:15:39] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016909_20260214_071530.XML: Failed to upload file to V2 FTP server: /AFD_20260016909_20260214_071530.XML
[2026-02-14 07:15:39] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 09:19:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04677.xml
[2026-02-14 09:19:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04677.xml for user: 68d56363ec1209189
[2026-02-14 09:19:52] [INFO] File size: 2205 bytes
[2026-02-14 09:19:53] [INFO] Created FTPFiles record with ID: 69903e39043afddab
[2026-02-14 09:19:53] [INFO] About to extract fields from XML. File size: 2205 bytes
[2026-02-14 09:19:53] [INFO] Number of mappings: 21
[2026-02-14 09:19:53] [INFO] Starting XML parsing. Content length: 2205
[2026-02-14 09:19:53] [INFO] XML parsed successfully. Root element: Incident
[2026-02-14 09:19:53] [INFO] Processing 21 field mappings
[2026-02-14 09:19:53] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-14 09:19:53] [INFO]   -> Found value: 26-04677
[2026-02-14 09:19:53] [INFO]   -> Set field 'dispatchRunNumber' = "26-04677"
[2026-02-14 09:19:53] [INFO]   -> Set field 'cADNumber' = "26-04677"
[2026-02-14 09:19:53] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-14 09:19:53] [INFO]   -> No value found (null or empty)
[2026-02-14 09:19:53] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-14 09:19:53] [INFO]   -> Found value: COUNTY HIGHWAY 824
[2026-02-14 09:19:53] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 824"
[2026-02-14 09:19:53] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-14 09:19:53] [INFO]   -> No value found (null or empty)
[2026-02-14 09:19:53] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-14 09:19:53] [INFO]   -> No value found (null or empty)
[2026-02-14 09:19:53] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-14 09:19:53] [INFO]   -> No value found (null or empty)
[2026-02-14 09:19:53] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-14 09:19:53] [INFO]   -> No value found (null or empty)
[2026-02-14 09:19:53] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-14 09:19:53] [INFO]   -> No value found (null or empty)
[2026-02-14 09:19:53] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-14 09:19:53] [INFO]   -> Found value: 0
[2026-02-14 09:19:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-14 09:19:53] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-14 09:19:53] [INFO]   -> Found value: 0
[2026-02-14 09:19:53] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-14 09:19:53] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-14 09:19:53] [INFO]   -> Found value: FIRE-OUT OF TOWN
[2026-02-14 09:19:53] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-OUT OF TOWN"
[2026-02-14 09:19:53] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-14 09:19:53] [INFO]   -> Found value: 02-14-2026 02:16:50|FIRE SOUTHWEST OF CARLISLE CONSTRUCTION  
UNKNOWN IF FIELD OR STRUCTURE  02-14-2...
[2026-02-14 09:19:53] [INFO]   -> Set field 'dispatchNotes' = "02-14-2026 02:16:50|FIRE SOUTHWEST OF CARLISLE CONSTRUCTION  \nUNKNOWN IF FIELD OR STRUCTURE  02-14-2026 02:21:06|NMCO ADVISED 02-14-2026 02:30:29|GRASS NEXT TO RAIL ROAD TRACK OFF 824 02-14-2026 02:33:48|INVESTIGATING APPRX 400FT BURNING 02-14-2026 02:38:56|Disposition - SDPS PD:  NRN 02-14-2026 03:18:47|FIRE HAS BEEN PUT OUT PER ENG3"
[2026-02-14 09:19:53] [INFO]   -> Set field 'cADLog' = "02-14-2026 02:16:50|FIRE SOUTHWEST OF CARLISLE CONSTRUCTION  \nUNKNOWN IF FIELD OR STRUCTURE  02-14-2026 02:21:06|NMCO ADVISED 02-14-2026 02:30:29|GRASS NEXT TO RAIL ROAD TRACK OFF 824 02-14-2026 02:33:48|INVESTIGATING APPRX 400FT BURNING 02-14-2026 02:38:56|Disposition - SDPS PD:  NRN 02-14-2026 03:18:47|FIRE HAS BEEN PUT OUT PER ENG3"
[2026-02-14 09:19:53] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-14 09:19:53] [INFO]   -> Found value: 02-14-2026T02:21:34
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T02:21:34
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T02:21:34': Failed to parse time string (2026-14-02T02:21:34) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'alarm' = null
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T02:21:34
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T02:21:34': Failed to parse time string (2026-14-02T02:21:34) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'dispatched' = null
[2026-02-14 09:19:53] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-14 09:19:53] [INFO]   -> Found value: 02-14-2026T02:30:13
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T02:30:13
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T02:30:13': Failed to parse time string (2026-14-02T02:30:13) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'onScene' = null
[2026-02-14 09:19:53] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-14 09:19:53] [INFO]   -> Found value: 02-14-2026T03:19:23
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T03:19:23
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T03:19:23': Failed to parse time string (2026-14-02T03:19:23) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'cleared' = null
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T03:19:23
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T03:19:23': Failed to parse time string (2026-14-02T03:19:23) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'inService' = null
[2026-02-14 09:19:53] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-14 09:19:53] [INFO]   -> Found value: ENG3
[2026-02-14 09:19:53] [INFO]   -> Set field 'cADVehicleID' = "ENG3"
[2026-02-14 09:19:53] [INFO]   -> Set field 'name' = "ENG3"
[2026-02-14 09:19:53] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-14 09:19:53] [INFO]   -> Found value: 02-14-2026T02:23:50
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T02:23:50
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T02:23:50': Failed to parse time string (2026-14-02T02:23:50) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-14 09:19:53] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-14 09:19:53] [INFO]   -> Found value: 02-14-2026T02:33:15
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T02:33:15
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T02:33:15': Failed to parse time string (2026-14-02T02:33:15) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'timeonscene' = null
[2026-02-14 09:19:53] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-14 09:19:53] [INFO]   -> Found value: 02-14-2026T03:19:23
[2026-02-14 09:19:53] [INFO] Reformatted DD-MM-YYYY date '02-14-2026' (day=02, month=14) to ISO: 2026-14-02T03:19:23
[2026-02-14 09:19:53] [ERROR] Error formatting datetime '2026-14-02T03:19:23': Failed to parse time string (2026-14-02T03:19:23) at position 6 (4): Unexpected character
[2026-02-14 09:19:53] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-14 09:19:53] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-14 09:19:53] [INFO]   -> No value found (null or empty)
[2026-02-14 09:19:53] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-14 09:19:53] [INFO]   -> Found value: SDPSFD
[2026-02-14 09:19:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-14 09:19:53] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-02-14 09:19:53] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-14 09:19:53] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04677","cADNumber":"26-04677","streetName":"COUNTY HIGHWAY 824","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-OUT OF TOWN","dispatchNotes":"02-14-2026 02:16:50|FIRE SOUTHWEST OF CARLISLE CONSTRUCTION  \nUNKNOWN IF FIELD OR STRUCTURE  02-14-2026 02:21:06|NMCO ADVISED 02-14-2026 02:30:29|GRASS NEXT TO RAIL ROAD TRACK OFF 824 02-14-2026 02:33:48|INVESTIGATING APPRX 400FT BURNING 02-14-2026 02:38:56|Disposition - SDPS PD:  NRN 02-14-2026 03:18:47|FIRE HAS BEEN PUT OUT PER ENG3","cADLog":"02-14-2026 02:16:50|FIRE SOUTHWEST OF CARLISLE CONSTRUCTION  \nUNKNOWN IF FIELD OR STRUCTURE  02-14-2026 02:21:06|NMCO ADVISED 02-14-2026 02:30:29|GRASS NEXT TO RAIL ROAD TRACK OFF 824 02-14-2026 02:33:48|INVESTIGATING APPRX 400FT BURNING 02-14-2026 02:38:56|Disposition - SDPS PD:  NRN 02-14-2026 03:18:47|FIRE HAS BEEN PUT OUT PER ENG3","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG3","name":"ENG3","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-14 09:19:53] [INFO] Number of extracted fields: 20
[2026-02-14 09:19:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-14 09:19:53] [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-02-14 09:19:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-14 09:19:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-14 09:19:53] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-14 09:19:53] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-14 09:19:53] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-14 09:19:53] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-14 09:19:53] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e878336f04
[2026-02-14 09:19:55] [INFO] Created new Dispatches record with ID: 69903e39c4af497f1
[2026-02-14 09:19:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04677.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-14/SDPSFD_26-04677.xml
[2026-02-14 09:19:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04677.xml
[2026-02-14 13:36:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016941_20260214_133611.XML
[2026-02-14 13:36:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016941_20260214_133611.XML for user: 68f1466aed072ad4a
[2026-02-14 13:36:11] [INFO] File size: 5085 bytes
[2026-02-14 13:36:13] [INFO] Created FTPFiles record with ID: 69907a4cf248ae70a
[2026-02-14 13:36:13] [INFO] About to extract fields from XML. File size: 5085 bytes
[2026-02-14 13:36:13] [INFO] Number of mappings: 28
[2026-02-14 13:36:13] [INFO] Starting XML parsing. Content length: 5085
[2026-02-14 13:36:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 13:36:13] [INFO] Processing 28 field mappings
[2026-02-14 13:36:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 13:36:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 13:36:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 13:36:13] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-14 13:36:13] [INFO]   -> Found value: AFD
EMS
APD
[2026-02-14 13:36:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-02-14 13:36:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 13:36:13] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-14 13:36:13] [INFO]   -> Found value: 2026000065
[2026-02-14 13:36:13] [INFO]   -> Set field 'incidentInternalId' = "2026000065"
[2026-02-14 13:36:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000065"
[2026-02-14 13:36:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 13:36:13] [INFO]   -> Found value: CHEST PAIN
[2026-02-14 13:36:13] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-02-14 13:36:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 13:36:13] [INFO]   -> Found value: 378
[2026-02-14 13:36:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 378
[2026-02-14 13:36:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 13:36:13] [INFO]   -> Found value: TN
[2026-02-14 13:36:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 13:36:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 13:36:13] [INFO]   -> Found value: 38506
[2026-02-14 13:36:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-14 13:36:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 13:36:13] [INFO]   -> Found value: 36.20156
[2026-02-14 13:36:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.201560000000000627551344223320484161376953125
[2026-02-14 13:36:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 13:36:13] [INFO]   -> Found value: -85.45377
[2026-02-14 13:36:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4537700000000057798388297669589519500732421875
[2026-02-14 13:36:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 13:36:13] [INFO]   -> Found value: 2026-02-14 07:35:18
[2026-02-14 13:36:13] [INFO]   -> Set field 'alarm' = "2026-02-14 07:35:18"
[2026-02-14 13:36:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 13:36:13] [INFO]   -> Found value: 2026-02-14 07:36:02
[2026-02-14 13:36:13] [INFO]   -> Set field 'dispatched' = "2026-02-14 07:36:02"
[2026-02-14 13:36:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 13:36:13] [INFO]   -> Found value: MCCAWLEY ST
[2026-02-14 13:36:13] [INFO]   -> Set field 'incidentLocationCross' = "MCCAWLEY ST"
[2026-02-14 13:36:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 13:36:13] [INFO]   -> Found value: AFR
[2026-02-14 13:36:13] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-02-14 13:36:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 13:36:13] [INFO]   -> Found value: 2026-02-14 07:36:02
[2026-02-14 13:36:13] [INFO]   -> Set field 'timedispatch' = "2026-02-14 07:36:02"
[2026-02-14 13:36:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 13:36:13] [INFO]   -> No value found (null or empty)
[2026-02-14 13:36:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 13:36:13] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 13:36:13] [INFO]   -> Found value: 20260016941
[2026-02-14 13:36:13] [INFO]   -> Set field 'policeReportNumber' = "20260016941"
[2026-02-14 13:36:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 13:36:13] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [02/14/2026 07:35:18 KBURTON] SHORTNESS OF BREATH  CHEST PAIN  PATRI...
[2026-02-14 13:36:13] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [02\/14\/2026 07:35:18 KBURTON] SHORTNESS OF BREATH  CHEST PAIN  PATRICIA BRYANT  71 YOF  [02\/14\/26 07:34:59 KBURTON]"
[2026-02-14 13:36:13] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [02\/14\/2026 07:35:18 KBURTON] SHORTNESS OF BREATH  CHEST PAIN  PATRICIA BRYANT  71 YOF  [02\/14\/26 07:34:59 KBURTON]"
[2026-02-14 13:36:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 13:36:13] [INFO]   -> Found value: ALGOOD
[2026-02-14 13:36:13] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-02-14 13:36:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 13:36:13] [INFO]   -> Found value: 2ND
[2026-02-14 13:36:13] [INFO]   -> Set field 'streetName' = "2ND"
[2026-02-14 13:36:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 13:36:13] [INFO]   -> Found value: AVE
[2026-02-14 13:36:13] [INFO]   -> Set field 'streetType' = "AVE"
[2026-02-14 13:36:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 13:36:13] [INFO]   -> Found value: 378 N 2ND AVE
[2026-02-14 13:36:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "378 N 2ND AVE"
[2026-02-14 13:36:13] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 13:36:13] [INFO] Concatenating street name and type
[2026-02-14 13:36:13] [INFO]   -> Combined street name: 2ND AVE
[2026-02-14 13:36:13] [INFO] Built locationCoordinates from lat/lng: 36.20156,-85.45377
[2026-02-14 13:36:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000065","dispatchRunNumber":"2026000065","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":378,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.201560000000000627551344223320484161376953125,"nERISIncidentLongitude":-85.4537700000000057798388297669589519500732421875,"alarm":"2026-02-14 07:35:18","dispatched":"2026-02-14 07:36:02","incidentLocationCross":"MCCAWLEY ST","cADVehicleID":"AFR","timedispatch":"2026-02-14 07:36:02","policeReportNumber":"20260016941","dispatchNotes":"Event spawned from CHEST PAIN.  [02\/14\/2026 07:35:18 KBURTON] SHORTNESS OF BREATH  CHEST PAIN  PATRICIA BRYANT  71 YOF  [02\/14\/26 07:34:59 KBURTON]","cADLog":"Event spawned from CHEST PAIN.  [02\/14\/2026 07:35:18 KBURTON] SHORTNESS OF BREATH  CHEST PAIN  PATRICIA BRYANT  71 YOF  [02\/14\/26 07:34:59 KBURTON]","incidentLocationCity":"ALGOOD","streetName":"2ND AVE","incidentAddressTextVersionStreet":"378 N 2ND AVE","locationCoordinates":"36.20156,-85.45377"}
[2026-02-14 13:36:13] [INFO] Number of extracted fields: 21
[2026-02-14 13:36:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-02-14 13:36:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-14 13:36:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-02-14 13:36:13] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-02-14 13:36:13] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-02-14 13:36:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-02-14 13:36:13] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-02-14 13:36:13] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-02-14 13:36:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-14 13:36:13] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-02-14 13:36:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-02-14 13:36:13] [INFO] Found existing IncidentTypeMapping with ID: 69448a5c00a999345
[2026-02-14 13:36:17] [INFO] Created new Dispatches record with ID: 69907a4dd51f226f5
[2026-02-14 13:36:17] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 13:36:17] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 13:36:21] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 13:36:21] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016941_20260214_133611.XML: Failed to upload file to V2 FTP server: /AFD_20260016941_20260214_133611.XML
[2026-02-14 13:36:21] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 14:54:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016961_20260214_145442.XML
[2026-02-14 14:54:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016961_20260214_145442.XML for user: 68f1466aed072ad4a
[2026-02-14 14:54:42] [INFO] File size: 5527 bytes
[2026-02-14 14:54:42] [INFO] Created FTPFiles record with ID: 69908cb2952451c03
[2026-02-14 14:54:42] [INFO] About to extract fields from XML. File size: 5527 bytes
[2026-02-14 14:54:42] [INFO] Number of mappings: 28
[2026-02-14 14:54:42] [INFO] Starting XML parsing. Content length: 5527
[2026-02-14 14:54:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 14:54:42] [INFO] Processing 28 field mappings
[2026-02-14 14:54:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 14:54:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 14:54:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 14:54:42] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-14 14:54:42] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-02-14 14:54:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-02-14 14:54:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 14:54:42] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-14 14:54:42] [INFO]   -> Found value: 2026000440
[2026-02-14 14:54:42] [INFO]   -> Set field 'incidentInternalId' = "2026000440"
[2026-02-14 14:54:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000440"
[2026-02-14 14:54:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 14:54:42] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-02-14 14:54:42] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-02-14 14:54:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 14:54:42] [INFO]   -> Found value: 2936
[2026-02-14 14:54:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2936
[2026-02-14 14:54:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 14:54:42] [INFO]   -> Found value: TN
[2026-02-14 14:54:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 14:54:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 14:54:42] [INFO]   -> Found value: 38506
[2026-02-14 14:54:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-14 14:54:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 14:54:42] [INFO]   -> Found value: 36.13263
[2026-02-14 14:54:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13262999999999891542756813578307628631591796875
[2026-02-14 14:54:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 14:54:42] [INFO]   -> Found value: -85.60036
[2026-02-14 14:54:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600359999999994897734723053872585296630859375
[2026-02-14 14:54:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 14:54:42] [INFO]   -> Found value: 2026-02-14 08:53:50
[2026-02-14 14:54:42] [INFO]   -> Set field 'alarm' = "2026-02-14 08:53:50"
[2026-02-14 14:54:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 14:54:42] [INFO]   -> Found value: 2026-02-14 08:54:37
[2026-02-14 14:54:42] [INFO]   -> Set field 'dispatched' = "2026-02-14 08:54:37"
[2026-02-14 14:54:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 14:54:42] [INFO]   -> Found value: /ACADEMY RD
[2026-02-14 14:54:42] [INFO]   -> Set field 'incidentLocationCross' = "\/ACADEMY RD"
[2026-02-14 14:54:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 14:54:42] [INFO]   -> Found value: PCFR
[2026-02-14 14:54:42] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-14 14:54:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 14:54:42] [INFO]   -> Found value: 2026-02-14 08:54:37
[2026-02-14 14:54:42] [INFO]   -> Set field 'timedispatch' = "2026-02-14 08:54:37"
[2026-02-14 14:54:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 14:54:42] [INFO]   -> No value found (null or empty)
[2026-02-14 14:54:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 14:54:42] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 14:54:42] [INFO]   -> Found value: 20260016961
[2026-02-14 14:54:42] [INFO]   -> Set field 'policeReportNumber' = "20260016961"
[2026-02-14 14:54:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 14:54:42] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRY  [02/14/26 08:54:27 MCLAYBURN2] [EMS] THOMAS LINDEN  [02/14/26 08:54:22 MCLAY...
[2026-02-14 14:54:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRY  [02\/14\/26 08:54:27 MCLAYBURN2] [EMS] THOMAS LINDEN  [02\/14\/26 08:54:22 MCLAYBURN2] [EMS] LAYING IN BED LIGHT HEADED  [02\/14\/26 08:54:17 MCLAYBURN2] [EMS] BLOOD SUGAR OF 60  [02\/14\/26 08:54:01 MCLAYBURN2] Event spawned from DIABETIC PROBLEM.  [02\/14\/2026 08:53:50 MCLAYBURN2]"
[2026-02-14 14:54:42] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRY  [02\/14\/26 08:54:27 MCLAYBURN2] [EMS] THOMAS LINDEN  [02\/14\/26 08:54:22 MCLAYBURN2] [EMS] LAYING IN BED LIGHT HEADED  [02\/14\/26 08:54:17 MCLAYBURN2] [EMS] BLOOD SUGAR OF 60  [02\/14\/26 08:54:01 MCLAYBURN2] Event spawned from DIABETIC PROBLEM.  [02\/14\/2026 08:53:50 MCLAYBURN2]"
[2026-02-14 14:54:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 14:54:42] [INFO]   -> Found value: COOKEVILLE
[2026-02-14 14:54:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-14 14:54:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 14:54:42] [INFO]   -> Found value: DOWNING
[2026-02-14 14:54:42] [INFO]   -> Set field 'streetName' = "DOWNING"
[2026-02-14 14:54:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 14:54:42] [INFO]   -> Found value: ST
[2026-02-14 14:54:42] [INFO]   -> Set field 'streetType' = "ST"
[2026-02-14 14:54:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 14:54:42] [INFO]   -> Found value: 2936 DOWNING ST
[2026-02-14 14:54:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2936 DOWNING ST"
[2026-02-14 14:54:42] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 14:54:42] [INFO] Concatenating street name and type
[2026-02-14 14:54:42] [INFO]   -> Combined street name: DOWNING ST
[2026-02-14 14:54:42] [INFO] Built locationCoordinates from lat/lng: 36.13263,-85.60036
[2026-02-14 14:54:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000440","dispatchRunNumber":"2026000440","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":2936,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13262999999999891542756813578307628631591796875,"nERISIncidentLongitude":-85.600359999999994897734723053872585296630859375,"alarm":"2026-02-14 08:53:50","dispatched":"2026-02-14 08:54:37","incidentLocationCross":"\/ACADEMY RD","cADVehicleID":"PCFR","timedispatch":"2026-02-14 08:54:37","policeReportNumber":"20260016961","dispatchNotes":"[EMS] FRONT DOOR ENTRY  [02\/14\/26 08:54:27 MCLAYBURN2] [EMS] THOMAS LINDEN  [02\/14\/26 08:54:22 MCLAYBURN2] [EMS] LAYING IN BED LIGHT HEADED  [02\/14\/26 08:54:17 MCLAYBURN2] [EMS] BLOOD SUGAR OF 60  [02\/14\/26 08:54:01 MCLAYBURN2] Event spawned from DIABETIC PROBLEM.  [02\/14\/2026 08:53:50 MCLAYBURN2]","cADLog":"[EMS] FRONT DOOR ENTRY  [02\/14\/26 08:54:27 MCLAYBURN2] [EMS] THOMAS LINDEN  [02\/14\/26 08:54:22 MCLAYBURN2] [EMS] LAYING IN BED LIGHT HEADED  [02\/14\/26 08:54:17 MCLAYBURN2] [EMS] BLOOD SUGAR OF 60  [02\/14\/26 08:54:01 MCLAYBURN2] Event spawned from DIABETIC PROBLEM.  [02\/14\/2026 08:53:50 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"DOWNING ST","incidentAddressTextVersionStreet":"2936 DOWNING ST","locationCoordinates":"36.13263,-85.60036"}
[2026-02-14 14:54:42] [INFO] Number of extracted fields: 21
[2026-02-14 14:54:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-02-14 14:54:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-02-14 14:54:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-02-14 14:54:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-14 14:54:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-14 14:54:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-02-14 14:54: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-02-14 14:54:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-14 14:54:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-14 14:54:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-14 14:54:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-14 14:54:43] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-02-14 14:54:52] [INFO] Created new Dispatches record with ID: 69908cb360c58c8c6
[2026-02-14 14:54:52] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 14:54:52] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 14:54:55] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 14:54:55] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016961_20260214_145442.XML: Failed to upload file to V2 FTP server: /PCFD_20260016961_20260214_145442.XML
[2026-02-14 14:54:55] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 17:26:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:39Z.xml
[2026-02-14 17:26:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:39Z.xml
[2026-02-14 17:26:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:40Z.xml
[2026-02-14 17:26:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:40Z.xml
[2026-02-14 17:26:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:41Z.xml
[2026-02-14 17:26:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:41Z.xml
[2026-02-14 17:26:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:41Z.xml
[2026-02-14 17:26:44] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:41Z.xml
[2026-02-14 17:26:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:43Z.xml
[2026-02-14 17:26:46] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:43Z.xml
[2026-02-14 17:26:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:52Z.xml
[2026-02-14 17:26:54] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:26:52Z.xml
[2026-02-14 17:27:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:27:09Z.xml
[2026-02-14 17:27:11] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:27:09Z.xml
[2026-02-14 17:27:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:27:24Z.xml
[2026-02-14 17:27:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:27:24Z.xml
[2026-02-14 17:28:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:27:58Z.xml
[2026-02-14 17:28:00] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:27:58Z.xml
[2026-02-14 17:28:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:35Z.xml
[2026-02-14 17:28:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:35Z.xml
[2026-02-14 17:28:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:48Z.xml
[2026-02-14 17:28:50] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:48Z.xml
[2026-02-14 17:28:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:48Z.xml
[2026-02-14 17:28:51] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:48Z.xml
[2026-02-14 17:28:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:49Z.xml
[2026-02-14 17:28:51] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:49Z.xml
[2026-02-14 17:28:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:49Z.xml
[2026-02-14 17:28:52] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:28:49Z.xml
[2026-02-14 17:29:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:23Z.xml
[2026-02-14 17:29:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:23Z.xml
[2026-02-14 17:29:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:24Z.xml
[2026-02-14 17:29:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:24Z.xml
[2026-02-14 17:29:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:24Z.xml
[2026-02-14 17:29:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:24Z.xml
[2026-02-14 17:29:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:30Z.xml
[2026-02-14 17:29:33] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:30Z.xml
[2026-02-14 17:29:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:30Z.xml
[2026-02-14 17:29:33] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:30Z.xml
[2026-02-14 17:29:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:31Z.xml
[2026-02-14 17:29:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:31Z.xml
[2026-02-14 17:29:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:31Z.xml
[2026-02-14 17:29:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:31Z.xml
[2026-02-14 17:29:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:32Z.xml
[2026-02-14 17:29:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:32Z.xml
[2026-02-14 17:29:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:32Z.xml
[2026-02-14 17:29:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:32Z.xml
[2026-02-14 17:29:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:33Z.xml
[2026-02-14 17:29:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:33Z.xml
[2026-02-14 17:29:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:33Z.xml
[2026-02-14 17:29:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:33Z.xml
[2026-02-14 17:29:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:34Z.xml
[2026-02-14 17:29:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:34Z.xml
[2026-02-14 17:29:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:34Z.xml
[2026-02-14 17:29:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:34Z.xml
[2026-02-14 17:29:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:35Z.xml
[2026-02-14 17:29:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:35Z.xml
[2026-02-14 17:29:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:36Z.xml
[2026-02-14 17:29:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:36Z.xml
[2026-02-14 17:29:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:37Z.xml
[2026-02-14 17:29:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:29:37Z.xml
[2026-02-14 17:30:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:30:20Z.xml
[2026-02-14 17:30:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:30:20Z.xml
[2026-02-14 17:31:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:50Z.xml
[2026-02-14 17:31:52] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:50Z.xml
[2026-02-14 17:31:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:50Z.xml
[2026-02-14 17:31:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:50Z.xml
[2026-02-14 17:31:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:51Z.xml
[2026-02-14 17:31:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:51Z.xml
[2026-02-14 17:31:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:52Z.xml
[2026-02-14 17:31:54] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:52Z.xml
[2026-02-14 17:31:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:53Z.xml
[2026-02-14 17:31:55] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:53Z.xml
[2026-02-14 17:31:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:53Z.xml
[2026-02-14 17:31:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:31:53Z.xml
[2026-02-14 17:33:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:07Z.xml
[2026-02-14 17:33:10] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:07Z.xml
[2026-02-14 17:33:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:07Z.xml
[2026-02-14 17:33:10] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:07Z.xml
[2026-02-14 17:33:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:08Z.xml
[2026-02-14 17:33:11] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:08Z.xml
[2026-02-14 17:33:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:08Z.xml
[2026-02-14 17:33:11] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:08Z.xml
[2026-02-14 17:33:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:09Z.xml
[2026-02-14 17:33:12] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:09Z.xml
[2026-02-14 17:33:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:11Z.xml
[2026-02-14 17:33:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:11Z.xml
[2026-02-14 17:33:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:11Z.xml
[2026-02-14 17:33:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:33:11Z.xml
[2026-02-14 17:34:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:34:33Z.xml
[2026-02-14 17:34:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:34:33Z.xml
[2026-02-14 17:36:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:36:29Z.xml
[2026-02-14 17:36:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:36:29Z.xml for user: 66a7b78a47817ab30
[2026-02-14 17:36:31] [INFO] File size: 11680 bytes
[2026-02-14 17:36:32] [INFO] Created FTPFiles record with ID: 6990b2a052d6f9244
[2026-02-14 17:36:32] [INFO] About to extract fields from XML. File size: 11680 bytes
[2026-02-14 17:36:32] [INFO] Number of mappings: 14
[2026-02-14 17:36:32] [INFO] Starting XML parsing. Content length: 11680
[2026-02-14 17:36:32] [ERROR] XML Parse Error: Namespace prefix s for id on CADServiceCall is not defined on line 1
[2026-02-14 17:36:32] [ERROR] XML Parse Error: expected '>' on line 1
[2026-02-14 17:36:32] [ERROR] XML Parse Error: Opening and ending tag mismatch: Note line 1 and N on line 1
[2026-02-14 17:36:32] [ERROR] Error extracting XML fields: Failed to parse XML content - see errors above
[2026-02-14 17:36:32] [ERROR] Error location: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-02-14 17:36:32] [ERROR] Stack trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-02-14 17:36:32] [ERROR] EXCEPTION during field extraction: Failed to parse XML content - see errors above
[2026-02-14 17:36:32] [ERROR] Exception file: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php line: 96
[2026-02-14 17:36:32] [ERROR] Exception trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(685): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-02-14 17:36:32] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:36:29Z.xml: Failed to parse XML content - see errors above
[2026-02-14 17:36:32] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-02-14 17:38:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:35Z.xml
[2026-02-14 17:38:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:35Z.xml
[2026-02-14 17:38:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:36Z.xml
[2026-02-14 17:38:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:36Z.xml
[2026-02-14 17:38:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:46Z.xml
[2026-02-14 17:38:49] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:46Z.xml
[2026-02-14 17:38:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:52Z.xml
[2026-02-14 17:38:55] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:38:52Z.xml
[2026-02-14 17:48:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:48:11Z.xml
[2026-02-14 17:48:13] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:48:11Z.xml
[2026-02-14 17:48:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:48:11Z.xml
[2026-02-14 17:48:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:48:11Z.xml
[2026-02-14 17:55:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:55:57Z.xml
[2026-02-14 17:55:59] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 11:55:57Z.xml
[2026-02-14 18:00:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:00:49Z.xml
[2026-02-14 18:00:52] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:00:49Z.xml
[2026-02-14 18:00:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:00:50Z.xml
[2026-02-14 18:00:52] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:00:50Z.xml
[2026-02-14 18:00:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:00:50Z.xml
[2026-02-14 18:00:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:00:50Z.xml
[2026-02-14 18:32:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:14Z.xml
[2026-02-14 18:32:19] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:14Z.xml
[2026-02-14 18:32:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:21Z.xml
[2026-02-14 18:32:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:21Z.xml
[2026-02-14 18:32:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:22Z.xml
[2026-02-14 18:32:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:22Z.xml
[2026-02-14 18:32:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:22Z.xml
[2026-02-14 18:32:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:22Z.xml
[2026-02-14 18:32:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:23Z.xml
[2026-02-14 18:32:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:23Z.xml
[2026-02-14 18:32:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:24Z.xml
[2026-02-14 18:32:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:24Z.xml
[2026-02-14 18:32:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:24Z.xml
[2026-02-14 18:32:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:24Z.xml
[2026-02-14 18:32:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:29Z.xml
[2026-02-14 18:32:31] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:29Z.xml
[2026-02-14 18:32:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:29Z.xml
[2026-02-14 18:32:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:29Z.xml
[2026-02-14 18:32:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:47Z.xml
[2026-02-14 18:32:50] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-007108_2026-02-14 12:32:47Z.xml
[2026-02-14 20:28:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017037_20260214_202854.XML
[2026-02-14 20:28:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017037_20260214_202854.XML for user: 68f1466aed072ad4a
[2026-02-14 20:28:54] [INFO] File size: 4742 bytes
[2026-02-14 20:28:54] [INFO] Created FTPFiles record with ID: 6990db06af15e1951
[2026-02-14 20:28:54] [INFO] About to extract fields from XML. File size: 4742 bytes
[2026-02-14 20:28:54] [INFO] Number of mappings: 28
[2026-02-14 20:28:54] [INFO] Starting XML parsing. Content length: 4742
[2026-02-14 20:28:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 20:28:54] [INFO] Processing 28 field mappings
[2026-02-14 20:28:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 20:28:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 20:28:54] [INFO]   -> Found value: PCFD
[2026-02-14 20:28:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-02-14 20:28:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 20:28:54] [INFO]   -> Found value: 2026000441
[2026-02-14 20:28:54] [INFO]   -> Set field 'incidentInternalId' = "2026000441"
[2026-02-14 20:28:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000441"
[2026-02-14 20:28:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 20:28:54] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-02-14 20:28:54] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-02-14 20:28:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 20:28:54] [INFO]   -> Found value: 1625
[2026-02-14 20:28:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1625
[2026-02-14 20:28:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 20:28:54] [INFO]   -> Found value: TN
[2026-02-14 20:28:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 20:28:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 20:28:54] [INFO]   -> Found value: 38506
[2026-02-14 20:28:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-14 20:28:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 20:28:54] [INFO]   -> Found value: 36.11323
[2026-02-14 20:28:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1132300000000014961187844164669513702392578125
[2026-02-14 20:28:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 20:28:54] [INFO]   -> Found value: -85.52464
[2026-02-14 20:28:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.524640000000005102265276946127414703369140625
[2026-02-14 20:28:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 20:28:54] [INFO]   -> Found value: 2026-02-14 14:27:16
[2026-02-14 20:28:54] [INFO]   -> Set field 'alarm' = "2026-02-14 14:27:16"
[2026-02-14 20:28:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 20:28:54] [INFO]   -> Found value: 2026-02-14 14:28:45
[2026-02-14 20:28:54] [INFO]   -> Set field 'dispatched' = "2026-02-14 14:28:45"
[2026-02-14 20:28:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 20:28:54] [INFO]   -> Found value: WEST CEMETERY RD/HEATHROW DR
[2026-02-14 20:28:54] [INFO]   -> Set field 'incidentLocationCross' = "WEST CEMETERY RD\/HEATHROW DR"
[2026-02-14 20:28:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 20:28:54] [INFO]   -> Found value: BR11
[2026-02-14 20:28:54] [INFO]   -> Set field 'cADVehicleID' = "BR11"
[2026-02-14 20:28:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 20:28:54] [INFO]   -> Found value: 2026-02-14 14:28:45
[2026-02-14 20:28:54] [INFO]   -> Set field 'timedispatch' = "2026-02-14 14:28:45"
[2026-02-14 20:28:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 20:28:54] [INFO]   -> No value found (null or empty)
[2026-02-14 20:28:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 20:28:54] [INFO]   -> Found value: 20260017037
[2026-02-14 20:28:54] [INFO]   -> Set field 'policeReportNumber' = "20260017037"
[2026-02-14 20:28:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 20:28:54] [INFO]   -> Found value: STRUCTURES APROX QUTER MILE AWAY  [02/14/26 14:28:44 KBURTON] BURN PIT OUT OF CONTROL  [02/14/26 14:...
[2026-02-14 20:28:54] [INFO]   -> Set field 'dispatchNotes' = "STRUCTURES APROX QUTER MILE AWAY  [02\/14\/26 14:28:44 KBURTON] BURN PIT OUT OF CONTROL  [02\/14\/26 14:27:49 KBURTON]]"
[2026-02-14 20:28:54] [INFO]   -> Set field 'cADLog' = "STRUCTURES APROX QUTER MILE AWAY  [02\/14\/26 14:28:44 KBURTON] BURN PIT OUT OF CONTROL  [02\/14\/26 14:27:49 KBURTON]]"
[2026-02-14 20:28:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 20:28:54] [INFO]   -> Found value: COOKEVILLE
[2026-02-14 20:28:54] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-14 20:28:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 20:28:54] [INFO]   -> Found value: CARRIAGE
[2026-02-14 20:28:54] [INFO]   -> Set field 'streetName' = "CARRIAGE"
[2026-02-14 20:28:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 20:28:54] [INFO]   -> Found value: LN
[2026-02-14 20:28:54] [INFO]   -> Set field 'streetType' = "LN"
[2026-02-14 20:28:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 20:28:54] [INFO]   -> Found value: 1625 CARRIAGE LN
[2026-02-14 20:28:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1625 CARRIAGE LN"
[2026-02-14 20:28:54] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 20:28:54] [INFO] Concatenating street name and type
[2026-02-14 20:28:54] [INFO]   -> Combined street name: CARRIAGE LN
[2026-02-14 20:28:54] [INFO] Built locationCoordinates from lat/lng: 36.11323,-85.52464
[2026-02-14 20:28:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000441","dispatchRunNumber":"2026000441","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":1625,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1132300000000014961187844164669513702392578125,"nERISIncidentLongitude":-85.524640000000005102265276946127414703369140625,"alarm":"2026-02-14 14:27:16","dispatched":"2026-02-14 14:28:45","incidentLocationCross":"WEST CEMETERY RD\/HEATHROW DR","cADVehicleID":"BR11","timedispatch":"2026-02-14 14:28:45","policeReportNumber":"20260017037","dispatchNotes":"STRUCTURES APROX QUTER MILE AWAY  [02\/14\/26 14:28:44 KBURTON] BURN PIT OUT OF CONTROL  [02\/14\/26 14:27:49 KBURTON]]","cADLog":"STRUCTURES APROX QUTER MILE AWAY  [02\/14\/26 14:28:44 KBURTON] BURN PIT OUT OF CONTROL  [02\/14\/26 14:27:49 KBURTON]]","incidentLocationCity":"COOKEVILLE","streetName":"CARRIAGE LN","incidentAddressTextVersionStreet":"1625 CARRIAGE LN","locationCoordinates":"36.11323,-85.52464"}
[2026-02-14 20:28:54] [INFO] Number of extracted fields: 21
[2026-02-14 20:28:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-02-14 20:28:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-14 20:28:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-02-14 20:28:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-14 20:28:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-14 20:28:55] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-14 20:28:55] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-14 20:28:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-14 20:28:55] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-02-14 20:29:05] [INFO] Created new Dispatches record with ID: 6990db0775c6b0eb8
[2026-02-14 20:29:05] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 20:29:05] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 20:29:09] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 20:29:09] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017037_20260214_202854.XML: Failed to upload file to V2 FTP server: /PCFD_20260017037_20260214_202854.XML
[2026-02-14 20:29:09] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 21:15:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017048_20260214_211554.XML
[2026-02-14 21:15:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017048_20260214_211554.XML for user: 68f1466aed072ad4a
[2026-02-14 21:15:54] [INFO] File size: 4683 bytes
[2026-02-14 21:15:55] [INFO] Created FTPFiles record with ID: 6990e60b41e1be182
[2026-02-14 21:15:55] [INFO] About to extract fields from XML. File size: 4683 bytes
[2026-02-14 21:15:55] [INFO] Number of mappings: 28
[2026-02-14 21:15:55] [INFO] Starting XML parsing. Content length: 4683
[2026-02-14 21:15:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 21:15:55] [INFO] Processing 28 field mappings
[2026-02-14 21:15:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 21:15:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 21:15:55] [INFO]   -> Found value: PCFD
[2026-02-14 21:15:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-02-14 21:15:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 21:15:55] [INFO]   -> Found value: 2026000442
[2026-02-14 21:15:55] [INFO]   -> Set field 'incidentInternalId' = "2026000442"
[2026-02-14 21:15:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000442"
[2026-02-14 21:15:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 21:15:55] [INFO]   -> Found value: FIRE ALARM
[2026-02-14 21:15:55] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-02-14 21:15:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 21:15:55] [INFO]   -> Found value: 4250
[2026-02-14 21:15:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4250
[2026-02-14 21:15:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 21:15:55] [INFO]   -> Found value: TN
[2026-02-14 21:15:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 21:15:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 21:15:55] [INFO]   -> Found value: 38544
[2026-02-14 21:15:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-02-14 21:15:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 21:15:55] [INFO]   -> Found value: 36.11449
[2026-02-14 21:15:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1144900000000035333869163878262042999267578125
[2026-02-14 21:15:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 21:15:55] [INFO]   -> Found value: -85.61002
[2026-02-14 21:15:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6100200000000057798388297669589519500732421875
[2026-02-14 21:15:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 21:15:55] [INFO]   -> Found value: 2026-02-14 15:13:37
[2026-02-14 21:15:55] [INFO]   -> Set field 'alarm' = "2026-02-14 15:13:37"
[2026-02-14 21:15:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 21:15:55] [INFO]   -> Found value: 2026-02-14 15:15:50
[2026-02-14 21:15:55] [INFO]   -> Set field 'dispatched' = "2026-02-14 15:15:50"
[2026-02-14 21:15:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 21:15:55] [INFO]   -> Found value: DITTY RD/BEN JARED RD
[2026-02-14 21:15:55] [INFO]   -> Set field 'incidentLocationCross' = "DITTY RD\/BEN JARED RD"
[2026-02-14 21:15:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 21:15:55] [INFO]   -> Found value: EN13
[2026-02-14 21:15:55] [INFO]   -> Set field 'cADVehicleID' = "EN13"
[2026-02-14 21:15:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 21:15:55] [INFO]   -> Found value: 2026-02-14 15:15:50
[2026-02-14 21:15:55] [INFO]   -> Set field 'timedispatch' = "2026-02-14 15:15:50"
[2026-02-14 21:15:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 21:15:55] [INFO]   -> No value found (null or empty)
[2026-02-14 21:15:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 21:15:55] [INFO]   -> Found value: 20260017048
[2026-02-14 21:15:55] [INFO]   -> Set field 'policeReportNumber' = "20260017048"
[2026-02-14 21:15:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 21:15:55] [INFO]   -> Found value: ZONE 41 MUD ROOM SMOKE DECTOR  PREMISE # 480-221-6376  KH KIMBERLY FLYNT  STEVEN FLYNT 480-282-0412 ...
[2026-02-14 21:15:55] [INFO]   -> Set field 'dispatchNotes' = "ZONE 41 MUD ROOM SMOKE DECTOR  PREMISE # 480-221-6376  KH KIMBERLY FLYNT  STEVEN FLYNT 480-282-0412  REF # N\/A  [02\/14\/26 15:14:57 KBURTON]]"
[2026-02-14 21:15:55] [INFO]   -> Set field 'cADLog' = "ZONE 41 MUD ROOM SMOKE DECTOR  PREMISE # 480-221-6376  KH KIMBERLY FLYNT  STEVEN FLYNT 480-282-0412  REF # N\/A  [02\/14\/26 15:14:57 KBURTON]]"
[2026-02-14 21:15:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 21:15:55] [INFO]   -> Found value: BAXTER
[2026-02-14 21:15:55] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-02-14 21:15:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 21:15:55] [INFO]   -> Found value: MOSS
[2026-02-14 21:15:55] [INFO]   -> Set field 'streetName' = "MOSS"
[2026-02-14 21:15:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 21:15:55] [INFO]   -> Found value: RD
[2026-02-14 21:15:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-14 21:15:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 21:15:55] [INFO]   -> Found value: 4250 MOSS RD
[2026-02-14 21:15:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4250 MOSS RD"
[2026-02-14 21:15:55] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 21:15:55] [INFO] Concatenating street name and type
[2026-02-14 21:15:55] [INFO]   -> Combined street name: MOSS RD
[2026-02-14 21:15:55] [INFO] Built locationCoordinates from lat/lng: 36.11449,-85.61002
[2026-02-14 21:15:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000442","dispatchRunNumber":"2026000442","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":4250,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1144900000000035333869163878262042999267578125,"nERISIncidentLongitude":-85.6100200000000057798388297669589519500732421875,"alarm":"2026-02-14 15:13:37","dispatched":"2026-02-14 15:15:50","incidentLocationCross":"DITTY RD\/BEN JARED RD","cADVehicleID":"EN13","timedispatch":"2026-02-14 15:15:50","policeReportNumber":"20260017048","dispatchNotes":"ZONE 41 MUD ROOM SMOKE DECTOR  PREMISE # 480-221-6376  KH KIMBERLY FLYNT  STEVEN FLYNT 480-282-0412  REF # N\/A  [02\/14\/26 15:14:57 KBURTON]]","cADLog":"ZONE 41 MUD ROOM SMOKE DECTOR  PREMISE # 480-221-6376  KH KIMBERLY FLYNT  STEVEN FLYNT 480-282-0412  REF # N\/A  [02\/14\/26 15:14:57 KBURTON]]","incidentLocationCity":"BAXTER","streetName":"MOSS RD","incidentAddressTextVersionStreet":"4250 MOSS RD","locationCoordinates":"36.11449,-85.61002"}
[2026-02-14 21:15:55] [INFO] Number of extracted fields: 21
[2026-02-14 21:15:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-02-14 21:15:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-14 21:15:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-02-14 21:15:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-14 21:15:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-14 21:15:55] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-14 21:15:55] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-14 21:15:55] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-14 21:15:55] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-02-14 21:16:06] [INFO] Created new Dispatches record with ID: 6990e60c04413fb14
[2026-02-14 21:16:06] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 21:16:06] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 21:16:09] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 21:16:09] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017048_20260214_211554.XML: Failed to upload file to V2 FTP server: /PCFD_20260017048_20260214_211554.XML
[2026-02-14 21:16:09] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 21:36:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017055_20260214_213604.XML
[2026-02-14 21:36:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017055_20260214_213604.XML for user: 68f1466aed072ad4a
[2026-02-14 21:36:04] [INFO] File size: 5502 bytes
[2026-02-14 21:36:04] [INFO] Created FTPFiles record with ID: 6990eac497f077ea8
[2026-02-14 21:36:04] [INFO] About to extract fields from XML. File size: 5502 bytes
[2026-02-14 21:36:04] [INFO] Number of mappings: 28
[2026-02-14 21:36:04] [INFO] Starting XML parsing. Content length: 5502
[2026-02-14 21:36:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-14 21:36:04] [INFO] Processing 28 field mappings
[2026-02-14 21:36:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-14 21:36:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-14 21:36:04] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-14 21:36:04] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-14 21:36:04] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-02-14 21:36:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-02-14 21:36:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-14 21:36:04] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-14 21:36:04] [INFO]   -> Found value: 2026000443
[2026-02-14 21:36:04] [INFO]   -> Set field 'incidentInternalId' = "2026000443"
[2026-02-14 21:36:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000443"
[2026-02-14 21:36:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-14 21:36:04] [INFO]   -> Found value: UNCONSCIOUS
[2026-02-14 21:36:04] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-02-14 21:36:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-14 21:36:04] [INFO]   -> Found value: 6217
[2026-02-14 21:36:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6217
[2026-02-14 21:36:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-14 21:36:04] [INFO]   -> Found value: TN
[2026-02-14 21:36:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-14 21:36:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-14 21:36:04] [INFO]   -> Found value: 38501
[2026-02-14 21:36:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-02-14 21:36:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-14 21:36:04] [INFO]   -> Found value: 36.24474
[2026-02-14 21:36:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24474000000000017962520360015332698822021484375
[2026-02-14 21:36:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-14 21:36:04] [INFO]   -> Found value: -85.51629
[2026-02-14 21:36:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.516289999999997917257132939994335174560546875
[2026-02-14 21:36:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-14 21:36:04] [INFO]   -> Found value: 2026-02-14 15:35:35
[2026-02-14 21:36:04] [INFO]   -> Set field 'alarm' = "2026-02-14 15:35:35"
[2026-02-14 21:36:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-14 21:36:04] [INFO]   -> Found value: 2026-02-14 15:35:57
[2026-02-14 21:36:04] [INFO]   -> Set field 'dispatched' = "2026-02-14 15:35:57"
[2026-02-14 21:36:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-14 21:36:04] [INFO]   -> Found value: HILL RD/GARRISON RD
[2026-02-14 21:36:04] [INFO]   -> Set field 'incidentLocationCross' = "HILL RD\/GARRISON RD"
[2026-02-14 21:36:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-14 21:36:04] [INFO]   -> Found value: PCFR
[2026-02-14 21:36:04] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-14 21:36:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-14 21:36:04] [INFO]   -> Found value: 2026-02-14 15:35:57
[2026-02-14 21:36:04] [INFO]   -> Set field 'timedispatch' = "2026-02-14 15:35:57"
[2026-02-14 21:36:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-14 21:36:04] [INFO]   -> No value found (null or empty)
[2026-02-14 21:36:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-14 21:36:04] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-14 21:36:04] [INFO]   -> Found value: 20260017055
[2026-02-14 21:36:04] [INFO]   -> Set field 'policeReportNumber' = "20260017055"
[2026-02-14 21:36:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-14 21:36:04] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02/14/26 15:35:53 BWILSON] [EMS] 69 YR OLD MALE  DIABETIC  [...
[2026-02-14 21:36:04] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/14\/26 15:35:53 BWILSON] [EMS] 69 YR OLD MALE  DIABETIC  [02\/14\/26 15:35:45 MCLAYBURN2] Event spawned from UNCONSCIOUS.  [02\/14\/2026 15:35:35 MCLAYBURN2] BLOOD SUGAR DROPPING  [02\/14\/26 15:35:31 MCLAYBURN2]]"
[2026-02-14 21:36:04] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/14\/26 15:35:53 BWILSON] [EMS] 69 YR OLD MALE  DIABETIC  [02\/14\/26 15:35:45 MCLAYBURN2] Event spawned from UNCONSCIOUS.  [02\/14\/2026 15:35:35 MCLAYBURN2] BLOOD SUGAR DROPPING  [02\/14\/26 15:35:31 MCLAYBURN2]]"
[2026-02-14 21:36:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-14 21:36:04] [INFO]   -> Found value: COOKEVILLE
[2026-02-14 21:36:04] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-14 21:36:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-14 21:36:04] [INFO]   -> Found value: DODSON BRANCH
[2026-02-14 21:36:04] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-02-14 21:36:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-14 21:36:04] [INFO]   -> Found value: RD
[2026-02-14 21:36:04] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-14 21:36:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-14 21:36:04] [INFO]   -> Found value: 6217 DODSON BRANCH RD
[2026-02-14 21:36:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6217 DODSON BRANCH RD"
[2026-02-14 21:36:04] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-14 21:36:04] [INFO] Concatenating street name and type
[2026-02-14 21:36:04] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-02-14 21:36:04] [INFO] Built locationCoordinates from lat/lng: 36.24474,-85.51629
[2026-02-14 21:36:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000443","dispatchRunNumber":"2026000443","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":6217,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24474000000000017962520360015332698822021484375,"nERISIncidentLongitude":-85.516289999999997917257132939994335174560546875,"alarm":"2026-02-14 15:35:35","dispatched":"2026-02-14 15:35:57","incidentLocationCross":"HILL RD\/GARRISON RD","cADVehicleID":"PCFR","timedispatch":"2026-02-14 15:35:57","policeReportNumber":"20260017055","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/14\/26 15:35:53 BWILSON] [EMS] 69 YR OLD MALE  DIABETIC  [02\/14\/26 15:35:45 MCLAYBURN2] Event spawned from UNCONSCIOUS.  [02\/14\/2026 15:35:35 MCLAYBURN2] BLOOD SUGAR DROPPING  [02\/14\/26 15:35:31 MCLAYBURN2]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/14\/26 15:35:53 BWILSON] [EMS] 69 YR OLD MALE  DIABETIC  [02\/14\/26 15:35:45 MCLAYBURN2] Event spawned from UNCONSCIOUS.  [02\/14\/2026 15:35:35 MCLAYBURN2] BLOOD SUGAR DROPPING  [02\/14\/26 15:35:31 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"6217 DODSON BRANCH RD","locationCoordinates":"36.24474,-85.51629"}
[2026-02-14 21:36:04] [INFO] Number of extracted fields: 21
[2026-02-14 21:36:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-02-14 21:36:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-02-14 21:36:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-02-14 21:36:04] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-14 21:36:04] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-14 21:36:04] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-02-14 21:36:04] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-14 21:36:04] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-14 21:36:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-14 21:36:04] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-14 21:36:04] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-14 21:36:05] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-02-14 21:36:14] [INFO] Created new Dispatches record with ID: 6990eac56f3a17559
[2026-02-14 21:36:14] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-14 21:36:14] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-14 21:36:17] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-14 21:36:17] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260017055_20260214_213604.XML: Failed to upload file to V2 FTP server: /PCFD_20260017055_20260214_213604.XML
[2026-02-14 21:36:17] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-14 22:13:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:13:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:13:24] [INFO] File size: 12193 bytes
[2026-02-14 22:13:24] [INFO] Created FTPFiles record with ID: 6990f3845cb439f86
[2026-02-14 22:13:24] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:13:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108.xml
[2026-02-14 22:13:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:14:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:14:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:14:29] [INFO] File size: 14419 bytes
[2026-02-14 22:14:29] [INFO] Created FTPFiles record with ID: 6990f3c57da7c4987
[2026-02-14 22:14:29] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:14:29] [INFO] File already exists in archive, using unique name: cfs_2026-010108_1771107269.xml
[2026-02-14 22:14:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108_1771107269.xml
[2026-02-14 22:14:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:14:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:14:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:14:36] [INFO] File size: 16645 bytes
[2026-02-14 22:14:36] [INFO] Created FTPFiles record with ID: 6990f3cc997f1aa74
[2026-02-14 22:14:36] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:14:36] [INFO] File already exists in archive, using unique name: cfs_2026-010108_1771107276.xml
[2026-02-14 22:14:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108_1771107276.xml
[2026-02-14 22:14:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:14:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:14:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:14:50] [INFO] File size: 17598 bytes
[2026-02-14 22:14:50] [INFO] Created FTPFiles record with ID: 6990f3da56dc98b31
[2026-02-14 22:14:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:14:50] [INFO] File already exists in archive, using unique name: cfs_2026-010108_1771107290.xml
[2026-02-14 22:14:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108_1771107290.xml
[2026-02-14 22:14:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:15:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:15:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:15:01] [INFO] File size: 18548 bytes
[2026-02-14 22:15:01] [INFO] Created FTPFiles record with ID: 6990f3e58f54d4b5f
[2026-02-14 22:15:01] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:15:01] [INFO] File already exists in archive, using unique name: cfs_2026-010108_1771107301.xml
[2026-02-14 22:15:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108_1771107301.xml
[2026-02-14 22:15:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:17:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:17:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:17:28] [INFO] File size: 20172 bytes
[2026-02-14 22:17:29] [INFO] Created FTPFiles record with ID: 6990f47921ceffada
[2026-02-14 22:17:29] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:17:29] [INFO] File already exists in archive, using unique name: cfs_2026-010108_1771107449.xml
[2026-02-14 22:17:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108_1771107449.xml
[2026-02-14 22:17:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:19:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:19:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:19:40] [INFO] File size: 21776 bytes
[2026-02-14 22:19:40] [INFO] Created FTPFiles record with ID: 6990f4fca4fd23b9b
[2026-02-14 22:19:40] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:19:40] [INFO] File already exists in archive, using unique name: cfs_2026-010108_1771107580.xml
[2026-02-14 22:19:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108_1771107580.xml
[2026-02-14 22:19:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:20:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
[2026-02-14 22:20:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml for user: 69320e6a9e3e5ef71
[2026-02-14 22:20:02] [INFO] File size: 23353 bytes
[2026-02-14 22:20:02] [INFO] Created FTPFiles record with ID: 6990f512c7e568e11
[2026-02-14 22:20:02] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-14 22:20:02] [INFO] File already exists in archive, using unique name: cfs_2026-010108_1771107602.xml
[2026-02-14 22:20:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-14/cfs_2026-010108_1771107602.xml
[2026-02-14 22:20:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-010108.xml
