[2026-02-22 00:57:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260019713_20260222_005720.XML
[2026-02-22 00:57:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260019713_20260222_005720.XML for user: 68f1466aed072ad4a
[2026-02-22 00:57:20] [INFO] File size: 5292 bytes
[2026-02-22 00:57:21] [INFO] Created FTPFiles record with ID: 699a547103446e6c9
[2026-02-22 00:57:21] [INFO] About to extract fields from XML. File size: 5292 bytes
[2026-02-22 00:57:21] [INFO] Number of mappings: 28
[2026-02-22 00:57:21] [INFO] Starting XML parsing. Content length: 5292
[2026-02-22 00:57:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 00:57:21] [INFO] Processing 28 field mappings
[2026-02-22 00:57:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 00:57:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 00:57:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 00:57:21] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-22 00:57:21] [INFO]   -> Found value: BFD
EMS
BPD
[2026-02-22 00:57:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nEMS\nBPD"
[2026-02-22 00:57:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 00:57:21] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-22 00:57:21] [INFO]   -> Found value: 2026000059
[2026-02-22 00:57:21] [INFO]   -> Set field 'incidentInternalId' = "2026000059"
[2026-02-22 00:57:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000059"
[2026-02-22 00:57:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 00:57:21] [INFO]   -> Found value: CHEST PAIN
[2026-02-22 00:57:21] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-02-22 00:57:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 00:57:21] [INFO]   -> Found value: 217
[2026-02-22 00:57:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 217
[2026-02-22 00:57:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 00:57:21] [INFO]   -> Found value: TN
[2026-02-22 00:57:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 00:57:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 00:57:21] [INFO]   -> Found value: 38544
[2026-02-22 00:57:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-02-22 00:57:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 00:57:21] [INFO]   -> Found value: 36.15562
[2026-02-22 00:57:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15561999999999898136593401432037353515625
[2026-02-22 00:57:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 00:57:21] [INFO]   -> Found value: -85.64373
[2026-02-22 00:57:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.643730000000005020410753786563873291015625
[2026-02-22 00:57:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 00:57:21] [INFO]   -> Found value: 2026-02-21 18:55:57
[2026-02-22 00:57:21] [INFO]   -> Set field 'alarm' = "2026-02-21 18:55:57"
[2026-02-22 00:57:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 00:57:21] [INFO]   -> Found value: 2026-02-21 18:57:06
[2026-02-22 00:57:21] [INFO]   -> Set field 'dispatched' = "2026-02-21 18:57:06"
[2026-02-22 00:57:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 00:57:21] [INFO]   -> Found value: ALEXANDER ST/MAXWELL ST
[2026-02-22 00:57:21] [INFO]   -> Set field 'incidentLocationCross' = "ALEXANDER ST\/MAXWELL ST"
[2026-02-22 00:57:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 00:57:21] [INFO]   -> Found value: BEN2
[2026-02-22 00:57:21] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-02-22 00:57:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 00:57:21] [INFO]   -> Found value: 2026-02-21 18:57:06
[2026-02-22 00:57:21] [INFO]   -> Set field 'timedispatch' = "2026-02-21 18:57:06"
[2026-02-22 00:57:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 00:57:21] [INFO]   -> No value found (null or empty)
[2026-02-22 00:57:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 00:57:21] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-22 00:57:21] [INFO]   -> Found value: 20260019713
[2026-02-22 00:57:21] [INFO]   -> Set field 'policeReportNumber' = "20260019713"
[2026-02-22 00:57:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 00:57:21] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02/21/26 18:56:36 BAHARRIS] Event spawned from CHEST PAIN.  ...
[2026-02-22 00:57:21] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/21\/26 18:56:36 BAHARRIS] Event spawned from CHEST PAIN.  [02\/21\/2026 18:55:57 BPICHE] believes brother is having heart attack 82 yom  cardiac history  front door unlocked  [02\/21\/26 18:55:39 BPICHE]]"
[2026-02-22 00:57:21] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/21\/26 18:56:36 BAHARRIS] Event spawned from CHEST PAIN.  [02\/21\/2026 18:55:57 BPICHE] believes brother is having heart attack 82 yom  cardiac history  front door unlocked  [02\/21\/26 18:55:39 BPICHE]]"
[2026-02-22 00:57:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 00:57:21] [INFO]   -> Found value: BAXTER
[2026-02-22 00:57:21] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-02-22 00:57:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 00:57:21] [INFO]   -> Found value: SEWELL
[2026-02-22 00:57:21] [INFO]   -> Set field 'streetName' = "SEWELL"
[2026-02-22 00:57:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 00:57:21] [INFO]   -> Found value: ST
[2026-02-22 00:57:21] [INFO]   -> Set field 'streetType' = "ST"
[2026-02-22 00:57:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 00:57:21] [INFO]   -> Found value: 217 SEWELL ST
[2026-02-22 00:57:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "217 SEWELL ST"
[2026-02-22 00:57:21] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-22 00:57:21] [INFO] Concatenating street name and type
[2026-02-22 00:57:21] [INFO]   -> Combined street name: SEWELL ST
[2026-02-22 00:57:21] [INFO] Built locationCoordinates from lat/lng: 36.15562,-85.64373
[2026-02-22 00:57:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nEMS\nBPD","incidentInternalId":"2026000059","dispatchRunNumber":"2026000059","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":217,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15561999999999898136593401432037353515625,"nERISIncidentLongitude":-85.643730000000005020410753786563873291015625,"alarm":"2026-02-21 18:55:57","dispatched":"2026-02-21 18:57:06","incidentLocationCross":"ALEXANDER ST\/MAXWELL ST","cADVehicleID":"BEN2","timedispatch":"2026-02-21 18:57:06","policeReportNumber":"20260019713","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/21\/26 18:56:36 BAHARRIS] Event spawned from CHEST PAIN.  [02\/21\/2026 18:55:57 BPICHE] believes brother is having heart attack 82 yom  cardiac history  front door unlocked  [02\/21\/26 18:55:39 BPICHE]]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/21\/26 18:56:36 BAHARRIS] Event spawned from CHEST PAIN.  [02\/21\/2026 18:55:57 BPICHE] believes brother is having heart attack 82 yom  cardiac history  front door unlocked  [02\/21\/26 18:55:39 BPICHE]]","incidentLocationCity":"BAXTER","streetName":"SEWELL ST","incidentAddressTextVersionStreet":"217 SEWELL ST","locationCoordinates":"36.15562,-85.64373"}
[2026-02-22 00:57:21] [INFO] Number of extracted fields: 21
[2026-02-22 00:57:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
EMS
BPD'
[2026-02-22 00:57:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
EMS
BPD', Parsed IDs = ["BFD","EMS","BPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-22 00:57:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","EMS","BPD"]
[2026-02-22 00:57:21] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-22 00:57:21] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-22 00:57:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","BPD"]
[2026-02-22 00:57:21] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-22 00:57:21] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-22 00:57:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-22 00:57:21] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-02-22 00:57:21] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-22 00:57:21] [INFO] Found existing IncidentTypeMapping with ID: 6945b04638c613faf
[2026-02-22 00:57:25] [INFO] Created new Dispatches record with ID: 699a5471e01285ea7
[2026-02-22 00:57:25] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 00:57:25] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 00:57:25] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 00:57:25] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260019713_20260222_005720.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 00:57:25] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 01:45:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05454.xml
[2026-02-22 01:45:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05454.xml for user: 68d56363ec1209189
[2026-02-22 01:45:53] [INFO] File size: 2786 bytes
[2026-02-22 01:45:53] [INFO] Created FTPFiles record with ID: 699a5fd1d3ac72482
[2026-02-22 01:45:53] [INFO] About to extract fields from XML. File size: 2786 bytes
[2026-02-22 01:45:53] [INFO] Number of mappings: 21
[2026-02-22 01:45:53] [INFO] Starting XML parsing. Content length: 2786
[2026-02-22 01:45:53] [INFO] XML parsed successfully. Root element: Incident
[2026-02-22 01:45:53] [INFO] Processing 21 field mappings
[2026-02-22 01:45:53] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-22 01:45:53] [INFO]   -> Found value: 26-05454
[2026-02-22 01:45:53] [INFO]   -> Set field 'dispatchRunNumber' = "26-05454"
[2026-02-22 01:45:53] [INFO]   -> Set field 'cADNumber' = "26-05454"
[2026-02-22 01:45:53] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-22 01:45:53] [INFO]   -> Found value: 1210
[2026-02-22 01:45:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1210
[2026-02-22 01:45:53] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-22 01:45:53] [INFO]   -> Found value: S MAIN ST
[2026-02-22 01:45:53] [INFO]   -> Set field 'streetName' = "S MAIN ST"
[2026-02-22 01:45:53] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-22 01:45:53] [INFO]   -> No value found (null or empty)
[2026-02-22 01:45:53] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-22 01:45:53] [INFO]   -> Found value: SIKESTON
[2026-02-22 01:45:53] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-22 01:45:53] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-22 01:45:53] [INFO]   -> Found value: DOLLAR TREE
[2026-02-22 01:45:53] [INFO]   -> Set field 'businessName' = "DOLLAR TREE"
[2026-02-22 01:45:53] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-22 01:45:53] [INFO]   -> Found value: MO
[2026-02-22 01:45:53] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-22 01:45:53] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-22 01:45:53] [INFO]   -> Found value: 63801
[2026-02-22 01:45:53] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-22 01:45:53] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-22 01:45:53] [INFO]   -> Found value: 0
[2026-02-22 01:45:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-22 01:45:53] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-22 01:45:53] [INFO]   -> Found value: 0
[2026-02-22 01:45:53] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-22 01:45:53] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-22 01:45:53] [INFO]   -> Found value: FIRE-GAS LEAK
[2026-02-22 01:45:53] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2026-02-22 01:45:53] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026 18:54:24|SMELLING GAS IN FREIGHT ROOM
GETTING EVERYBODY OUT OF BUILDING
 02-21-2026 18:57...
[2026-02-22 01:45:53] [INFO]   -> Set field 'dispatchNotes' = "02-21-2026 18:54:24|SMELLING GAS IN FREIGHT ROOM\nGETTING EVERYBODY OUT OF BUILDING\n 02-21-2026 18:57:08|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 02\/21\/2026 18:53:54\nNotes: Call Received on 02\/21\/2026 @ 18:53\n\nCARD DELAYED IN CREATION WHEN OPERATOR ANSWERED THE 911 CALL \n\n****** Appended notes from Work Area end   ******\n 02-21-2026 19:00:21|513 ON SCENE SINGLE STORY NOTHING SHOWING 02-21-2026 19:00:32|BUILDING HAS BEEN EVACUATED PER MANAGEMENT 02-21-2026 19:00:44|LIBERTY NOTIFIED 02-21-2026 19:00:51|BUILDING IS EVACUATED 02-21-2026 19:23:49|C88 ADVISED GAS COMPANY ON SCENE 02-21-2026 19:24:42|C78 WITH COMMAND 02-21-2026 19:44:39|GAS COMPANY DID NOT LOCATE A LEAK ADVISED IT MAY BE A PRODUCT SOLD BY STORE LEAKING 02-21-2026 19:45:06|ALL UNIT  CLEARED BY COMMAND"
[2026-02-22 01:45:53] [INFO]   -> Set field 'cADLog' = "02-21-2026 18:54:24|SMELLING GAS IN FREIGHT ROOM\nGETTING EVERYBODY OUT OF BUILDING\n 02-21-2026 18:57:08|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 02\/21\/2026 18:53:54\nNotes: Call Received on 02\/21\/2026 @ 18:53\n\nCARD DELAYED IN CREATION WHEN OPERATOR ANSWERED THE 911 CALL \n\n****** Appended notes from Work Area end   ******\n 02-21-2026 19:00:21|513 ON SCENE SINGLE STORY NOTHING SHOWING 02-21-2026 19:00:32|BUILDING HAS BEEN EVACUATED PER MANAGEMENT 02-21-2026 19:00:44|LIBERTY NOTIFIED 02-21-2026 19:00:51|BUILDING IS EVACUATED 02-21-2026 19:23:49|C88 ADVISED GAS COMPANY ON SCENE 02-21-2026 19:24:42|C78 WITH COMMAND 02-21-2026 19:44:39|GAS COMPANY DID NOT LOCATE A LEAK ADVISED IT MAY BE A PRODUCT SOLD BY STORE LEAKING 02-21-2026 19:45:06|ALL UNIT  CLEARED BY COMMAND"
[2026-02-22 01:45:53] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026T18:57:32
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T18:57:32
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T18:57:32': Failed to parse time string (2026-21-02T18:57:32) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'alarm' = null
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T18:57:32
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T18:57:32': Failed to parse time string (2026-21-02T18:57:32) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'dispatched' = null
[2026-02-22 01:45:53] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026T18:59:43
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T18:59:43
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T18:59:43': Failed to parse time string (2026-21-02T18:59:43) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'onScene' = null
[2026-02-22 01:45:53] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026T19:45:25
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T19:45:25
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T19:45:25': Failed to parse time string (2026-21-02T19:45:25) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'cleared' = null
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T19:45:25
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T19:45:25': Failed to parse time string (2026-21-02T19:45:25) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'inService' = null
[2026-02-22 01:45:53] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-22 01:45:53] [INFO]   -> Found value: ENG2
[2026-02-22 01:45:53] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-02-22 01:45:53] [INFO]   -> Set field 'name' = "ENG2"
[2026-02-22 01:45:53] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026T18:58:03
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T18:58:03
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T18:58:03': Failed to parse time string (2026-21-02T18:58:03) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-22 01:45:53] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026T19:04:32
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T19:04:32
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T19:04:32': Failed to parse time string (2026-21-02T19:04:32) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'timeonscene' = null
[2026-02-22 01:45:53] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026T19:45:25
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T19:45:25
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T19:45:25': Failed to parse time string (2026-21-02T19:45:25) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 01:45:53] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-22 01:45:53] [INFO]   -> Found value: 02-21-2026T18:58:01
[2026-02-22 01:45:53] [INFO] Reformatted DD-MM-YYYY date '02-21-2026' (day=02, month=21) to ISO: 2026-21-02T18:58:01
[2026-02-22 01:45:53] [ERROR] Error formatting datetime '2026-21-02T18:58:01': Failed to parse time string (2026-21-02T18:58:01) at position 6 (1): Unexpected character
[2026-02-22 01:45:53] [INFO]   -> Set field 'timedispatch' = null
[2026-02-22 01:45:53] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-22 01:45:53] [INFO]   -> Found value: SDPSFD
[2026-02-22 01:45:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-22 01:45:53] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-02-22 01:45:53] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-22 01:45:53] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-05454","cADNumber":"26-05454","incidentLocationStreetNumber":1210,"streetName":"S MAIN ST","incidentLocationCity":"SIKESTON","businessName":"DOLLAR TREE","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"02-21-2026 18:54:24|SMELLING GAS IN FREIGHT ROOM\nGETTING EVERYBODY OUT OF BUILDING\n 02-21-2026 18:57:08|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 02\/21\/2026 18:53:54\nNotes: Call Received on 02\/21\/2026 @ 18:53\n\nCARD DELAYED IN CREATION WHEN OPERATOR ANSWERED THE 911 CALL \n\n****** Appended notes from Work Area end   ******\n 02-21-2026 19:00:21|513 ON SCENE SINGLE STORY NOTHING SHOWING 02-21-2026 19:00:32|BUILDING HAS BEEN EVACUATED PER MANAGEMENT 02-21-2026 19:00:44|LIBERTY NOTIFIED 02-21-2026 19:00:51|BUILDING IS EVACUATED 02-21-2026 19:23:49|C88 ADVISED GAS COMPANY ON SCENE 02-21-2026 19:24:42|C78 WITH COMMAND 02-21-2026 19:44:39|GAS COMPANY DID NOT LOCATE A LEAK ADVISED IT MAY BE A PRODUCT SOLD BY STORE LEAKING 02-21-2026 19:45:06|ALL UNIT  CLEARED BY COMMAND","cADLog":"02-21-2026 18:54:24|SMELLING GAS IN FREIGHT ROOM\nGETTING EVERYBODY OUT OF BUILDING\n 02-21-2026 18:57:08|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 02\/21\/2026 18:53:54\nNotes: Call Received on 02\/21\/2026 @ 18:53\n\nCARD DELAYED IN CREATION WHEN OPERATOR ANSWERED THE 911 CALL \n\n****** Appended notes from Work Area end   ******\n 02-21-2026 19:00:21|513 ON SCENE SINGLE STORY NOTHING SHOWING 02-21-2026 19:00:32|BUILDING HAS BEEN EVACUATED PER MANAGEMENT 02-21-2026 19:00:44|LIBERTY NOTIFIED 02-21-2026 19:00:51|BUILDING IS EVACUATED 02-21-2026 19:23:49|C88 ADVISED GAS COMPANY ON SCENE 02-21-2026 19:24:42|C78 WITH COMMAND 02-21-2026 19:44:39|GAS COMPANY DID NOT LOCATE A LEAK ADVISED IT MAY BE A PRODUCT SOLD BY STORE LEAKING 02-21-2026 19:45:06|ALL UNIT  CLEARED BY COMMAND","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-22 01:45:53] [INFO] Number of extracted fields: 26
[2026-02-22 01:45:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-22 01:45: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-22 01:45:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-22 01:45:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-22 01:45:54] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-22 01:45:54] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-22 01:45:54] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-22 01:45:54] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-22 01:45:54] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2026-02-22 01:45:55] [INFO] Created new Dispatches record with ID: 699a5fd296645eeda
[2026-02-22 01:45:55] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-22
[2026-02-22 01:45:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05454.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-22/SDPSFD_26-05454.xml
[2026-02-22 01:45:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05454.xml
[2026-02-22 03:07:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019729_20260222_030720.XML
[2026-02-22 03:07:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019729_20260222_030720.XML for user: 68f1466aed072ad4a
[2026-02-22 03:07:21] [INFO] File size: 5554 bytes
[2026-02-22 03:07:21] [INFO] Created FTPFiles record with ID: 699a72e94b240d05e
[2026-02-22 03:07:21] [INFO] About to extract fields from XML. File size: 5554 bytes
[2026-02-22 03:07:21] [INFO] Number of mappings: 28
[2026-02-22 03:07:21] [INFO] Starting XML parsing. Content length: 5554
[2026-02-22 03:07:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 03:07:21] [INFO] Processing 28 field mappings
[2026-02-22 03:07:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 03:07:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 03:07:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 03:07:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-22 03:07:21] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
[2026-02-22 03:07:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC"
[2026-02-22 03:07:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 03:07:21] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-22 03:07:21] [INFO]   -> Found value: 2026000503
[2026-02-22 03:07:21] [INFO]   -> Set field 'incidentInternalId' = "2026000503"
[2026-02-22 03:07:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000503"
[2026-02-22 03:07:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 03:07:21] [INFO]   -> Found value: MEDICAL CALL
[2026-02-22 03:07:21] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-02-22 03:07:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 03:07:21] [INFO]   -> Found value: 7659
[2026-02-22 03:07:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 7659
[2026-02-22 03:07:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 03:07:21] [INFO]   -> Found value: TN
[2026-02-22 03:07:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 03:07:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 03:07:21] [INFO]   -> Found value: 38544
[2026-02-22 03:07:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-02-22 03:07:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 03:07:21] [INFO]   -> Found value: 36.06091
[2026-02-22 03:07:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.06090999999999979763742885552346706390380859375
[2026-02-22 03:07:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 03:07:21] [INFO]   -> Found value: -85.62656
[2026-02-22 03:07:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6265599999999977853804011829197406768798828125
[2026-02-22 03:07:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 03:07:21] [INFO]   -> Found value: 2026-02-21 21:06:33
[2026-02-22 03:07:21] [INFO]   -> Set field 'alarm' = "2026-02-21 21:06:33"
[2026-02-22 03:07:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 03:07:21] [INFO]   -> Found value: 2026-02-21 21:07:09
[2026-02-22 03:07:21] [INFO]   -> Set field 'dispatched' = "2026-02-21 21:07:09"
[2026-02-22 03:07:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 03:07:21] [INFO]   -> Found value: PCFR
[2026-02-22 03:07:21] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-22 03:07:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 03:07:21] [INFO]   -> Found value: 2026-02-21 21:07:09
[2026-02-22 03:07:21] [INFO]   -> Set field 'timedispatch' = "2026-02-21 21:07:09"
[2026-02-22 03:07:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 03:07:21] [INFO]   -> No value found (null or empty)
[2026-02-22 03:07:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 03:07:21] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-22 03:07:21] [INFO]   -> Found value: 20260019729
[2026-02-22 03:07:21] [INFO]   -> Set field 'policeReportNumber' = "20260019729"
[2026-02-22 03:07:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 03:07:21] [INFO]   -> Found value: [EMS] 7400 REQ 1ST RESPONDERS NON EMERGENCY AT THIS TIME  [02/21/26 21:06:55 TSCOTT] Event spawned f...
[2026-02-22 03:07:21] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 7400 REQ 1ST RESPONDERS NON EMERGENCY AT THIS TIME  [02\/21\/26 21:06:55 TSCOTT] Event spawned from EMS NON-EMERGENCY.  [02\/21\/2026 21:06:33 TSCOTT] EMS WILL STAGE  [02\/21\/26 20:59:58 TSCOTT] Event spawned from INVESTIGATION.  [02\/21\/2026 20:57:22 BAHARRIS] CALLER ON PRIVATE LINE ADVISED SUBJ UNCON IN MIDDLE OF ROAD HALFWAY DOWN OLD MILL RD \/ CALLER DISCONNECTED  [02\/21\/26 20:57:04 BAHARRIS]"
[2026-02-22 03:07:21] [INFO]   -> Set field 'cADLog' = "[EMS] 7400 REQ 1ST RESPONDERS NON EMERGENCY AT THIS TIME  [02\/21\/26 21:06:55 TSCOTT] Event spawned from EMS NON-EMERGENCY.  [02\/21\/2026 21:06:33 TSCOTT] EMS WILL STAGE  [02\/21\/26 20:59:58 TSCOTT] Event spawned from INVESTIGATION.  [02\/21\/2026 20:57:22 BAHARRIS] CALLER ON PRIVATE LINE ADVISED SUBJ UNCON IN MIDDLE OF ROAD HALFWAY DOWN OLD MILL RD \/ CALLER DISCONNECTED  [02\/21\/26 20:57:04 BAHARRIS]"
[2026-02-22 03:07:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 03:07:21] [INFO]   -> Found value: BAXTER
[2026-02-22 03:07:21] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-02-22 03:07:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 03:07:21] [INFO]   -> Found value: OLD MILL
[2026-02-22 03:07:21] [INFO]   -> Set field 'streetName' = "OLD MILL"
[2026-02-22 03:07:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 03:07:21] [INFO]   -> Found value: RD
[2026-02-22 03:07:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-22 03:07:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 03:07:21] [INFO]   -> Found value: OLD MILL RD/HICKEY RIDGE RD
[2026-02-22 03:07:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "OLD MILL RD\/HICKEY RIDGE RD"
[2026-02-22 03:07:21] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-22 03:07:21] [INFO] Concatenating street name and type
[2026-02-22 03:07:21] [INFO]   -> Combined street name: OLD MILL RD
[2026-02-22 03:07:21] [INFO] Built locationCoordinates from lat/lng: 36.06091,-85.62656
[2026-02-22 03:07:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC","incidentInternalId":"2026000503","dispatchRunNumber":"2026000503","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":7659,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.06090999999999979763742885552346706390380859375,"nERISIncidentLongitude":-85.6265599999999977853804011829197406768798828125,"alarm":"2026-02-21 21:06:33","dispatched":"2026-02-21 21:07:09","cADVehicleID":"PCFR","timedispatch":"2026-02-21 21:07:09","policeReportNumber":"20260019729","dispatchNotes":"[EMS] 7400 REQ 1ST RESPONDERS NON EMERGENCY AT THIS TIME  [02\/21\/26 21:06:55 TSCOTT] Event spawned from EMS NON-EMERGENCY.  [02\/21\/2026 21:06:33 TSCOTT] EMS WILL STAGE  [02\/21\/26 20:59:58 TSCOTT] Event spawned from INVESTIGATION.  [02\/21\/2026 20:57:22 BAHARRIS] CALLER ON PRIVATE LINE ADVISED SUBJ UNCON IN MIDDLE OF ROAD HALFWAY DOWN OLD MILL RD \/ CALLER DISCONNECTED  [02\/21\/26 20:57:04 BAHARRIS]","cADLog":"[EMS] 7400 REQ 1ST RESPONDERS NON EMERGENCY AT THIS TIME  [02\/21\/26 21:06:55 TSCOTT] Event spawned from EMS NON-EMERGENCY.  [02\/21\/2026 21:06:33 TSCOTT] EMS WILL STAGE  [02\/21\/26 20:59:58 TSCOTT] Event spawned from INVESTIGATION.  [02\/21\/2026 20:57:22 BAHARRIS] CALLER ON PRIVATE LINE ADVISED SUBJ UNCON IN MIDDLE OF ROAD HALFWAY DOWN OLD MILL RD \/ CALLER DISCONNECTED  [02\/21\/26 20:57:04 BAHARRIS]","incidentLocationCity":"BAXTER","streetName":"OLD MILL RD","incidentAddressTextVersionStreet":"OLD MILL RD\/HICKEY RIDGE RD","locationCoordinates":"36.06091,-85.62656"}
[2026-02-22 03:07:21] [INFO] Number of extracted fields: 20
[2026-02-22 03:07:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC'
[2026-02-22 03:07:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
RESC', Parsed IDs = ["PCFD","PCSO","EMS","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-02-22 03:07:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","RESC"]
[2026-02-22 03:07:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-22 03:07:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-22 03:07:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","RESC"]
[2026-02-22 03:07:21] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-22 03:07:21] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-22 03:07:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-22 03:07:21] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-22 03:07:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-22 03:07:21] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-02-22 03:07:32] [INFO] Created new Dispatches record with ID: 699a72ea1311c66a9
[2026-02-22 03:07:32] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 03:07:32] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 03:07:32] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 03:07:32] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019729_20260222_030720.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 03:07:32] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 04:03:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:18Z.xml
[2026-02-22 04:03:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:18Z.xml
[2026-02-22 04:03:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:21Z.xml
[2026-02-22 04:03:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:21Z.xml
[2026-02-22 04:03:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:21Z.xml
[2026-02-22 04:03:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:21Z.xml
[2026-02-22 04:03:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:22Z.xml
[2026-02-22 04:03:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:22Z.xml
[2026-02-22 04:03:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:22Z.xml
[2026-02-22 04:03:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:22Z.xml
[2026-02-22 04:03:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:25Z.xml
[2026-02-22 04:03:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:25Z.xml
[2026-02-22 04:03:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:25Z.xml
[2026-02-22 04:03:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:03:25Z.xml
[2026-02-22 04:04:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:47Z.xml
[2026-02-22 04:04:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:47Z.xml
[2026-02-22 04:04:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:47Z.xml
[2026-02-22 04:04:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:47Z.xml
[2026-02-22 04:04:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:48Z.xml
[2026-02-22 04:04:49] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:48Z.xml
[2026-02-22 04:04:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:48Z.xml
[2026-02-22 04:04:49] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:04:48Z.xml
[2026-02-22 04:06:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:06:13Z.xml
[2026-02-22 04:06:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:06:13Z.xml
[2026-02-22 04:07:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:07:30Z.xml
[2026-02-22 04:07:31] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:07:30Z.xml
[2026-02-22 04:10:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:10:36Z.xml
[2026-02-22 04:10:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:10:36Z.xml
[2026-02-22 04:10:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:10:37Z.xml
[2026-02-22 04:10:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:10:37Z.xml
[2026-02-22 04:10:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:10:37Z.xml
[2026-02-22 04:10:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:10:37Z.xml
[2026-02-22 04:11:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:19Z.xml
[2026-02-22 04:11:20] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:19Z.xml
[2026-02-22 04:11:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:19Z.xml
[2026-02-22 04:11:20] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:19Z.xml
[2026-02-22 04:11:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:20Z.xml
[2026-02-22 04:11:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:20Z.xml
[2026-02-22 04:11:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:20Z.xml
[2026-02-22 04:11:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:20Z.xml
[2026-02-22 04:11:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:21Z.xml
[2026-02-22 04:11:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:21Z.xml
[2026-02-22 04:11:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:23Z.xml
[2026-02-22 04:11:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:11:23Z.xml
[2026-02-22 04:13:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:13:22Z.xml
[2026-02-22 04:13:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:13:22Z.xml
[2026-02-22 04:13:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:13:22Z.xml
[2026-02-22 04:13:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:13:22Z.xml
[2026-02-22 04:21:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:47Z.xml
[2026-02-22 04:21:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:47Z.xml
[2026-02-22 04:21:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:51Z.xml
[2026-02-22 04:21:52] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:51Z.xml
[2026-02-22 04:21:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:52Z.xml
[2026-02-22 04:21:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:52Z.xml
[2026-02-22 04:21:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:54Z.xml
[2026-02-22 04:21:55] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:54Z.xml
[2026-02-22 04:21:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:54Z.xml
[2026-02-22 04:21:55] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:54Z.xml
[2026-02-22 04:21:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:55Z.xml
[2026-02-22 04:21:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:21:55Z.xml
[2026-02-22 04:22:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:18Z.xml
[2026-02-22 04:22:19] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:18Z.xml
[2026-02-22 04:22:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:19Z.xml
[2026-02-22 04:22:20] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:19Z.xml
[2026-02-22 04:22:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:19Z.xml
[2026-02-22 04:22:20] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:19Z.xml
[2026-02-22 04:22:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:20Z.xml
[2026-02-22 04:22:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:20Z.xml
[2026-02-22 04:22:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:20Z.xml
[2026-02-22 04:22:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:20Z.xml
[2026-02-22 04:22:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:21Z.xml
[2026-02-22 04:22:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:21Z.xml
[2026-02-22 04:22:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:22Z.xml
[2026-02-22 04:22:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:22Z.xml
[2026-02-22 04:22:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:22Z.xml
[2026-02-22 04:22:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:22Z.xml
[2026-02-22 04:22:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:35Z.xml
[2026-02-22 04:22:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-008388_2026-02-21 22:22:35Z.xml
[2026-02-22 08:12:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019776_20260222_081234.XML
[2026-02-22 08:12:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019776_20260222_081234.XML for user: 68f1466aed072ad4a
[2026-02-22 08:12:34] [INFO] File size: 5782 bytes
[2026-02-22 08:12:34] [INFO] Created FTPFiles record with ID: 699aba729eb145f60
[2026-02-22 08:12:34] [INFO] About to extract fields from XML. File size: 5782 bytes
[2026-02-22 08:12:34] [INFO] Number of mappings: 28
[2026-02-22 08:12:34] [INFO] Starting XML parsing. Content length: 5782
[2026-02-22 08:12:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 08:12:34] [INFO] Processing 28 field mappings
[2026-02-22 08:12:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 08:12:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 08:12:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 08:12:34] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-22 08:12:34] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-02-22 08:12:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-02-22 08:12:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 08:12:34] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-22 08:12:34] [INFO]   -> Found value: 2026000504
[2026-02-22 08:12:34] [INFO]   -> Set field 'incidentInternalId' = "2026000504"
[2026-02-22 08:12:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000504"
[2026-02-22 08:12:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 08:12:34] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2026-02-22 08:12:34] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2026-02-22 08:12:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 08:12:34] [INFO]   -> Found value: 5757
[2026-02-22 08:12:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5757
[2026-02-22 08:12:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 08:12:34] [INFO]   -> Found value: TN
[2026-02-22 08:12:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 08:12:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 08:12:34] [INFO]   -> Found value: 38506
[2026-02-22 08:12:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-22 08:12:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 08:12:34] [INFO]   -> Found value: 36.14697
[2026-02-22 08:12:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14697000000000315367287839762866497039794921875
[2026-02-22 08:12:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 08:12:34] [INFO]   -> Found value: -85.40632
[2026-02-22 08:12:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.40631999999999379724613390862941741943359375
[2026-02-22 08:12:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 08:12:34] [INFO]   -> Found value: 2026-02-22 02:10:08
[2026-02-22 08:12:34] [INFO]   -> Set field 'alarm' = "2026-02-22 02:10:08"
[2026-02-22 08:12:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 08:12:34] [INFO]   -> Found value: 2026-02-22 02:12:30
[2026-02-22 08:12:34] [INFO]   -> Set field 'dispatched' = "2026-02-22 02:12:30"
[2026-02-22 08:12:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 08:12:34] [INFO]   -> Found value: MT PLEASANT RD/ADAMS ACRES RD
[2026-02-22 08:12:34] [INFO]   -> Set field 'incidentLocationCross' = "MT PLEASANT RD\/ADAMS ACRES RD"
[2026-02-22 08:12:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 08:12:34] [INFO]   -> Found value: TK21
[2026-02-22 08:12:34] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-02-22 08:12:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 08:12:34] [INFO]   -> Found value: 2026-02-22 02:12:30
[2026-02-22 08:12:34] [INFO]   -> Set field 'timedispatch' = "2026-02-22 02:12:30"
[2026-02-22 08:12:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 08:12:34] [INFO]   -> No value found (null or empty)
[2026-02-22 08:12:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 08:12:34] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-22 08:12:34] [INFO]   -> Found value: 20260019776
[2026-02-22 08:12:34] [INFO]   -> Set field 'policeReportNumber' = "20260019776"
[2026-02-22 08:12:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 08:12:34] [INFO]   -> Found value: [EMS] STATE FARM STATED THAT IT COULD BE ON I 40 BUT THEY ARE NOT SURE  [02/22/26 02:11:30 SVOKOUN2]...
[2026-02-22 08:12:34] [INFO]   -> Set field 'dispatchNotes' = "[EMS] STATE FARM STATED THAT IT COULD BE ON I 40 BUT THEY ARE NOT SURE  [02\/22\/26 02:11:30 SVOKOUN2] [LAW] PCSO ENRT  [02\/22\/26 02:11:22 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 02:11:19 RJGIPSON] [EMS] STATE FARM HAD NO CONTACT WITH THE DRIVER OF THE VEH  [02\/22\/26 02:11:07 SVOKOUN2] [EMS] FORD RANGER  [02\/22\/26 02:10:23 SVOKOUN2] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/22\/2026 02:10:08 SVOKOUN2]"
[2026-02-22 08:12:34] [INFO]   -> Set field 'cADLog' = "[EMS] STATE FARM STATED THAT IT COULD BE ON I 40 BUT THEY ARE NOT SURE  [02\/22\/26 02:11:30 SVOKOUN2] [LAW] PCSO ENRT  [02\/22\/26 02:11:22 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 02:11:19 RJGIPSON] [EMS] STATE FARM HAD NO CONTACT WITH THE DRIVER OF THE VEH  [02\/22\/26 02:11:07 SVOKOUN2] [EMS] FORD RANGER  [02\/22\/26 02:10:23 SVOKOUN2] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/22\/2026 02:10:08 SVOKOUN2]"
[2026-02-22 08:12:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 08:12:34] [INFO]   -> Found value: COOKEVILLE
[2026-02-22 08:12:34] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-22 08:12:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 08:12:34] [INFO]   -> Found value: POPLAR GROVE
[2026-02-22 08:12:34] [INFO]   -> Set field 'streetName' = "POPLAR GROVE"
[2026-02-22 08:12:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 08:12:34] [INFO]   -> Found value: RD
[2026-02-22 08:12:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-22 08:12:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 08:12:34] [INFO]   -> Found value: 5757 POPLAR GROVE RD
[2026-02-22 08:12:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5757 POPLAR GROVE RD"
[2026-02-22 08:12:34] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-22 08:12:34] [INFO] Concatenating street name and type
[2026-02-22 08:12:34] [INFO]   -> Combined street name: POPLAR GROVE RD
[2026-02-22 08:12:34] [INFO] Built locationCoordinates from lat/lng: 36.14697,-85.40632
[2026-02-22 08:12:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000504","dispatchRunNumber":"2026000504","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":5757,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.14697000000000315367287839762866497039794921875,"nERISIncidentLongitude":-85.40631999999999379724613390862941741943359375,"alarm":"2026-02-22 02:10:08","dispatched":"2026-02-22 02:12:30","incidentLocationCross":"MT PLEASANT RD\/ADAMS ACRES RD","cADVehicleID":"TK21","timedispatch":"2026-02-22 02:12:30","policeReportNumber":"20260019776","dispatchNotes":"[EMS] STATE FARM STATED THAT IT COULD BE ON I 40 BUT THEY ARE NOT SURE  [02\/22\/26 02:11:30 SVOKOUN2] [LAW] PCSO ENRT  [02\/22\/26 02:11:22 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 02:11:19 RJGIPSON] [EMS] STATE FARM HAD NO CONTACT WITH THE DRIVER OF THE VEH  [02\/22\/26 02:11:07 SVOKOUN2] [EMS] FORD RANGER  [02\/22\/26 02:10:23 SVOKOUN2] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/22\/2026 02:10:08 SVOKOUN2]","cADLog":"[EMS] STATE FARM STATED THAT IT COULD BE ON I 40 BUT THEY ARE NOT SURE  [02\/22\/26 02:11:30 SVOKOUN2] [LAW] PCSO ENRT  [02\/22\/26 02:11:22 RJGIPSON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 02:11:19 RJGIPSON] [EMS] STATE FARM HAD NO CONTACT WITH THE DRIVER OF THE VEH  [02\/22\/26 02:11:07 SVOKOUN2] [EMS] FORD RANGER  [02\/22\/26 02:10:23 SVOKOUN2] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/22\/2026 02:10:08 SVOKOUN2]","incidentLocationCity":"COOKEVILLE","streetName":"POPLAR GROVE RD","incidentAddressTextVersionStreet":"5757 POPLAR GROVE RD","locationCoordinates":"36.14697,-85.40632"}
[2026-02-22 08:12:34] [INFO] Number of extracted fields: 21
[2026-02-22 08:12:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-02-22 08:12:34] [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-22 08:12:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-02-22 08:12:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-22 08:12:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-22 08:12:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-02-22 08:12:34] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-22 08:12:34] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-22 08:12:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-22 08:12:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-22 08:12:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-22 08:12:35] [INFO] Found existing IncidentTypeMapping with ID: 6955292c9085ffc0d
[2026-02-22 08:12:46] [INFO] Created new Dispatches record with ID: 699aba7360a3e5f94
[2026-02-22 08:12:46] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 08:12:46] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 08:12:46] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 08:12:46] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019776_20260222_081234.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 08:12:46] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 13:17:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019801_20260222_131705.XML
[2026-02-22 13:17:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019801_20260222_131705.XML for user: 68f1466aed072ad4a
[2026-02-22 13:17:05] [INFO] File size: 5521 bytes
[2026-02-22 13:17:05] [INFO] Created FTPFiles record with ID: 699b01d1ec7f66758
[2026-02-22 13:17:05] [INFO] About to extract fields from XML. File size: 5521 bytes
[2026-02-22 13:17:05] [INFO] Number of mappings: 28
[2026-02-22 13:17:05] [INFO] Starting XML parsing. Content length: 5521
[2026-02-22 13:17:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 13:17:05] [INFO] Processing 28 field mappings
[2026-02-22 13:17:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 13:17:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 13:17:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 13:17:05] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-22 13:17:05] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-02-22 13:17:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-02-22 13:17:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 13:17:05] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-22 13:17:05] [INFO]   -> Found value: 2026000505
[2026-02-22 13:17:05] [INFO]   -> Set field 'incidentInternalId' = "2026000505"
[2026-02-22 13:17:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000505"
[2026-02-22 13:17:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 13:17:05] [INFO]   -> Found value: UNCONSCIOUS
[2026-02-22 13:17:05] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-02-22 13:17:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 13:17:05] [INFO]   -> Found value: 1125
[2026-02-22 13:17:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1125
[2026-02-22 13:17:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 13:17:05] [INFO]   -> Found value: TN
[2026-02-22 13:17:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 13:17:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 13:17:05] [INFO]   -> Found value: 38501
[2026-02-22 13:17:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-02-22 13:17:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 13:17:05] [INFO]   -> Found value: ABSOLUTE CARE
[2026-02-22 13:17:05] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-02-22 13:17:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 13:17:05] [INFO]   -> Found value: 36.15172
[2026-02-22 13:17:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1517199999999974124875734560191631317138671875
[2026-02-22 13:17:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 13:17:05] [INFO]   -> Found value: -85.61602
[2026-02-22 13:17:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6160200000000060072125052101910114288330078125
[2026-02-22 13:17:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 13:17:05] [INFO]   -> Found value: 2026-02-22 07:16:02
[2026-02-22 13:17:05] [INFO]   -> Set field 'alarm' = "2026-02-22 07:16:02"
[2026-02-22 13:17:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 13:17:05] [INFO]   -> Found value: 2026-02-22 07:16:59
[2026-02-22 13:17:05] [INFO]   -> Set field 'dispatched' = "2026-02-22 07:16:59"
[2026-02-22 13:17:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 13:17:05] [INFO]   -> Found value: /FAWN DR
[2026-02-22 13:17:05] [INFO]   -> Set field 'incidentLocationCross' = "\/FAWN DR"
[2026-02-22 13:17:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 13:17:05] [INFO]   -> Found value: PCFR
[2026-02-22 13:17:05] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-22 13:17:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 13:17:05] [INFO]   -> Found value: 2026-02-22 07:16:59
[2026-02-22 13:17:05] [INFO]   -> Set field 'timedispatch' = "2026-02-22 07:16:59"
[2026-02-22 13:17:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 13:17:05] [INFO]   -> No value found (null or empty)
[2026-02-22 13:17:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 13:17:05] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-22 13:17:05] [INFO]   -> Found value: 20260019801
[2026-02-22 13:17:05] [INFO]   -> Set field 'policeReportNumber' = "20260019801"
[2026-02-22 13:17:06] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 13:17:06] [INFO]   -> Found value: [EMS] LKW AROUND 6AM  [02/22/26 07:16:31 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02/22/26 ...
[2026-02-22 13:17:06] [INFO]   -> Set field 'dispatchNotes' = "[EMS] LKW AROUND 6AM  [02\/22\/26 07:16:31 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 07:16:16 SBALLARD] [EMS] CPR  [02\/22\/26 07:16:07 KMORGAN2] Event spawned from UNCONSCIOUS.  [02\/22\/2026 07:16:02 KMORGAN2]"
[2026-02-22 13:17:06] [INFO]   -> Set field 'cADLog' = "[EMS] LKW AROUND 6AM  [02\/22\/26 07:16:31 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 07:16:16 SBALLARD] [EMS] CPR  [02\/22\/26 07:16:07 KMORGAN2] Event spawned from UNCONSCIOUS.  [02\/22\/2026 07:16:02 KMORGAN2]"
[2026-02-22 13:17:06] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 13:17:06] [INFO]   -> Found value: COOKEVILLE
[2026-02-22 13:17:06] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-22 13:17:06] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 13:17:06] [INFO]   -> Found value: DEER CREEK
[2026-02-22 13:17:06] [INFO]   -> Set field 'streetName' = "DEER CREEK"
[2026-02-22 13:17:06] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 13:17:06] [INFO]   -> Found value: DR
[2026-02-22 13:17:06] [INFO]   -> Set field 'streetType' = "DR"
[2026-02-22 13:17:06] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 13:17:06] [INFO]   -> Found value: 1125 DEER CREEK DR
[2026-02-22 13:17:06] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1125 DEER CREEK DR"
[2026-02-22 13:17:06] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-22 13:17:06] [INFO] Concatenating street name and type
[2026-02-22 13:17:06] [INFO]   -> Combined street name: DEER CREEK DR
[2026-02-22 13:17:06] [INFO] Built locationCoordinates from lat/lng: 36.15172,-85.61602
[2026-02-22 13:17:06] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000505","dispatchRunNumber":"2026000505","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":1125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ABSOLUTE CARE","nERISIncidentLatitude":36.1517199999999974124875734560191631317138671875,"nERISIncidentLongitude":-85.6160200000000060072125052101910114288330078125,"alarm":"2026-02-22 07:16:02","dispatched":"2026-02-22 07:16:59","incidentLocationCross":"\/FAWN DR","cADVehicleID":"PCFR","timedispatch":"2026-02-22 07:16:59","policeReportNumber":"20260019801","dispatchNotes":"[EMS] LKW AROUND 6AM  [02\/22\/26 07:16:31 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 07:16:16 SBALLARD] [EMS] CPR  [02\/22\/26 07:16:07 KMORGAN2] Event spawned from UNCONSCIOUS.  [02\/22\/2026 07:16:02 KMORGAN2]","cADLog":"[EMS] LKW AROUND 6AM  [02\/22\/26 07:16:31 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 07:16:16 SBALLARD] [EMS] CPR  [02\/22\/26 07:16:07 KMORGAN2] Event spawned from UNCONSCIOUS.  [02\/22\/2026 07:16:02 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"DEER CREEK DR","incidentAddressTextVersionStreet":"1125 DEER CREEK DR","locationCoordinates":"36.15172,-85.61602"}
[2026-02-22 13:17:06] [INFO] Number of extracted fields: 22
[2026-02-22 13:17:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-02-22 13:17:06] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-02-22 13:17:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-02-22 13:17:06] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-22 13:17:06] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-22 13:17:06] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-02-22 13:17:06] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-22 13:17:06] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-22 13:17:06] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-22 13:17:06] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-22 13:17:06] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-22 13:17:06] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-02-22 13:17:17] [INFO] Created new Dispatches record with ID: 699b01d2bf3a14957
[2026-02-22 13:17:17] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 13:17:17] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 13:17:17] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 13:17:17] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019801_20260222_131705.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 13:17:17] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 14:23:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260019813_20260222_142316.XML
[2026-02-22 14:23:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260019813_20260222_142316.XML for user: 68f1466aed072ad4a
[2026-02-22 14:23:16] [INFO] File size: 5428 bytes
[2026-02-22 14:23:16] [INFO] Created FTPFiles record with ID: 699b115459aaf169f
[2026-02-22 14:23:16] [INFO] About to extract fields from XML. File size: 5428 bytes
[2026-02-22 14:23:16] [INFO] Number of mappings: 28
[2026-02-22 14:23:16] [INFO] Starting XML parsing. Content length: 5428
[2026-02-22 14:23:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 14:23:16] [INFO] Processing 28 field mappings
[2026-02-22 14:23:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 14:23:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 14:23:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 14:23:16] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-22 14:23:16] [INFO]   -> Found value: AFD
EMS
[2026-02-22 14:23:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-02-22 14:23:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 14:23:16] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-22 14:23:16] [INFO]   -> Found value: 2026000083
[2026-02-22 14:23:16] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-02-22 14:23:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-02-22 14:23:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 14:23:16] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-02-22 14:23:16] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-02-22 14:23:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 14:23:16] [INFO]   -> Found value: 3200
[2026-02-22 14:23:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3200
[2026-02-22 14:23:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 14:23:16] [INFO]   -> Found value: TN
[2026-02-22 14:23:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 14:23:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 14:23:16] [INFO]   -> Found value: 38506
[2026-02-22 14:23:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-22 14:23:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 14:23:16] [INFO]   -> Found value: BUFORD AUTO SALES
[2026-02-22 14:23:16] [INFO]   -> Set field 'businessName' = "BUFORD AUTO SALES"
[2026-02-22 14:23:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 14:23:16] [INFO]   -> Found value: 36.20798
[2026-02-22 14:23:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20797999999999916553861112333834171295166015625
[2026-02-22 14:23:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 14:23:16] [INFO]   -> Found value: -85.43773
[2026-02-22 14:23:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4377300000000019508661353029310703277587890625
[2026-02-22 14:23:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 14:23:16] [INFO]   -> Found value: 2026-02-22 08:22:27
[2026-02-22 14:23:16] [INFO]   -> Set field 'alarm' = "2026-02-22 08:22:27"
[2026-02-22 14:23:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 14:23:16] [INFO]   -> Found value: 2026-02-22 08:23:01
[2026-02-22 14:23:16] [INFO]   -> Set field 'dispatched' = "2026-02-22 08:23:01"
[2026-02-22 14:23:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 14:23:16] [INFO]   -> Found value: MIRANDY RD/E MAIN ST
[2026-02-22 14:23:16] [INFO]   -> Set field 'incidentLocationCross' = "MIRANDY RD\/E MAIN ST"
[2026-02-22 14:23:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 14:23:16] [INFO]   -> Found value: A1200
[2026-02-22 14:23:16] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-02-22 14:23:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 14:23:16] [INFO]   -> Found value: 2026-02-22 08:23:01
[2026-02-22 14:23:16] [INFO]   -> Set field 'timedispatch' = "2026-02-22 08:23:01"
[2026-02-22 14:23:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 14:23:16] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-22 14:23:16] [INFO]   -> Found value: 20260019813
[2026-02-22 14:23:16] [INFO]   -> Set field 'policeReportNumber' = "20260019813"
[2026-02-22 14:23:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 14:23:16] [INFO]   -> Found value: [EMS] HAD SOME ARM PAIN AND HEADACHE A DAY AGO  [02/22/26 08:22:51 KMORGAN2] Event spawned from FAIN...
[2026-02-22 14:23:16] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HAD SOME ARM PAIN AND HEADACHE A DAY AGO  [02\/22\/26 08:22:51 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [02\/22\/2026 08:22:27 KHILL] HX OF HEART ISSUES  [02\/22\/26 08:22:23 KMORGAN2] STARTED BLACKING OUT WHILE DRIVING CHEST HURTING  [02\/22\/26 08:22:15 KMORGAN2]"
[2026-02-22 14:23:16] [INFO]   -> Set field 'cADLog' = "[EMS] HAD SOME ARM PAIN AND HEADACHE A DAY AGO  [02\/22\/26 08:22:51 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [02\/22\/2026 08:22:27 KHILL] HX OF HEART ISSUES  [02\/22\/26 08:22:23 KMORGAN2] STARTED BLACKING OUT WHILE DRIVING CHEST HURTING  [02\/22\/26 08:22:15 KMORGAN2]"
[2026-02-22 14:23:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 14:23:16] [INFO]   -> Found value: ALGOOD
[2026-02-22 14:23:16] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-02-22 14:23:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 14:23:16] [INFO]   -> Found value: HWY 111
[2026-02-22 14:23:16] [INFO]   -> Set field 'streetName' = "HWY 111"
[2026-02-22 14:23:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 14:23:16] [INFO]   -> No value found (null or empty)
[2026-02-22 14:23:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 14:23:16] [INFO]   -> Found value: 3200 HWY 111 N
[2026-02-22 14:23:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3200 HWY 111 N"
[2026-02-22 14:23:16] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-22 14:23:16] [INFO] Built locationCoordinates from lat/lng: 36.20798,-85.43773
[2026-02-22 14:23:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":3200,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"BUFORD AUTO SALES","nERISIncidentLatitude":36.20797999999999916553861112333834171295166015625,"nERISIncidentLongitude":-85.4377300000000019508661353029310703277587890625,"alarm":"2026-02-22 08:22:27","dispatched":"2026-02-22 08:23:01","incidentLocationCross":"MIRANDY RD\/E MAIN ST","cADVehicleID":"A1200","timedispatch":"2026-02-22 08:23:01","policeReportNumber":"20260019813","dispatchNotes":"[EMS] HAD SOME ARM PAIN AND HEADACHE A DAY AGO  [02\/22\/26 08:22:51 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [02\/22\/2026 08:22:27 KHILL] HX OF HEART ISSUES  [02\/22\/26 08:22:23 KMORGAN2] STARTED BLACKING OUT WHILE DRIVING CHEST HURTING  [02\/22\/26 08:22:15 KMORGAN2]","cADLog":"[EMS] HAD SOME ARM PAIN AND HEADACHE A DAY AGO  [02\/22\/26 08:22:51 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [02\/22\/2026 08:22:27 KHILL] HX OF HEART ISSUES  [02\/22\/26 08:22:23 KMORGAN2] STARTED BLACKING OUT WHILE DRIVING CHEST HURTING  [02\/22\/26 08:22:15 KMORGAN2]","incidentLocationCity":"ALGOOD","streetName":"HWY 111","incidentAddressTextVersionStreet":"3200 HWY 111 N","locationCoordinates":"36.20798,-85.43773"}
[2026-02-22 14:23:16] [INFO] Number of extracted fields: 22
[2026-02-22 14:23:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-02-22 14:23:16] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-22 14:23:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-02-22 14:23:16] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-02-22 14:23:16] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-02-22 14:23:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-02-22 14:23:16] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-02-22 14:23:16] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-02-22 14:23:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-22 14:23:16] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-02-22 14:23:16] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-02-22 14:23:16] [INFO] Found existing IncidentTypeMapping with ID: 695d3b3b48afa64b0
[2026-02-22 14:23:22] [INFO] Created new Dispatches record with ID: 699b115547df8e4eb
[2026-02-22 14:23:22] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 14:23:22] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 14:23:22] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 14:23:22] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260019813_20260222_142316.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 14:23:22] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 15:49:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019842_20260222_154946.XML
[2026-02-22 15:49:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019842_20260222_154946.XML for user: 68f1466aed072ad4a
[2026-02-22 15:49:46] [INFO] File size: 5651 bytes
[2026-02-22 15:49:47] [INFO] Created FTPFiles record with ID: 699b259b17228b722
[2026-02-22 15:49:47] [INFO] About to extract fields from XML. File size: 5651 bytes
[2026-02-22 15:49:47] [INFO] Number of mappings: 28
[2026-02-22 15:49:47] [INFO] Starting XML parsing. Content length: 5651
[2026-02-22 15:49:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 15:49:47] [INFO] Processing 28 field mappings
[2026-02-22 15:49:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 15:49:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 15:49:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 15:49:47] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-22 15:49:47] [INFO]   -> Found value: PCFD
PCSO
EMS
RESC
[2026-02-22 15:49:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nRESC"
[2026-02-22 15:49:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 15:49:47] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-22 15:49:47] [INFO]   -> Found value: 2026000506
[2026-02-22 15:49:47] [INFO]   -> Set field 'incidentInternalId' = "2026000506"
[2026-02-22 15:49:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000506"
[2026-02-22 15:49:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 15:49:47] [INFO]   -> Found value: MEDICAL CALL
[2026-02-22 15:49:47] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-02-22 15:49:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 15:49:47] [INFO]   -> Found value: 2936
[2026-02-22 15:49:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2936
[2026-02-22 15:49:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 15:49:47] [INFO]   -> Found value: TN
[2026-02-22 15:49:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 15:49:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 15:49:47] [INFO]   -> Found value: 38506
[2026-02-22 15:49:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-22 15:49:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 15:49:47] [INFO]   -> Found value: 36.13263
[2026-02-22 15:49:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13262999999999891542756813578307628631591796875
[2026-02-22 15:49:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 15:49:47] [INFO]   -> Found value: -85.60036
[2026-02-22 15:49:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600359999999994897734723053872585296630859375
[2026-02-22 15:49:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 15:49:47] [INFO]   -> Found value: 2026-02-22 09:49:12
[2026-02-22 15:49:47] [INFO]   -> Set field 'alarm' = "2026-02-22 09:49:12"
[2026-02-22 15:49:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 15:49:47] [INFO]   -> Found value: 2026-02-22 09:49:39
[2026-02-22 15:49:47] [INFO]   -> Set field 'dispatched' = "2026-02-22 09:49:39"
[2026-02-22 15:49:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 15:49:47] [INFO]   -> Found value: /ACADEMY RD
[2026-02-22 15:49:47] [INFO]   -> Set field 'incidentLocationCross' = "\/ACADEMY RD"
[2026-02-22 15:49:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 15:49:47] [INFO]   -> Found value: PCFR
[2026-02-22 15:49:47] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-22 15:49:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 15:49:47] [INFO]   -> Found value: 2026-02-22 09:49:39
[2026-02-22 15:49:47] [INFO]   -> Set field 'timedispatch' = "2026-02-22 09:49:39"
[2026-02-22 15:49:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 15:49:47] [INFO]   -> No value found (null or empty)
[2026-02-22 15:49:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 15:49:47] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-22 15:49:47] [INFO]   -> Found value: 20260019842
[2026-02-22 15:49:47] [INFO]   -> Set field 'policeReportNumber' = "20260019842"
[2026-02-22 15:49:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 15:49:47] [INFO]   -> Found value: Event spawned from EMS EMERGENCY CALL.  [02/22/2026 09:49:12 KELLIS] UDTS: CARD SEEN BY 911  [02/22/...
[2026-02-22 15:49:47] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS EMERGENCY CALL.  [02\/22\/2026 09:49:12 KELLIS] UDTS: CARD SEEN BY 911  [02\/22\/26 09:48:12 KHILL] Event spawned from WELFARE CHECK.  [02\/22\/2026 09:47:52 SBALLARD] FATHER IS 81 Y\/O \/ BP IS 70\/50 SAYS HE IS WEAK AND DOES NOT HAVE THE STRENGTH TO GET OUT OF THE DINING ROOM CHAIR \/ NAME IS THOMAS LINDEN  BACK DOOR SHOULD BE UNLOCKED \/ 2 DOGS ON SITE USUALLY NOT AGGRESSIVE \/ SUBJECT IS HOME ALONE  [02\/22\/26 09:45:25 SBALLARD]"
[2026-02-22 15:49:47] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS EMERGENCY CALL.  [02\/22\/2026 09:49:12 KELLIS] UDTS: CARD SEEN BY 911  [02\/22\/26 09:48:12 KHILL] Event spawned from WELFARE CHECK.  [02\/22\/2026 09:47:52 SBALLARD] FATHER IS 81 Y\/O \/ BP IS 70\/50 SAYS HE IS WEAK AND DOES NOT HAVE THE STRENGTH TO GET OUT OF THE DINING ROOM CHAIR \/ NAME IS THOMAS LINDEN  BACK DOOR SHOULD BE UNLOCKED \/ 2 DOGS ON SITE USUALLY NOT AGGRESSIVE \/ SUBJECT IS HOME ALONE  [02\/22\/26 09:45:25 SBALLARD]"
[2026-02-22 15:49:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 15:49:47] [INFO]   -> Found value: COOKEVILLE
[2026-02-22 15:49:47] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-22 15:49:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 15:49:47] [INFO]   -> Found value: DOWNING
[2026-02-22 15:49:47] [INFO]   -> Set field 'streetName' = "DOWNING"
[2026-02-22 15:49:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 15:49:47] [INFO]   -> Found value: ST
[2026-02-22 15:49:47] [INFO]   -> Set field 'streetType' = "ST"
[2026-02-22 15:49:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 15:49:47] [INFO]   -> Found value: 2936 DOWNING ST
[2026-02-22 15:49:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2936 DOWNING ST"
[2026-02-22 15:49:47] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-22 15:49:47] [INFO] Concatenating street name and type
[2026-02-22 15:49:47] [INFO]   -> Combined street name: DOWNING ST
[2026-02-22 15:49:47] [INFO] Built locationCoordinates from lat/lng: 36.13263,-85.60036
[2026-02-22 15:49:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nRESC","incidentInternalId":"2026000506","dispatchRunNumber":"2026000506","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":2936,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13262999999999891542756813578307628631591796875,"nERISIncidentLongitude":-85.600359999999994897734723053872585296630859375,"alarm":"2026-02-22 09:49:12","dispatched":"2026-02-22 09:49:39","incidentLocationCross":"\/ACADEMY RD","cADVehicleID":"PCFR","timedispatch":"2026-02-22 09:49:39","policeReportNumber":"20260019842","dispatchNotes":"Event spawned from EMS EMERGENCY CALL.  [02\/22\/2026 09:49:12 KELLIS] UDTS: CARD SEEN BY 911  [02\/22\/26 09:48:12 KHILL] Event spawned from WELFARE CHECK.  [02\/22\/2026 09:47:52 SBALLARD] FATHER IS 81 Y\/O \/ BP IS 70\/50 SAYS HE IS WEAK AND DOES NOT HAVE THE STRENGTH TO GET OUT OF THE DINING ROOM CHAIR \/ NAME IS THOMAS LINDEN  BACK DOOR SHOULD BE UNLOCKED \/ 2 DOGS ON SITE USUALLY NOT AGGRESSIVE \/ SUBJECT IS HOME ALONE  [02\/22\/26 09:45:25 SBALLARD]","cADLog":"Event spawned from EMS EMERGENCY CALL.  [02\/22\/2026 09:49:12 KELLIS] UDTS: CARD SEEN BY 911  [02\/22\/26 09:48:12 KHILL] Event spawned from WELFARE CHECK.  [02\/22\/2026 09:47:52 SBALLARD] FATHER IS 81 Y\/O \/ BP IS 70\/50 SAYS HE IS WEAK AND DOES NOT HAVE THE STRENGTH TO GET OUT OF THE DINING ROOM CHAIR \/ NAME IS THOMAS LINDEN  BACK DOOR SHOULD BE UNLOCKED \/ 2 DOGS ON SITE USUALLY NOT AGGRESSIVE \/ SUBJECT IS HOME ALONE  [02\/22\/26 09:45:25 SBALLARD]","incidentLocationCity":"COOKEVILLE","streetName":"DOWNING ST","incidentAddressTextVersionStreet":"2936 DOWNING ST","locationCoordinates":"36.13263,-85.60036"}
[2026-02-22 15:49:47] [INFO] Number of extracted fields: 21
[2026-02-22 15:49:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
RESC'
[2026-02-22 15:49:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
RESC', Parsed IDs = ["PCFD","PCSO","EMS","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-02-22 15:49:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","RESC"]
[2026-02-22 15:49:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-22 15:49:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-22 15:49:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","RESC"]
[2026-02-22 15:49:47] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-22 15:49:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-22 15:49:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-22 15:49:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-22 15:49:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-22 15:49:47] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-02-22 15:49:57] [INFO] Created new Dispatches record with ID: 699b259bd737c0a5e
[2026-02-22 15:49:57] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 15:49:57] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 15:49:57] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 15:49:57] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019842_20260222_154946.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 15:49:57] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 18:01:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222130107406.xml
[2026-02-22 18:01:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222130107406.xml for user: 68920395733981a47
[2026-02-22 18:01:07] [INFO] File size: 15928 bytes
[2026-02-22 18:01:08] [INFO] Created FTPFiles record with ID: 699b44643b28ac5d6
[2026-02-22 18:01:08] [INFO] About to extract fields from XML. File size: 15928 bytes
[2026-02-22 18:01:08] [INFO] Number of mappings: 24
[2026-02-22 18:01:08] [INFO] Starting XML parsing. Content length: 15928
[2026-02-22 18:01:08] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 18:01:08] [INFO] Processing 24 field mappings
[2026-02-22 18:01:08] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 18:01:08] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 18:01:08] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 18:01:08] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 18:01:08] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 18:01:08] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 18:01:08] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 18:01:08] [INFO]   -> Found value: 37415
[2026-02-22 18:01:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 18:01:08] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 18:01:08] [INFO]   -> Found value: 3127
[2026-02-22 18:01:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 18:01:08] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 18:01:08] [INFO]   -> Found value: DAYTON
[2026-02-22 18:01:08] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 18:01:08] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 18:01:08] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 18:01:08] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 18:01:08] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 18:01:08] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 18:01:08] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 18:01:08] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 18:01:08] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 18:01:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'onScene' = null
[2026-02-22 18:01:08] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 18:01:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'cleared' = null
[2026-02-22 18:01:08] [INFO]   -> Set field 'inService' = null
[2026-02-22 18:01:08] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 18:01:08] [INFO]   -> Found value: 35.106634
[2026-02-22 18:01:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 18:01:08] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 18:01:08] [INFO]   -> Found value: -85.297508
[2026-02-22 18:01:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 18:01:08] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 18:01:08] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 18:01:08] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 18:01:08] [INFO]   -> Found value: H1400
[2026-02-22 18:01:08] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-02-22 18:01:08] [INFO]   -> Set field 'name' = "H1400"
[2026-02-22 18:01:08] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 18:01:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 18:01:08] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 18:01:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'timeonscene' = null
[2026-02-22 18:01:08] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 18:01:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 18:01:08] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 18:01:08] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-22 18:01:08] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 18:01:08] [INFO]   -> Found value: 2026-02-22T13:01:05.46-05:00
[2026-02-22 18:01:08] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:01:05"
[2026-02-22 18:01:08] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 18:01:08] [INFO]   -> Found value: BLVD
[2026-02-22 18:01:08] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 18:01:08] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 18:01:08] [INFO]   -> Found value: 26-000045
[2026-02-22 18:01:08] [INFO]   -> Set field 'incidentInternalId' = "26-000045"
[2026-02-22 18:01:08] [INFO]   -> Set field 'dispatchRunNumber' = "26-000045"
[2026-02-22 18:01:08] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 18:01:08] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 18:01:08] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 18:01:08] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 18:01:08] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 18:01:08] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 18:01:08] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-02-22 18:01:08] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 18:01:08] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400."
[2026-02-22 18:01:08] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400."
[2026-02-22 18:01:08] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 18:01:08] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 18:01:08] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 18:01:08] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-02-22 18:01:08] [INFO]   -> Found value: RBFD
MFD
DBFD
SMFD
[2026-02-22 18:01:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nDBFD\nSMFD"
[2026-02-22 18:01:08] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 18:01:08] [INFO] Concatenating street name and type
[2026-02-22 18:01:08] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 18:01:08] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 18:01:08] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-02-22 18:01:05","incidentInternalId":"26-000045","dispatchRunNumber":"26-000045","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.","cADAgencyIdentifier":"RBFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 18:01:08] [INFO] Number of extracted fields: 29
[2026-02-22 18:01:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
DBFD
SMFD'
[2026-02-22 18:01:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","DBFD","SMFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-02-22 18:01:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","DBFD","SMFD"]
[2026-02-22 18:01:08] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 18:01:08] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 18:01:08] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 18:01:08] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 18:01:08] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["DBFD","SMFD"]
[2026-02-22 18:01:08] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 18:01:08] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 18:01:08] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 4)
[2026-02-22 18:01:08] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 18:01:08] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 18:01:08] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 18:01:18] [INFO] Created new Dispatches record with ID: 699b446550db5feaa
[2026-02-22 18:01:18] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 18:01:18] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 18:01:18] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 18:01:18] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222130107406.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 18:01:18] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 18:08:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222130847259.xml
[2026-02-22 18:08:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222130847259.xml for user: 68920395733981a47
[2026-02-22 18:08:47] [INFO] File size: 18472 bytes
[2026-02-22 18:08:47] [INFO] Created FTPFiles record with ID: 699b462fd2187ce34
[2026-02-22 18:08:47] [INFO] About to extract fields from XML. File size: 18472 bytes
[2026-02-22 18:08:47] [INFO] Number of mappings: 24
[2026-02-22 18:08:47] [INFO] Starting XML parsing. Content length: 18472
[2026-02-22 18:08:47] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 18:08:47] [INFO] Processing 24 field mappings
[2026-02-22 18:08:47] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 18:08:47] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 18:08:47] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 18:08:47] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 18:08:47] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 18:08:47] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 18:08:47] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 18:08:47] [INFO]   -> Found value: 37415
[2026-02-22 18:08:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 18:08:47] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 18:08:47] [INFO]   -> Found value: 3127
[2026-02-22 18:08:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 18:08:47] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 18:08:47] [INFO]   -> Found value: DAYTON
[2026-02-22 18:08:47] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 18:08:47] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 18:08:47] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 18:08:47] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 18:08:47] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 18:08:47] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 18:08:47] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 18:08:47] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 18:08:47] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 18:08:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'onScene' = null
[2026-02-22 18:08:47] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 18:08:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'cleared' = null
[2026-02-22 18:08:47] [INFO]   -> Set field 'inService' = null
[2026-02-22 18:08:47] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 18:08:47] [INFO]   -> Found value: 35.106634
[2026-02-22 18:08:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 18:08:47] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 18:08:47] [INFO]   -> Found value: -85.297508
[2026-02-22 18:08:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 18:08:47] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 18:08:47] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 18:08:47] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 18:08:47] [INFO]   -> Found value: E1MF
[2026-02-22 18:08:47] [INFO]   -> Set field 'cADVehicleID' = "E1MF"
[2026-02-22 18:08:47] [INFO]   -> Set field 'name' = "E1MF"
[2026-02-22 18:08:47] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 18:08:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 18:08:47] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 18:08:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'timeonscene' = null
[2026-02-22 18:08:47] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 18:08:47] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 18:08:47] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 18:08:47] [INFO]   -> Found value: 2026-02-22T13:08:43.03-05:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-22 18:08:43"
[2026-02-22 18:08:47] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 18:08:47] [INFO]   -> Found value: 2026-02-22T13:08:43.01-05:00
[2026-02-22 18:08:47] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:08:43"
[2026-02-22 18:08:47] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 18:08:47] [INFO]   -> Found value: BLVD
[2026-02-22 18:08:47] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 18:08:47] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 18:08:47] [INFO]   -> Found value: 26-000045
[2026-02-22 18:08:47] [INFO]   -> Set field 'incidentInternalId' = "26-000045"
[2026-02-22 18:08:47] [INFO]   -> Set field 'dispatchRunNumber' = "26-000045"
[2026-02-22 18:08:47] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 18:08:47] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 18:08:47] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 18:08:47] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 18:08:47] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 18:08:47] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 18:08:47] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-02-22 18:08:47] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 18:08:47] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400."
[2026-02-22 18:08:47] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400."
[2026-02-22 18:08:47] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 18:08:47] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 18:08:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 18:08:47] [INFO] Found 5 elements for 'AgencyIdentifier', concatenating 5 non-empty values
[2026-02-22 18:08:47] [INFO]   -> Found value: RBFD
MFD
MFD
DBFD
SMFD
[2026-02-22 18:08:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nMFD\nDBFD\nSMFD"
[2026-02-22 18:08:47] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 18:08:47] [INFO] Concatenating street name and type
[2026-02-22 18:08:47] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 18:08:47] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 18:08:47] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"E1MF","name":"E1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-02-22 18:08:43","timedispatch":"2026-02-22 18:08:43","incidentInternalId":"26-000045","dispatchRunNumber":"26-000045","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.","cADAgencyIdentifier":"RBFD\nMFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 18:08:47] [INFO] Number of extracted fields: 29
[2026-02-22 18:08:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
MFD
DBFD
SMFD'
[2026-02-22 18:08:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","MFD","DBFD","SMFD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 2
[2026-02-22 18:08:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","MFD","DBFD","SMFD"]
[2026-02-22 18:08:47] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 18:08:48] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 18:08:48] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 18:08:48] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 18:08:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["MFD","DBFD","SMFD"]
[2026-02-22 18:08:48] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 18:08:48] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 18:08:48] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 5)
[2026-02-22 18:08:48] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 18:08:48] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 18:08:48] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 18:08:48] [INFO] Found existing Dispatch with cADNumber '2026-02-30726', ID: 699b446550db5feaa - will update instead of create
[2026-02-22 18:08:48] [INFO] Updated existing Dispatches record with ID: 699b446550db5feaa
[2026-02-22 18:08:48] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 18:08:48] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 18:08:48] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 18:08:48] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222130847259.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 18:08:48] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 18:18:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222131808470.xml
[2026-02-22 18:18:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222131808470.xml for user: 68920395733981a47
[2026-02-22 18:18:08] [INFO] File size: 18557 bytes
[2026-02-22 18:18:09] [INFO] Created FTPFiles record with ID: 699b48611b426686c
[2026-02-22 18:18:09] [INFO] About to extract fields from XML. File size: 18557 bytes
[2026-02-22 18:18:09] [INFO] Number of mappings: 24
[2026-02-22 18:18:09] [INFO] Starting XML parsing. Content length: 18557
[2026-02-22 18:18:09] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 18:18:09] [INFO] Processing 24 field mappings
[2026-02-22 18:18:09] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 18:18:09] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 18:18:09] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 18:18:09] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 18:18:09] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 18:18:09] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 18:18:09] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 18:18:09] [INFO]   -> Found value: 37415
[2026-02-22 18:18:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 18:18:09] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 18:18:09] [INFO]   -> Found value: 3127
[2026-02-22 18:18:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 18:18:09] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 18:18:09] [INFO]   -> Found value: DAYTON
[2026-02-22 18:18:09] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 18:18:09] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 18:18:09] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 18:18:09] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 18:18:09] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 18:18:09] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 18:18:09] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 18:18:09] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 18:18:09] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 18:18:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'onScene' = null
[2026-02-22 18:18:09] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 18:18:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'cleared' = null
[2026-02-22 18:18:09] [INFO]   -> Set field 'inService' = null
[2026-02-22 18:18:09] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 18:18:09] [INFO]   -> Found value: 35.106634
[2026-02-22 18:18:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 18:18:09] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 18:18:09] [INFO]   -> Found value: -85.297508
[2026-02-22 18:18:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 18:18:09] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 18:18:09] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 18:18:09] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 18:18:09] [INFO]   -> Found value: E1MF
[2026-02-22 18:18:09] [INFO]   -> Set field 'cADVehicleID' = "E1MF"
[2026-02-22 18:18:09] [INFO]   -> Set field 'name' = "E1MF"
[2026-02-22 18:18:09] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 18:18:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 18:18:09] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 18:18:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'timeonscene' = null
[2026-02-22 18:18:09] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 18:18:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 18:18:09] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 18:18:09] [INFO]   -> Found value: 2026-02-22T13:08:43.03-05:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-22 18:08:43"
[2026-02-22 18:18:09] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 18:18:09] [INFO]   -> Found value: 2026-02-22T13:08:43.01-05:00
[2026-02-22 18:18:09] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:08:43"
[2026-02-22 18:18:09] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 18:18:09] [INFO]   -> Found value: BLVD
[2026-02-22 18:18:09] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 18:18:09] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 18:18:09] [INFO]   -> Found value: 26-000045
[2026-02-22 18:18:09] [INFO]   -> Set field 'incidentInternalId' = "26-000045"
[2026-02-22 18:18:09] [INFO]   -> Set field 'dispatchRunNumber' = "26-000045"
[2026-02-22 18:18:09] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 18:18:09] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 18:18:09] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 18:18:09] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 18:18:09] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 18:18:09] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 18:18:09] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-02-22 18:18:09] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 18:18:09] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 18:18:09] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 18:18:09] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 18:18:09] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 18:18:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 18:18:09] [INFO] Found 5 elements for 'AgencyIdentifier', concatenating 5 non-empty values
[2026-02-22 18:18:09] [INFO]   -> Found value: RBFD
MFD
MFD
DBFD
SMFD
[2026-02-22 18:18:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nMFD\nDBFD\nSMFD"
[2026-02-22 18:18:09] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 18:18:09] [INFO] Concatenating street name and type
[2026-02-22 18:18:09] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 18:18:09] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 18:18:09] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"E1MF","name":"E1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-02-22 18:08:43","timedispatch":"2026-02-22 18:08:43","incidentInternalId":"26-000045","dispatchRunNumber":"26-000045","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADAgencyIdentifier":"RBFD\nMFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 18:18:09] [INFO] Number of extracted fields: 29
[2026-02-22 18:18:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
MFD
DBFD
SMFD'
[2026-02-22 18:18:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","MFD","DBFD","SMFD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 2
[2026-02-22 18:18:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","MFD","DBFD","SMFD"]
[2026-02-22 18:18:09] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 18:18:09] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 18:18:09] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 18:18:09] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 18:18:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["MFD","DBFD","SMFD"]
[2026-02-22 18:18:09] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 18:18:09] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 18:18:09] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 5)
[2026-02-22 18:18:09] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 18:18:09] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 18:18:09] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 18:18:09] [INFO] Found existing Dispatch with cADNumber '2026-02-30726', ID: 699b446550db5feaa - will update instead of create
[2026-02-22 18:18:10] [INFO] Updated existing Dispatches record with ID: 699b446550db5feaa
[2026-02-22 18:18:10] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 18:18:10] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 18:18:10] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 18:18:10] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222131808470.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 18:18:10] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 18:25:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222132502520.xml
[2026-02-22 18:25:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222132502520.xml for user: 68920395733981a47
[2026-02-22 18:25:02] [INFO] File size: 18713 bytes
[2026-02-22 18:25:03] [INFO] Created FTPFiles record with ID: 699b49ff33bc8bb8b
[2026-02-22 18:25:03] [INFO] About to extract fields from XML. File size: 18713 bytes
[2026-02-22 18:25:03] [INFO] Number of mappings: 24
[2026-02-22 18:25:03] [INFO] Starting XML parsing. Content length: 18713
[2026-02-22 18:25:03] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 18:25:03] [INFO] Processing 24 field mappings
[2026-02-22 18:25:03] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 18:25:03] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 18:25:03] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 18:25:03] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 18:25:03] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 18:25:03] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 18:25:03] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 18:25:03] [INFO]   -> Found value: 37415
[2026-02-22 18:25:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 18:25:03] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 18:25:03] [INFO]   -> Found value: 3127
[2026-02-22 18:25:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 18:25:03] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 18:25:03] [INFO]   -> Found value: DAYTON
[2026-02-22 18:25:03] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 18:25:03] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 18:25:03] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 18:25:03] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 18:25:03] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 18:25:03] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 18:25:03] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 18:25:03] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 18:25:03] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 18:25:03] [INFO]   -> Found value: 2026-02-22T13:25:00.067-05:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'onScene' = "2026-02-22 18:25:00"
[2026-02-22 18:25:03] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 18:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'cleared' = null
[2026-02-22 18:25:03] [INFO]   -> Set field 'inService' = null
[2026-02-22 18:25:03] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 18:25:03] [INFO]   -> Found value: 35.106634
[2026-02-22 18:25:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 18:25:03] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 18:25:03] [INFO]   -> Found value: -85.297508
[2026-02-22 18:25:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 18:25:03] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 18:25:03] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 18:25:03] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 18:25:03] [INFO]   -> Found value: E1MF
[2026-02-22 18:25:03] [INFO]   -> Set field 'cADVehicleID' = "E1MF"
[2026-02-22 18:25:03] [INFO]   -> Set field 'name' = "E1MF"
[2026-02-22 18:25:03] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 18:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 18:25:03] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 18:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'timeonscene' = null
[2026-02-22 18:25:03] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 18:25:03] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 18:25:03] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 18:25:03] [INFO]   -> Found value: 2026-02-22T13:08:43.03-05:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-22 18:08:43"
[2026-02-22 18:25:03] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 18:25:03] [INFO]   -> Found value: 2026-02-22T13:08:43.01-05:00
[2026-02-22 18:25:03] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:08:43"
[2026-02-22 18:25:03] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 18:25:03] [INFO]   -> Found value: BLVD
[2026-02-22 18:25:03] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 18:25:03] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 18:25:03] [INFO]   -> Found value: 26-000361
[2026-02-22 18:25:03] [INFO]   -> Set field 'incidentInternalId' = "26-000361"
[2026-02-22 18:25:03] [INFO]   -> Set field 'dispatchRunNumber' = "26-000361"
[2026-02-22 18:25:03] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 18:25:03] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 18:25:03] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 18:25:03] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 18:25:03] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 18:25:03] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 18:25:03] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-02-22 18:25:03] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 18:25:03] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 18:25:03] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 18:25:03] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 18:25:03] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 18:25:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 18:25:03] [INFO] Found 5 elements for 'AgencyIdentifier', concatenating 5 non-empty values
[2026-02-22 18:25:03] [INFO]   -> Found value: RBFD
MFD
MFD
DBFD
SMFD
[2026-02-22 18:25:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nMFD\nDBFD\nSMFD"
[2026-02-22 18:25:03] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 18:25:03] [INFO] Concatenating street name and type
[2026-02-22 18:25:03] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 18:25:03] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 18:25:03] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":"2026-02-22 18:25:00","cleared":null,"inService":null,"nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"E1MF","name":"E1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-02-22 18:08:43","timedispatch":"2026-02-22 18:08:43","incidentInternalId":"26-000361","dispatchRunNumber":"26-000361","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADAgencyIdentifier":"RBFD\nMFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 18:25:03] [INFO] Number of extracted fields: 29
[2026-02-22 18:25:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
MFD
DBFD
SMFD'
[2026-02-22 18:25:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","MFD","DBFD","SMFD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 2
[2026-02-22 18:25:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","MFD","DBFD","SMFD"]
[2026-02-22 18:25:03] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 18:25:03] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 18:25:03] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 18:25:03] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 18:25:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["MFD","DBFD","SMFD"]
[2026-02-22 18:25:03] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 18:25:03] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 18:25:03] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 5)
[2026-02-22 18:25:03] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 18:25:03] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 18:25:03] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 18:25:04] [INFO] Found existing Dispatch with cADNumber '2026-02-30726', ID: 699b446550db5feaa - will update instead of create
[2026-02-22 18:25:04] [INFO] Updated existing Dispatches record with ID: 699b446550db5feaa
[2026-02-22 18:25:04] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 18:25:04] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 18:25:04] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 18:25:04] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222132502520.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 18:25:04] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 18:38:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222133800371.xml
[2026-02-22 18:38:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222133800371.xml for user: 68920395733981a47
[2026-02-22 18:38:00] [INFO] File size: 18792 bytes
[2026-02-22 18:38:01] [INFO] Created FTPFiles record with ID: 699b4d0914e579bd1
[2026-02-22 18:38:01] [INFO] About to extract fields from XML. File size: 18792 bytes
[2026-02-22 18:38:01] [INFO] Number of mappings: 24
[2026-02-22 18:38:01] [INFO] Starting XML parsing. Content length: 18792
[2026-02-22 18:38:01] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 18:38:01] [INFO] Processing 24 field mappings
[2026-02-22 18:38:01] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 18:38:01] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 18:38:01] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 18:38:01] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 18:38:01] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 18:38:01] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 18:38:01] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 18:38:01] [INFO]   -> Found value: 37415
[2026-02-22 18:38:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 18:38:01] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 18:38:01] [INFO]   -> Found value: 3127
[2026-02-22 18:38:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 18:38:01] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 18:38:01] [INFO]   -> Found value: DAYTON
[2026-02-22 18:38:01] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 18:38:01] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 18:38:01] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 18:38:01] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 18:38:01] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 18:38:01] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 18:38:01] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-22T13:25:00.067-05:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'onScene' = "2026-02-22 18:25:00"
[2026-02-22 18:38:01] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 18:38:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'cleared' = null
[2026-02-22 18:38:01] [INFO]   -> Set field 'inService' = null
[2026-02-22 18:38:01] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 18:38:01] [INFO]   -> Found value: 35.106634
[2026-02-22 18:38:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 18:38:01] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 18:38:01] [INFO]   -> Found value: -85.297508
[2026-02-22 18:38:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 18:38:01] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 18:38:01] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 18:38:01] [INFO]   -> Found value: E1MF
[2026-02-22 18:38:01] [INFO]   -> Set field 'cADVehicleID' = "E1MF"
[2026-02-22 18:38:01] [INFO]   -> Set field 'name' = "E1MF"
[2026-02-22 18:38:01] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 18:38:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 18:38:01] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-22T13:37:56.27-05:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'timeonscene' = "2026-02-22 18:37:56"
[2026-02-22 18:38:01] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 18:38:01] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 18:38:01] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-22T13:08:43.03-05:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-22 18:08:43"
[2026-02-22 18:38:01] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-22T13:08:43.01-05:00
[2026-02-22 18:38:01] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:08:43"
[2026-02-22 18:38:01] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 18:38:01] [INFO]   -> Found value: BLVD
[2026-02-22 18:38:01] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 18:38:01] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 18:38:01] [INFO]   -> Found value: 26-000045
[2026-02-22 18:38:01] [INFO]   -> Set field 'incidentInternalId' = "26-000045"
[2026-02-22 18:38:01] [INFO]   -> Set field 'dispatchRunNumber' = "26-000045"
[2026-02-22 18:38:01] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 18:38:01] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 18:38:01] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 18:38:01] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 18:38:01] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 18:38:01] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 18:38:01] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-02-22 18:38:01] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 18:38:01] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 18:38:01] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 18:38:01] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 18:38:01] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 18:38:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 18:38:01] [INFO] Found 5 elements for 'AgencyIdentifier', concatenating 5 non-empty values
[2026-02-22 18:38:01] [INFO]   -> Found value: RBFD
MFD
MFD
DBFD
SMFD
[2026-02-22 18:38:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nMFD\nDBFD\nSMFD"
[2026-02-22 18:38:01] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 18:38:01] [INFO] Concatenating street name and type
[2026-02-22 18:38:01] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 18:38:01] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 18:38:01] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":"2026-02-22 18:25:00","cleared":null,"inService":null,"nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"E1MF","name":"E1MF","timeunitclear":null,"timeonscene":"2026-02-22 18:37:56","timestaging":null,"timeenroutetoscene":"2026-02-22 18:08:43","timedispatch":"2026-02-22 18:08:43","incidentInternalId":"26-000045","dispatchRunNumber":"26-000045","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADAgencyIdentifier":"RBFD\nMFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 18:38:01] [INFO] Number of extracted fields: 29
[2026-02-22 18:38:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
MFD
DBFD
SMFD'
[2026-02-22 18:38:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","MFD","DBFD","SMFD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 2
[2026-02-22 18:38:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","MFD","DBFD","SMFD"]
[2026-02-22 18:38:01] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 18:38:01] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 18:38:01] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 18:38:01] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 18:38:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["MFD","DBFD","SMFD"]
[2026-02-22 18:38:01] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 18:38:01] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 18:38:01] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 5)
[2026-02-22 18:38:01] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 18:38:01] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 18:38:01] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 18:38:01] [INFO] Found existing Dispatch with cADNumber '2026-02-30726', ID: 699b446550db5feaa - will update instead of create
[2026-02-22 18:38:02] [INFO] Updated existing Dispatches record with ID: 699b446550db5feaa
[2026-02-22 18:38:02] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 18:38:02] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 18:38:02] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 18:38:02] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222133800371.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 18:38:02] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 18:38:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05494.xml
[2026-02-22 18:38:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05494.xml for user: 68d56363ec1209189
[2026-02-22 18:38:32] [INFO] File size: 2116 bytes
[2026-02-22 18:38:32] [INFO] Created FTPFiles record with ID: 699b4d2885f39ee13
[2026-02-22 18:38:32] [INFO] About to extract fields from XML. File size: 2116 bytes
[2026-02-22 18:38:32] [INFO] Number of mappings: 21
[2026-02-22 18:38:32] [INFO] Starting XML parsing. Content length: 2116
[2026-02-22 18:38:32] [INFO] XML parsed successfully. Root element: Incident
[2026-02-22 18:38:32] [INFO] Processing 21 field mappings
[2026-02-22 18:38:32] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-22 18:38:32] [INFO]   -> Found value: 26-05494
[2026-02-22 18:38:32] [INFO]   -> Set field 'dispatchRunNumber' = "26-05494"
[2026-02-22 18:38:32] [INFO]   -> Set field 'cADNumber' = "26-05494"
[2026-02-22 18:38:32] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-22 18:38:32] [INFO]   -> Found value: STATE HIGHWAY H
[2026-02-22 18:38:32] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY H"
[2026-02-22 18:38:32] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-22 18:38:32] [INFO]   -> Found value: 0
[2026-02-22 18:38:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-22 18:38:32] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-22 18:38:32] [INFO]   -> Found value: 0
[2026-02-22 18:38:32] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-22 18:38:32] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-22 18:38:32] [INFO]   -> Found value: FIRE-GRASS/BRUSH/TREES
[2026-02-22 18:38:32] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GRASS\/BRUSH\/TREES"
[2026-02-22 18:38:32] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-22 18:38:32] [INFO]   -> Found value: 02-22-2026 12:23:45|CONSERVATION REQUESTING SCRF FOR CONTROL BURN OUT OF CONTROL 

 02-22-2026 12:30...
[2026-02-22 18:38:32] [INFO]   -> Set field 'dispatchNotes' = "02-22-2026 12:23:45|CONSERVATION REQUESTING SCRF FOR CONTROL BURN OUT OF CONTROL \n\n 02-22-2026 12:30:28|REQUESTING NBC FOR BRUSH TRUCK 02-22-2026 12:30:52|1705 RESPONDING 02-22-2026 12:30:59|1701 RESPONDING FROM SIKESTON 02-22-2026 12:32:37|1771 ENR X2 02-22-2026 12:32:53|1102 ENR 1232 02-22-2026 12:33:39|1705 IN THE AREA ATL"
[2026-02-22 18:38:32] [INFO]   -> Set field 'cADLog' = "02-22-2026 12:23:45|CONSERVATION REQUESTING SCRF FOR CONTROL BURN OUT OF CONTROL \n\n 02-22-2026 12:30:28|REQUESTING NBC FOR BRUSH TRUCK 02-22-2026 12:30:52|1705 RESPONDING 02-22-2026 12:30:59|1701 RESPONDING FROM SIKESTON 02-22-2026 12:32:37|1771 ENR X2 02-22-2026 12:32:53|1102 ENR 1232 02-22-2026 12:33:39|1705 IN THE AREA ATL"
[2026-02-22 18:38:32] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-22 18:38:32] [INFO]   -> Found value: 02-22-2026T12:26:48
[2026-02-22 18:38:32] [INFO] Reformatted DD-MM-YYYY date '02-22-2026' (day=02, month=22) to ISO: 2026-22-02T12:26:48
[2026-02-22 18:38:32] [ERROR] Error formatting datetime '2026-22-02T12:26:48': Failed to parse time string (2026-22-02T12:26:48) at position 6 (2): Unexpected character
[2026-02-22 18:38:32] [INFO]   -> Set field 'alarm' = null
[2026-02-22 18:38:32] [INFO] Reformatted DD-MM-YYYY date '02-22-2026' (day=02, month=22) to ISO: 2026-22-02T12:26:48
[2026-02-22 18:38:32] [ERROR] Error formatting datetime '2026-22-02T12:26:48': Failed to parse time string (2026-22-02T12:26:48) at position 6 (2): Unexpected character
[2026-02-22 18:38:32] [INFO]   -> Set field 'dispatched' = null
[2026-02-22 18:38:32] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-22 18:38:32] [INFO]   -> Found value: 1760
[2026-02-22 18:38:32] [INFO]   -> Set field 'cADVehicleID' = 1760
[2026-02-22 18:38:32] [INFO]   -> Set field 'name' = "1760"
[2026-02-22 18:38:32] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-22 18:38:32] [INFO]   -> No value found (null or empty)
[2026-02-22 18:38:32] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-22 18:38:32] [INFO]   -> Found value: 02-22-2026T12:37:15
[2026-02-22 18:38:32] [INFO] Reformatted DD-MM-YYYY date '02-22-2026' (day=02, month=22) to ISO: 2026-22-02T12:37:15
[2026-02-22 18:38:32] [ERROR] Error formatting datetime '2026-22-02T12:37:15': Failed to parse time string (2026-22-02T12:37:15) at position 6 (2): Unexpected character
[2026-02-22 18:38:32] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 18:38:32] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-22 18:38:32] [INFO]   -> Found value: 02-22-2026T12:35:25
[2026-02-22 18:38:32] [INFO] Reformatted DD-MM-YYYY date '02-22-2026' (day=02, month=22) to ISO: 2026-22-02T12:35:25
[2026-02-22 18:38:32] [ERROR] Error formatting datetime '2026-22-02T12:35:25': Failed to parse time string (2026-22-02T12:35:25) at position 6 (2): Unexpected character
[2026-02-22 18:38:32] [INFO]   -> Set field 'timedispatch' = null
[2026-02-22 18:38:32] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-22 18:38:32] [INFO]   -> Found value: SCRFD
[2026-02-22 18:38:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-22 18:38:32] [INFO] Finished extracting fields. Total fields extracted: 15
[2026-02-22 18:38:32] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-22 18:38:32] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-05494","cADNumber":"26-05494","streetName":"STATE HIGHWAY H","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GRASS\/BRUSH\/TREES","dispatchNotes":"02-22-2026 12:23:45|CONSERVATION REQUESTING SCRF FOR CONTROL BURN OUT OF CONTROL \n\n 02-22-2026 12:30:28|REQUESTING NBC FOR BRUSH TRUCK 02-22-2026 12:30:52|1705 RESPONDING 02-22-2026 12:30:59|1701 RESPONDING FROM SIKESTON 02-22-2026 12:32:37|1771 ENR X2 02-22-2026 12:32:53|1102 ENR 1232 02-22-2026 12:33:39|1705 IN THE AREA ATL","cADLog":"02-22-2026 12:23:45|CONSERVATION REQUESTING SCRF FOR CONTROL BURN OUT OF CONTROL \n\n 02-22-2026 12:30:28|REQUESTING NBC FOR BRUSH TRUCK 02-22-2026 12:30:52|1705 RESPONDING 02-22-2026 12:30:59|1701 RESPONDING FROM SIKESTON 02-22-2026 12:32:37|1771 ENR X2 02-22-2026 12:32:53|1102 ENR 1232 02-22-2026 12:33:39|1705 IN THE AREA ATL","alarm":null,"dispatched":null,"cADVehicleID":1760,"name":"1760","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-02-22 18:38:32] [INFO] Number of extracted fields: 16
[2026-02-22 18:38:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-22 18:38:32] [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-22 18:38:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-22 18:38:32] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-22 18:38:32] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-22 18:38:32] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-22 18:38:32] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-22 18:38:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-22 18:38:33] [INFO] Found existing IncidentTypeMapping with ID: 6938ba16ac72f649f
[2026-02-22 18:38:33] [INFO] Found existing Dispatch with cADNumber '26-05494', ID: 699b4a6c6e0954bea - will update instead of create
[2026-02-22 18:38:33] [INFO] Updated existing Dispatches record with ID: 699b4a6c6e0954bea
[2026-02-22 18:38:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05494.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-22/SCRFD_26-05494.xml
[2026-02-22 18:38:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05494.xml
[2026-02-22 20:38:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153834975.xml
[2026-02-22 20:38:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153834975.xml for user: 68920395733981a47
[2026-02-22 20:38:37] [INFO] File size: 19566 bytes
[2026-02-22 20:38:37] [INFO] Created FTPFiles record with ID: 699b694dab95cbdd3
[2026-02-22 20:38:37] [INFO] About to extract fields from XML. File size: 19566 bytes
[2026-02-22 20:38:37] [INFO] Number of mappings: 24
[2026-02-22 20:38:37] [INFO] Starting XML parsing. Content length: 19566
[2026-02-22 20:38:37] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 20:38:37] [INFO] Processing 24 field mappings
[2026-02-22 20:38:37] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 20:38:37] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 20:38:37] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 20:38:37] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 20:38:37] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 20:38:37] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 20:38:37] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 20:38:37] [INFO]   -> Found value: 37415
[2026-02-22 20:38:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 20:38:37] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 20:38:37] [INFO]   -> Found value: 3127
[2026-02-22 20:38:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 20:38:37] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 20:38:37] [INFO]   -> Found value: DAYTON
[2026-02-22 20:38:37] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 20:38:37] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 20:38:37] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 20:38:37] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 20:38:37] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 20:38:37] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 20:38:37] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-22T13:25:00.067-05:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'onScene' = "2026-02-22 18:25:00"
[2026-02-22 20:38:37] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 20:38:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'cleared' = null
[2026-02-22 20:38:37] [INFO]   -> Set field 'inService' = null
[2026-02-22 20:38:37] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 20:38:37] [INFO]   -> Found value: 35.106634
[2026-02-22 20:38:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 20:38:37] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 20:38:37] [INFO]   -> Found value: -85.297508
[2026-02-22 20:38:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 20:38:37] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 20:38:37] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 20:38:37] [INFO]   -> Found value: E1MF
[2026-02-22 20:38:37] [INFO]   -> Set field 'cADVehicleID' = "E1MF"
[2026-02-22 20:38:37] [INFO]   -> Set field 'name' = "E1MF"
[2026-02-22 20:38:37] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 20:38:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-22 20:38:37] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-22T13:37:56.27-05:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'timeonscene' = "2026-02-22 18:37:56"
[2026-02-22 20:38:37] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 20:38:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 20:38:37] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-22T13:08:43.03-05:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-22 18:08:43"
[2026-02-22 20:38:37] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-22T13:08:43.01-05:00
[2026-02-22 20:38:37] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:08:43"
[2026-02-22 20:38:37] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 20:38:37] [INFO]   -> Found value: BLVD
[2026-02-22 20:38:37] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 20:38:37] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 20:38:37] [INFO]   -> Found value: 26-000361
[2026-02-22 20:38:37] [INFO]   -> Set field 'incidentInternalId' = "26-000361"
[2026-02-22 20:38:37] [INFO]   -> Set field 'dispatchRunNumber' = "26-000361"
[2026-02-22 20:38:37] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 20:38:37] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 20:38:37] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 20:38:37] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 20:38:37] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 20:38:37] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 20:38:37] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-02-22 20:38:37] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 20:38:37] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 20:38:37] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 20:38:37] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 20:38:37] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 20:38:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 20:38:37] [INFO] Found 5 elements for 'AgencyIdentifier', concatenating 5 non-empty values
[2026-02-22 20:38:37] [INFO]   -> Found value: RBFD
MFD
MFD
DBFD
SMFD
[2026-02-22 20:38:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nMFD\nDBFD\nSMFD"
[2026-02-22 20:38:37] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 20:38:37] [INFO] Concatenating street name and type
[2026-02-22 20:38:37] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 20:38:37] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 20:38:37] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":"2026-02-22 18:25:00","cleared":null,"inService":null,"nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"E1MF","name":"E1MF","timeunitclear":null,"timeonscene":"2026-02-22 18:37:56","timestaging":null,"timeenroutetoscene":"2026-02-22 18:08:43","timedispatch":"2026-02-22 18:08:43","incidentInternalId":"26-000361","dispatchRunNumber":"26-000361","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADAgencyIdentifier":"RBFD\nMFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 20:38:37] [INFO] Number of extracted fields: 29
[2026-02-22 20:38:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
MFD
DBFD
SMFD'
[2026-02-22 20:38:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","MFD","DBFD","SMFD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 2
[2026-02-22 20:38:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","MFD","DBFD","SMFD"]
[2026-02-22 20:38:37] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 20:38:37] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 20:38:37] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 20:38:38] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 20:38:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["MFD","DBFD","SMFD"]
[2026-02-22 20:38:38] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 20:38:38] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 20:38:38] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 5)
[2026-02-22 20:38:38] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 20:38:38] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 20:38:38] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 20:38:38] [INFO] Found existing Dispatch with cADNumber '2026-02-30726', ID: 699b446550db5feaa - will update instead of create
[2026-02-22 20:38:38] [INFO] Updated existing Dispatches record with ID: 699b446550db5feaa
[2026-02-22 20:38:38] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 20:38:38] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 20:38:38] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 20:38:38] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153834975.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 20:38:38] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 20:38:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153840037.xml
[2026-02-22 20:38:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153840037.xml for user: 68920395733981a47
[2026-02-22 20:38:40] [INFO] File size: 20126 bytes
[2026-02-22 20:38:40] [INFO] Created FTPFiles record with ID: 699b695070fd499b6
[2026-02-22 20:38:40] [INFO] About to extract fields from XML. File size: 20126 bytes
[2026-02-22 20:38:40] [INFO] Number of mappings: 24
[2026-02-22 20:38:40] [INFO] Starting XML parsing. Content length: 20126
[2026-02-22 20:38:40] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 20:38:40] [INFO] Processing 24 field mappings
[2026-02-22 20:38:40] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 20:38:40] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 20:38:40] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 20:38:40] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 20:38:40] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 20:38:40] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 20:38:40] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 20:38:40] [INFO]   -> Found value: 37415
[2026-02-22 20:38:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 20:38:40] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 20:38:40] [INFO]   -> Found value: 3127
[2026-02-22 20:38:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 20:38:40] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 20:38:40] [INFO]   -> Found value: DAYTON
[2026-02-22 20:38:40] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 20:38:40] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 20:38:40] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 20:38:40] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 20:38:40] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 20:38:40] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 20:38:40] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T13:25:00.067-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'onScene' = "2026-02-22 18:25:00"
[2026-02-22 20:38:40] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 20:38:40] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'cleared' = null
[2026-02-22 20:38:40] [INFO]   -> Set field 'inService' = null
[2026-02-22 20:38:40] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 20:38:40] [INFO]   -> Found value: 35.106634
[2026-02-22 20:38:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 20:38:40] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 20:38:40] [INFO]   -> Found value: -85.297508
[2026-02-22 20:38:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 20:38:40] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 20:38:40] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 20:38:40] [INFO]   -> Found value: E1MF
[2026-02-22 20:38:40] [INFO]   -> Set field 'cADVehicleID' = "E1MF"
[2026-02-22 20:38:40] [INFO]   -> Set field 'name' = "E1MF"
[2026-02-22 20:38:40] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T15:38:36.89-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'timeunitclear' = "2026-02-22 20:38:36"
[2026-02-22 20:38:40] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T13:37:56.27-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'timeonscene' = "2026-02-22 18:37:56"
[2026-02-22 20:38:40] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 20:38:40] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 20:38:40] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T13:08:43.03-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-22 18:08:43"
[2026-02-22 20:38:40] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-22T13:08:43.01-05:00
[2026-02-22 20:38:40] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:08:43"
[2026-02-22 20:38:40] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 20:38:40] [INFO]   -> Found value: BLVD
[2026-02-22 20:38:40] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 20:38:40] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 20:38:40] [INFO]   -> Found value: 26-000045
[2026-02-22 20:38:40] [INFO]   -> Set field 'incidentInternalId' = "26-000045"
[2026-02-22 20:38:40] [INFO]   -> Set field 'dispatchRunNumber' = "26-000045"
[2026-02-22 20:38:40] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 20:38:40] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 20:38:40] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 20:38:40] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 20:38:40] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 20:38:40] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 20:38:40] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-02-22 20:38:40] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 20:38:40] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 20:38:40] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 20:38:40] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 20:38:40] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 20:38:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 20:38:40] [INFO] Found 5 elements for 'AgencyIdentifier', concatenating 5 non-empty values
[2026-02-22 20:38:40] [INFO]   -> Found value: RBFD
MFD
MFD
DBFD
SMFD
[2026-02-22 20:38:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nMFD\nDBFD\nSMFD"
[2026-02-22 20:38:40] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 20:38:40] [INFO] Concatenating street name and type
[2026-02-22 20:38:40] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 20:38:40] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 20:38:40] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":"2026-02-22 18:25:00","cleared":null,"inService":null,"nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"E1MF","name":"E1MF","timeunitclear":"2026-02-22 20:38:36","timeonscene":"2026-02-22 18:37:56","timestaging":null,"timeenroutetoscene":"2026-02-22 18:08:43","timedispatch":"2026-02-22 18:08:43","incidentInternalId":"26-000045","dispatchRunNumber":"26-000045","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADAgencyIdentifier":"RBFD\nMFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 20:38:40] [INFO] Number of extracted fields: 29
[2026-02-22 20:38:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
MFD
DBFD
SMFD'
[2026-02-22 20:38:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","MFD","DBFD","SMFD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 2
[2026-02-22 20:38:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","MFD","DBFD","SMFD"]
[2026-02-22 20:38:40] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 20:38:40] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 20:38:40] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 20:38:40] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 20:38:40] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["MFD","DBFD","SMFD"]
[2026-02-22 20:38:40] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 20:38:40] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 20:38:40] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 5)
[2026-02-22 20:38:40] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 20:38:40] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 20:38:41] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 20:38:41] [INFO] Found existing Dispatch with cADNumber '2026-02-30726', ID: 699b446550db5feaa - will update instead of create
[2026-02-22 20:38:41] [INFO] Updated existing Dispatches record with ID: 699b446550db5feaa
[2026-02-22 20:38:41] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 20:38:41] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 20:38:41] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 20:38:41] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153840037.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 20:38:41] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 20:38:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153845117.xml
[2026-02-22 20:38:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153845117.xml for user: 68920395733981a47
[2026-02-22 20:38:45] [INFO] File size: 20434 bytes
[2026-02-22 20:38:45] [INFO] Created FTPFiles record with ID: 699b6955883dd87be
[2026-02-22 20:38:45] [INFO] About to extract fields from XML. File size: 20434 bytes
[2026-02-22 20:38:45] [INFO] Number of mappings: 24
[2026-02-22 20:38:45] [INFO] Starting XML parsing. Content length: 20434
[2026-02-22 20:38:45] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-22 20:38:45] [INFO] Processing 24 field mappings
[2026-02-22 20:38:45] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-22 20:38:45] [INFO]   -> Found value: FMUAID-Fire Mutual Aid
[2026-02-22 20:38:45] [INFO]   -> Set field 'incidentTypeValue1' = "FMUAID-Fire Mutual Aid"
[2026-02-22 20:38:45] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-22 20:38:45] [INFO]   -> Found value: @RBFD STATION 1
[2026-02-22 20:38:45] [INFO]   -> Set field 'businessName' = "@RBFD STATION 1"
[2026-02-22 20:38:45] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-22 20:38:45] [INFO]   -> Found value: 37415
[2026-02-22 20:38:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37415
[2026-02-22 20:38:45] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-22 20:38:45] [INFO]   -> Found value: 3127
[2026-02-22 20:38:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3127
[2026-02-22 20:38:45] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-22 20:38:45] [INFO]   -> Found value: DAYTON
[2026-02-22 20:38:45] [INFO]   -> Set field 'streetName' = "DAYTON"
[2026-02-22 20:38:45] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-22 20:38:45] [INFO]   -> Found value: LANCASTER AVE/W NEWBERRY ST
[2026-02-22 20:38:45] [INFO]   -> Set field 'incidentLocationCross' = "LANCASTER AVE\/W NEWBERRY ST"
[2026-02-22 20:38:45] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T12:46:31.053-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'alarm' = "2026-02-22 17:46:31"
[2026-02-22 20:38:45] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T12:51:07.627-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'enroute' = "2026-02-22 17:51:07"
[2026-02-22 20:38:45] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T13:25:00.067-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'onScene' = "2026-02-22 18:25:00"
[2026-02-22 20:38:45] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T15:38:40.753-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'cleared' = "2026-02-22 20:38:40"
[2026-02-22 20:38:45] [INFO]   -> Set field 'inService' = "2026-02-22 20:38:40"
[2026-02-22 20:38:45] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-22 20:38:45] [INFO]   -> Found value: 35.106634
[2026-02-22 20:38:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.1066339999999996734914020635187625885009765625
[2026-02-22 20:38:45] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-22 20:38:45] [INFO]   -> Found value: -85.297508
[2026-02-22 20:38:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2975079999999934443621896207332611083984375
[2026-02-22 20:38:45] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T12:51:07.6-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'dispatched' = "2026-02-22 17:51:07"
[2026-02-22 20:38:45] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-22 20:38:45] [INFO]   -> Found value: E1MF
[2026-02-22 20:38:45] [INFO]   -> Set field 'cADVehicleID' = "E1MF"
[2026-02-22 20:38:45] [INFO]   -> Set field 'name' = "E1MF"
[2026-02-22 20:38:45] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T15:38:36.89-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'timeunitclear' = "2026-02-22 20:38:36"
[2026-02-22 20:38:45] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T13:37:56.27-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'timeonscene' = "2026-02-22 18:37:56"
[2026-02-22 20:38:45] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-22 20:38:45] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'timestaging' = null
[2026-02-22 20:38:45] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T13:08:43.03-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-22 18:08:43"
[2026-02-22 20:38:45] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-22T13:08:43.01-05:00
[2026-02-22 20:38:45] [INFO]   -> Set field 'timedispatch' = "2026-02-22 18:08:43"
[2026-02-22 20:38:45] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-22 20:38:45] [INFO]   -> Found value: BLVD
[2026-02-22 20:38:45] [INFO]   -> Set field 'streetType' = "BLVD"
[2026-02-22 20:38:45] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 20:38:45] [INFO]   -> Found value: 26-000045
[2026-02-22 20:38:45] [INFO]   -> Set field 'incidentInternalId' = "26-000045"
[2026-02-22 20:38:45] [INFO]   -> Set field 'dispatchRunNumber' = "26-000045"
[2026-02-22 20:38:45] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-22 20:38:45] [INFO]   -> Found value: 2026-02-30726
[2026-02-22 20:38:45] [INFO]   -> Set field 'policeReportNumber' = "2026-02-30726"
[2026-02-22 20:38:45] [INFO]   -> Set field 'cADNumber' = "2026-02-30726"
[2026-02-22 20:38:45] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-22 20:38:45] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-22 20:38:45] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-02-22 20:38:45] [INFO]   -> Found value: 02/22/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medi...
[2026-02-22 20:38:45] [INFO]   -> Set field 'dispatchNotes' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 20:38:45] [INFO]   -> Set field 'cADLog' = "02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT"
[2026-02-22 20:38:45] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-22 20:38:45] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-22 20:38:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 20:38:45] [INFO] Found 5 elements for 'AgencyIdentifier', concatenating 5 non-empty values
[2026-02-22 20:38:45] [INFO]   -> Found value: RBFD
MFD
MFD
DBFD
SMFD
[2026-02-22 20:38:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "RBFD\nMFD\nMFD\nDBFD\nSMFD"
[2026-02-22 20:38:45] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-22 20:38:45] [INFO] Concatenating street name and type
[2026-02-22 20:38:45] [INFO]   -> Combined street name: DAYTON BLVD
[2026-02-22 20:38:45] [INFO] Built locationCoordinates from lat/lng: 35.106634,-85.297508
[2026-02-22 20:38:45] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FMUAID-Fire Mutual Aid","businessName":"@RBFD STATION 1","nERISIncidentPostalCode":37415,"incidentLocationStreetNumber":3127,"streetName":"DAYTON BLVD","incidentLocationCross":"LANCASTER AVE\/W NEWBERRY ST","alarm":"2026-02-22 17:46:31","enroute":"2026-02-22 17:51:07","onScene":"2026-02-22 18:25:00","cleared":"2026-02-22 20:38:40","inService":"2026-02-22 20:38:40","nERISIncidentLatitude":35.1066339999999996734914020635187625885009765625,"nERISIncidentLongitude":-85.2975079999999934443621896207332611083984375,"dispatched":"2026-02-22 17:51:07","cADVehicleID":"E1MF","name":"E1MF","timeunitclear":"2026-02-22 20:38:36","timeonscene":"2026-02-22 18:37:56","timestaging":null,"timeenroutetoscene":"2026-02-22 18:08:43","timedispatch":"2026-02-22 18:08:43","incidentInternalId":"26-000045","dispatchRunNumber":"26-000045","policeReportNumber":"2026-02-30726","cADNumber":"2026-02-30726","dispatchNotes":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADLog":"02\/22\/2026 12:47:01 Automatic By System     [1] [Address:  3127 DAYTON BLVD [@RBFD STATION 1]] [Medium] [Door Code] DOE 03\/04\/2025DOOR CODE 852357#\n02\/22\/2026 12:48:43 GUY_C                   [2] SMFD ENGINE TO ST 1\n02\/22\/2026 12:51:08 MAYS-AXIUM_C            [3] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Signal Mountain FD. Case Number(s): 26-000180 requested by E1SM.\n02\/22\/2026 12:51:09 PAGINGSERVICE           [4] Paging Groups Notified:RBFD Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [5] Paging Groups Notified:HCES PIO Auto Page\n02\/22\/2026 12:51:09 PAGINGSERVICE           [6] Paging Groups Notified:MUTAID Chiefs Group\n02\/22\/2026 12:51:09 PAGINGSERVICE           [7] Paging Groups Notified:Eddie Phillips Specific Text\n02\/22\/2026 12:54:37 LONG_M                  [8] PER MA 1 SMFD CANNOT RESPOND\n02\/22\/2026 12:55:02 LONG_M                  [9] SEND DBFD ENGINE TO ST 1 INSTEAD OF 2\n02\/22\/2026 12:55:08 MAYS-AXIUM_C            [10] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Dallas Bay VFD. Case Number(s): 26-000361 requested by E1DB.\n02\/22\/2026 12:56:34 MAYS-AXIUM_C            [11] 13222 ER TO ST 1\n02\/22\/2026 13:00:06 LONG_M                  [12] MA1 ADV START MOWBRAY TO ST 1 FOR FILL IN AT RB STATION 1\n02\/22\/2026 13:01:05 LONG_M                  [13] Automatic Case Number(s) issued for Incident #[2026-02-30726], Jurisdiction: Mowbray VFD. Case Number(s): 26-000045 requested by H1400.\n02\/22\/2026 13:18:03 LONG_M                  [14] E1MF STATUS 3 EMT","cADAgencyIdentifier":"RBFD\nMFD\nMFD\nDBFD\nSMFD","locationCoordinates":"35.106634,-85.297508"}
[2026-02-22 20:38:45] [INFO] Number of extracted fields: 29
[2026-02-22 20:38:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'RBFD
MFD
MFD
DBFD
SMFD'
[2026-02-22 20:38:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'RBFD
MFD
MFD
DBFD
SMFD', Parsed IDs = ["RBFD","MFD","MFD","DBFD","SMFD"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 2
[2026-02-22 20:38:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["RBFD","MFD","MFD","DBFD","SMFD"]
[2026-02-22 20:38:45] [INFO] Attempting SAASClient lookup for AgencyCode 'RBFD' (index 0) within mailbox's assigned agencies
[2026-02-22 20:38:45] [WARNING] WARNING: No SAASClient found with cADAgencyIdentifier = 'RBFD'
[2026-02-22 20:38:45] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 1) within mailbox's assigned agencies
[2026-02-22 20:38:45] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 1 based on AgencyCode 'MFD'
[2026-02-22 20:38:45] [INFO] INFO: Ignoring additional AgencyCode values after match at index 1: ["MFD","DBFD","SMFD"]
[2026-02-22 20:38:46] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-22 20:38:46] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 1
[2026-02-22 20:38:46] [INFO] Filtering multi-agency fields by matched index 1 (agency count: 5)
[2026-02-22 20:38:46] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-22 20:38:46] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-22 20:38:46] [INFO] Found existing IncidentTypeMapping with ID: 69848bc7051ea5e22
[2026-02-22 20:38:46] [INFO] Found existing Dispatch with cADNumber '2026-02-30726', ID: 699b446550db5feaa - will update instead of create
[2026-02-22 20:38:46] [INFO] Updated existing Dispatches record with ID: 699b446550db5feaa
[2026-02-22 20:38:46] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 20:38:46] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 20:38:46] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 20:38:46] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-30726_20260222153845117.xml: Failed to login to V2 FTP server with username: 0615ee17-79f2-4c01-8487-bfd3f34e9949@alerts.stationboss.net
[2026-02-22 20:38:46] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 20:58:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019893_20260222_205833.XML
[2026-02-22 20:58:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019893_20260222_205833.XML for user: 68f1466aed072ad4a
[2026-02-22 20:58:33] [INFO] File size: 5646 bytes
[2026-02-22 20:58:34] [INFO] Created FTPFiles record with ID: 699b6dfa004fcf0c5
[2026-02-22 20:58:34] [INFO] About to extract fields from XML. File size: 5646 bytes
[2026-02-22 20:58:34] [INFO] Number of mappings: 28
[2026-02-22 20:58:34] [INFO] Starting XML parsing. Content length: 5646
[2026-02-22 20:58:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 20:58:34] [INFO] Processing 28 field mappings
[2026-02-22 20:58:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 20:58:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 20:58:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-22 20:58:34] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-22 20:58:34] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-02-22 20:58:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-02-22 20:58:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 20:58:34] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-22 20:58:34] [INFO]   -> Found value: 2026000507
[2026-02-22 20:58:34] [INFO]   -> Set field 'incidentInternalId' = "2026000507"
[2026-02-22 20:58:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000507"
[2026-02-22 20:58:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 20:58:34] [INFO]   -> Found value: MEDICAL CALL
[2026-02-22 20:58:34] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-02-22 20:58:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 20:58:34] [INFO]   -> Found value: 530
[2026-02-22 20:58:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-02-22 20:58:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 20:58:34] [INFO]   -> Found value: TN
[2026-02-22 20:58:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 20:58:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 20:58:34] [INFO]   -> Found value: 38574
[2026-02-22 20:58:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-02-22 20:58:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 20:58:34] [INFO]   -> Found value: 36.12939
[2026-02-22 20:58:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12939000000000078216544352471828460693359375
[2026-02-22 20:58:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 20:58:34] [INFO]   -> Found value: -85.25214
[2026-02-22 20:58:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.25213999999999714418663643300533294677734375
[2026-02-22 20:58:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 20:58:34] [INFO]   -> Found value: 2026-02-22 14:57:39
[2026-02-22 20:58:34] [INFO]   -> Set field 'alarm' = "2026-02-22 14:57:39"
[2026-02-22 20:58:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 20:58:34] [INFO]   -> Found value: 2026-02-22 14:58:25
[2026-02-22 20:58:34] [INFO]   -> Set field 'dispatched' = "2026-02-22 14:58:25"
[2026-02-22 20:58:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 20:58:34] [INFO]   -> Found value: OLD WALTON RD/INDUSTRIAL DR
[2026-02-22 20:58:34] [INFO]   -> Set field 'incidentLocationCross' = "OLD WALTON RD\/INDUSTRIAL DR"
[2026-02-22 20:58:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 20:58:34] [INFO]   -> Found value: PCFR
[2026-02-22 20:58:34] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-22 20:58:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 20:58:34] [INFO]   -> Found value: 2026-02-22 14:58:25
[2026-02-22 20:58:34] [INFO]   -> Set field 'timedispatch' = "2026-02-22 14:58:25"
[2026-02-22 20:58:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 20:58:34] [INFO]   -> No value found (null or empty)
[2026-02-22 20:58:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 20:58:34] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-22 20:58:34] [INFO]   -> Found value: 20260019893
[2026-02-22 20:58:34] [INFO]   -> Set field 'policeReportNumber' = "20260019893"
[2026-02-22 20:58:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 20:58:34] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02/22/26 14:58:02 SBALLARD] [EMS] SAYS SHE IS COLD  [02/22/2...
[2026-02-22 20:58:34] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 14:58:02 SBALLARD] [EMS] SAYS SHE IS COLD  [02\/22\/26 14:57:48 KMORGAN2] Event spawned from DEAD ON ARRIVAL.  [02\/22\/2026 14:57:39 KELLIS] ALL THEY SAY IS SHE IS IN HER BED DEAD  [02\/22\/26 14:57:07 KMORGAN2] SHE IS IN THE SHED  [02\/22\/26 14:56:38 KMORGAN2] CALLER THINKS HER DAUGHTER IS DEAD  [02\/22\/26 14:56:21 KMORGAN2]"
[2026-02-22 20:58:34] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 14:58:02 SBALLARD] [EMS] SAYS SHE IS COLD  [02\/22\/26 14:57:48 KMORGAN2] Event spawned from DEAD ON ARRIVAL.  [02\/22\/2026 14:57:39 KELLIS] ALL THEY SAY IS SHE IS IN HER BED DEAD  [02\/22\/26 14:57:07 KMORGAN2] SHE IS IN THE SHED  [02\/22\/26 14:56:38 KMORGAN2] CALLER THINKS HER DAUGHTER IS DEAD  [02\/22\/26 14:56:21 KMORGAN2]"
[2026-02-22 20:58:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 20:58:34] [INFO]   -> Found value: MONTEREY
[2026-02-22 20:58:34] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-02-22 20:58:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 20:58:34] [INFO]   -> Found value: WALTON HILLS
[2026-02-22 20:58:34] [INFO]   -> Set field 'streetName' = "WALTON HILLS"
[2026-02-22 20:58:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 20:58:34] [INFO]   -> Found value: RD
[2026-02-22 20:58:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-22 20:58:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 20:58:34] [INFO]   -> Found value: 530 WALTON HILLS RD
[2026-02-22 20:58:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 WALTON HILLS RD"
[2026-02-22 20:58:34] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-22 20:58:34] [INFO] Concatenating street name and type
[2026-02-22 20:58:34] [INFO]   -> Combined street name: WALTON HILLS RD
[2026-02-22 20:58:34] [INFO] Built locationCoordinates from lat/lng: 36.12939,-85.25214
[2026-02-22 20:58:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000507","dispatchRunNumber":"2026000507","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.12939000000000078216544352471828460693359375,"nERISIncidentLongitude":-85.25213999999999714418663643300533294677734375,"alarm":"2026-02-22 14:57:39","dispatched":"2026-02-22 14:58:25","incidentLocationCross":"OLD WALTON RD\/INDUSTRIAL DR","cADVehicleID":"PCFR","timedispatch":"2026-02-22 14:58:25","policeReportNumber":"20260019893","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 14:58:02 SBALLARD] [EMS] SAYS SHE IS COLD  [02\/22\/26 14:57:48 KMORGAN2] Event spawned from DEAD ON ARRIVAL.  [02\/22\/2026 14:57:39 KELLIS] ALL THEY SAY IS SHE IS IN HER BED DEAD  [02\/22\/26 14:57:07 KMORGAN2] SHE IS IN THE SHED  [02\/22\/26 14:56:38 KMORGAN2] CALLER THINKS HER DAUGHTER IS DEAD  [02\/22\/26 14:56:21 KMORGAN2]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/22\/26 14:58:02 SBALLARD] [EMS] SAYS SHE IS COLD  [02\/22\/26 14:57:48 KMORGAN2] Event spawned from DEAD ON ARRIVAL.  [02\/22\/2026 14:57:39 KELLIS] ALL THEY SAY IS SHE IS IN HER BED DEAD  [02\/22\/26 14:57:07 KMORGAN2] SHE IS IN THE SHED  [02\/22\/26 14:56:38 KMORGAN2] CALLER THINKS HER DAUGHTER IS DEAD  [02\/22\/26 14:56:21 KMORGAN2]","incidentLocationCity":"MONTEREY","streetName":"WALTON HILLS RD","incidentAddressTextVersionStreet":"530 WALTON HILLS RD","locationCoordinates":"36.12939,-85.25214"}
[2026-02-22 20:58:34] [INFO] Number of extracted fields: 21
[2026-02-22 20:58:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-02-22 20:58:34] [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-22 20:58:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-02-22 20:58:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-22 20:58:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-22 20:58:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-02-22 20:58:34] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-22 20:58:34] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-22 20:58:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-22 20:58:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-22 20:58:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-22 20:58:34] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-02-22 20:58:45] [INFO] Created new Dispatches record with ID: 699b6dfac0e6e239e
[2026-02-22 20:58:45] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 20:58:45] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 20:58:45] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 20:58:45] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019893_20260222_205833.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 20:58:45] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
[2026-02-22 21:43:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019901_20260222_214304.XML
[2026-02-22 21:43:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019901_20260222_214304.XML for user: 68f1466aed072ad4a
[2026-02-22 21:43:04] [INFO] File size: 4636 bytes
[2026-02-22 21:43:04] [INFO] Created FTPFiles record with ID: 699b7868cfa5dc7f6
[2026-02-22 21:43:04] [INFO] About to extract fields from XML. File size: 4636 bytes
[2026-02-22 21:43:04] [INFO] Number of mappings: 28
[2026-02-22 21:43:04] [INFO] Starting XML parsing. Content length: 4636
[2026-02-22 21:43:04] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-22 21:43:04] [INFO] Processing 28 field mappings
[2026-02-22 21:43:04] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-22 21:43:04] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-22 21:43:04] [INFO]   -> Found value: PCFD
[2026-02-22 21:43:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-02-22 21:43:04] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-22 21:43:04] [INFO]   -> Found value: 2026000508
[2026-02-22 21:43:04] [INFO]   -> Set field 'incidentInternalId' = "2026000508"
[2026-02-22 21:43:04] [INFO]   -> Set field 'dispatchRunNumber' = "2026000508"
[2026-02-22 21:43:04] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-22 21:43:04] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-02-22 21:43:04] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-02-22 21:43:04] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-22 21:43:04] [INFO]   -> Found value: 3010
[2026-02-22 21:43:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-02-22 21:43:04] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-22 21:43:04] [INFO]   -> Found value: TN
[2026-02-22 21:43:04] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-22 21:43:04] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-22 21:43:04] [INFO]   -> Found value: 38506
[2026-02-22 21:43:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-22 21:43:04] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-22 21:43:04] [INFO]   -> Found value: ERNIE BURGESS
[2026-02-22 21:43:04] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-02-22 21:43:04] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-22 21:43:04] [INFO]   -> Found value: 36.24147
[2026-02-22 21:43:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-02-22 21:43:04] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-22 21:43:04] [INFO]   -> Found value: -85.43627
[2026-02-22 21:43:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-02-22 21:43:04] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-22 21:43:04] [INFO]   -> Found value: 2026-02-22 15:41:33
[2026-02-22 21:43:04] [INFO]   -> Set field 'alarm' = "2026-02-22 15:41:33"
[2026-02-22 21:43:04] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-22 21:43:04] [INFO]   -> Found value: 2026-02-22 15:42:57
[2026-02-22 21:43:04] [INFO]   -> Set field 'dispatched' = "2026-02-22 15:42:57"
[2026-02-22 21:43:04] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-22 21:43:04] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-02-22 21:43:04] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-02-22 21:43:04] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-22 21:43:04] [INFO]   -> Found value: TK12
[2026-02-22 21:43:04] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-02-22 21:43:04] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-22 21:43:04] [INFO]   -> Found value: 2026-02-22 15:42:57
[2026-02-22 21:43:04] [INFO]   -> Set field 'timedispatch' = "2026-02-22 15:42:57"
[2026-02-22 21:43:04] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-22 21:43:04] [INFO]   -> Found value: 20260019901
[2026-02-22 21:43:04] [INFO]   -> Set field 'policeReportNumber' = "20260019901"
[2026-02-22 21:43:04] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-22 21:43:04] [INFO]   -> No value found (null or empty)
[2026-02-22 21:43:04] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-22 21:43:04] [INFO]   -> Found value: COOKEVILLE
[2026-02-22 21:43:04] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-22 21:43:04] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-22 21:43:04] [INFO]   -> Found value: PARAN
[2026-02-22 21:43:04] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-02-22 21:43:04] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-22 21:43:04] [INFO]   -> Found value: RD
[2026-02-22 21:43:04] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-22 21:43:04] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-22 21:43:04] [INFO]   -> Found value: 3010 PARAN RD
[2026-02-22 21:43:04] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-02-22 21:43:04] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-22 21:43:04] [INFO] Concatenating street name and type
[2026-02-22 21:43:04] [INFO]   -> Combined street name: PARAN RD
[2026-02-22 21:43:04] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-02-22 21:43:04] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000508","dispatchRunNumber":"2026000508","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-02-22 15:41:33","dispatched":"2026-02-22 15:42:57","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":"TK12","timedispatch":"2026-02-22 15:42:57","policeReportNumber":"20260019901","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-02-22 21:43:04] [INFO] Number of extracted fields: 20
[2026-02-22 21:43:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-02-22 21:43:04] [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-22 21:43:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-02-22 21:43:04] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-22 21:43:05] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-22 21:43:05] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-22 21:43:05] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-22 21:43:05] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-22 21:43:05] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-02-22 21:43:15] [INFO] Created new Dispatches record with ID: 699b78699fb4ecbac
[2026-02-22 21:43:15] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-22 21:43:15] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-22 21:43:15] [ERROR] PHP Error [WARNING]: ftp_login(): AUTH not understood in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1002
[2026-02-22 21:43:15] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260019901_20260222_214304.XML: Failed to login to V2 FTP server with username: f1bbfaea-7d70-4d6c-9b17-a1712a36552e@alerts.stationboss.net
[2026-02-22 21:43:15] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1004
