[2026-02-12 00:00:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190011539.xml
[2026-02-12 00:00:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190011539.xml for user: 68920395733981a47
[2026-02-12 00:00:11] [INFO] File size: 8944 bytes
[2026-02-12 00:00:12] [INFO] Created FTPFiles record with ID: 698d180c0abde6c31
[2026-02-12 00:00:12] [INFO] About to extract fields from XML. File size: 8944 bytes
[2026-02-12 00:00:12] [INFO] Number of mappings: 24
[2026-02-12 00:00:12] [INFO] Starting XML parsing. Content length: 8944
[2026-02-12 00:00:12] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:00:12] [INFO] Processing 24 field mappings
[2026-02-12 00:00:12] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:00:12] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:00:12] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:00:12] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:00:12] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:00:12] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:00:12] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:00:12] [INFO]   -> Found value: 37379
[2026-02-12 00:00:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:00:12] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:00:12] [INFO]   -> Found value: 1934
[2026-02-12 00:00:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:00:12] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:00:12] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:00:12] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:00:12] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:00:12] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:00:12] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:00:12] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:00:12] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:00:12] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:00:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'enroute' = null
[2026-02-12 00:00:12] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:00:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'onScene' = null
[2026-02-12 00:00:12] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:00:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'cleared' = null
[2026-02-12 00:00:12] [INFO]   -> Set field 'inService' = null
[2026-02-12 00:00:12] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:00:12] [INFO]   -> Found value: 35.2788
[2026-02-12 00:00:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:00:12] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:00:12] [INFO]   -> Found value: -85.227257
[2026-02-12 00:00:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:00:12] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:00:12] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:00:12] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:00:12] [INFO]   -> Found value: H1400
[2026-02-12 00:00:12] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-02-12 00:00:12] [INFO]   -> Set field 'name' = "H1400"
[2026-02-12 00:00:12] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:00:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-12 00:00:12] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:00:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'timeonscene' = null
[2026-02-12 00:00:12] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:00:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:00:12] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:00:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-12 00:00:12] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:00:12] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:00:12] [INFO]   -> Set field 'timedispatch' = "2026-02-11 23:59:02"
[2026-02-12 00:00:12] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:00:12] [INFO]   -> Found value: PIKE
[2026-02-12 00:00:12] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:00:12] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:00:12] [INFO]   -> Found value: 26-000040
[2026-02-12 00:00:12] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:00:12] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:00:12] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:00:12] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:00:12] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:00:12] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:00:12] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:00:12] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:00:12] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-02-12 00:00:12] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:00:12] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:00:12] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:00:12] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:00:12] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:00:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:00:12] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-02-12 00:00:12] [INFO]   -> Found value: MFD
MFD
[2026-02-12 00:00:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-02-12 00:00:12] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:00:12] [INFO] Concatenating street name and type
[2026-02-12 00:00:12] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:00:12] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:00:12] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-02-11 23:59:02","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:00:12] [INFO] Number of extracted fields: 29
[2026-02-12 00:00:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-02-12 00:00:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-02-12 00:00:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-02-12 00:00:12] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:00:12] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:00:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-02-12 00:00:12] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:00:12] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:00:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-12 00:00:12] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:00:12] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:00:12] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:00:12] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:00:13] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:00:13] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:00:13] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:00:16] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:00:16] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190011539.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211190011539.xml
[2026-02-12 00:00:16] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:00:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190036784.xml
[2026-02-12 00:00:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190036784.xml for user: 68920395733981a47
[2026-02-12 00:00:36] [INFO] File size: 9089 bytes
[2026-02-12 00:00:37] [INFO] Created FTPFiles record with ID: 698d18253fab19490
[2026-02-12 00:00:37] [INFO] About to extract fields from XML. File size: 9089 bytes
[2026-02-12 00:00:37] [INFO] Number of mappings: 24
[2026-02-12 00:00:37] [INFO] Starting XML parsing. Content length: 9089
[2026-02-12 00:00:37] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:00:37] [INFO] Processing 24 field mappings
[2026-02-12 00:00:37] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:00:37] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:00:37] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:00:37] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:00:37] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:00:37] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:00:37] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:00:37] [INFO]   -> Found value: 37379
[2026-02-12 00:00:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:00:37] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:00:37] [INFO]   -> Found value: 1934
[2026-02-12 00:00:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:00:37] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:00:37] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:00:37] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:00:37] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:00:37] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:00:37] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:00:37] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:00:37] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:00:37] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:00:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'enroute' = null
[2026-02-12 00:00:37] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:00:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'onScene' = null
[2026-02-12 00:00:37] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:00:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'cleared' = null
[2026-02-12 00:00:37] [INFO]   -> Set field 'inService' = null
[2026-02-12 00:00:37] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:00:37] [INFO]   -> Found value: 35.2788
[2026-02-12 00:00:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:00:37] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:00:37] [INFO]   -> Found value: -85.227257
[2026-02-12 00:00:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:00:37] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:00:37] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:00:37] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:00:37] [INFO]   -> Found value: H1400
[2026-02-12 00:00:37] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-02-12 00:00:37] [INFO]   -> Set field 'name' = "H1400"
[2026-02-12 00:00:37] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:00:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-12 00:00:37] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:00:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'timeonscene' = null
[2026-02-12 00:00:37] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:00:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:00:37] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:00:37] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-12 00:00:37] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:00:37] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:00:37] [INFO]   -> Set field 'timedispatch' = "2026-02-11 23:59:02"
[2026-02-12 00:00:37] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:00:37] [INFO]   -> Found value: PIKE
[2026-02-12 00:00:37] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:00:37] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:00:37] [INFO]   -> Found value: 26-000040
[2026-02-12 00:00:37] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:00:37] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:00:37] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:00:37] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:00:37] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:00:37] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:00:37] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:00:37] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:00:37] [INFO] Found 11 elements for 'Comment', concatenating 11 non-empty values
[2026-02-12 00:00:37] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:00:37] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:00:37] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:00:37] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:00:37] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:00:37] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:00:37] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-02-12 00:00:37] [INFO]   -> Found value: MFD
MFD
[2026-02-12 00:00:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-02-12 00:00:37] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:00:37] [INFO] Concatenating street name and type
[2026-02-12 00:00:37] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:00:37] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:00:37] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-02-11 23:59:02","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:00:37] [INFO] Number of extracted fields: 29
[2026-02-12 00:00:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-02-12 00:00:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-02-12 00:00:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-02-12 00:00:37] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:00:37] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:00:37] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-02-12 00:00:37] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:00:37] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:00:37] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-12 00:00:37] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:00:37] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:00:37] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:00:38] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:00:38] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:00:38] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:00:38] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:00:41] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:00:41] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190036784.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211190036784.xml
[2026-02-12 00:00:41] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:00:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190041862.xml
[2026-02-12 00:00:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190041862.xml for user: 68920395733981a47
[2026-02-12 00:00:41] [INFO] File size: 11689 bytes
[2026-02-12 00:00:42] [INFO] Created FTPFiles record with ID: 698d182a4b3ecc508
[2026-02-12 00:00:42] [INFO] About to extract fields from XML. File size: 11689 bytes
[2026-02-12 00:00:42] [INFO] Number of mappings: 24
[2026-02-12 00:00:42] [INFO] Starting XML parsing. Content length: 11689
[2026-02-12 00:00:42] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:00:42] [INFO] Processing 24 field mappings
[2026-02-12 00:00:42] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:00:42] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:00:42] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:00:42] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:00:42] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:00:42] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:00:42] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:00:42] [INFO]   -> Found value: 37379
[2026-02-12 00:00:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:00:42] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:00:42] [INFO]   -> Found value: 1934
[2026-02-12 00:00:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:00:42] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:00:42] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:00:42] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:00:42] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:00:42] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:00:42] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:00:42] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:00:42] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:00:42] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:00:42] [INFO]   -> Found value: 2026-02-11T19:00:38.193-05:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'enroute' = "2026-02-12 00:00:38"
[2026-02-12 00:00:42] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:00:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'onScene' = null
[2026-02-12 00:00:42] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:00:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'cleared' = null
[2026-02-12 00:00:42] [INFO]   -> Set field 'inService' = null
[2026-02-12 00:00:42] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:00:42] [INFO]   -> Found value: 35.2788
[2026-02-12 00:00:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:00:42] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:00:42] [INFO]   -> Found value: -85.227257
[2026-02-12 00:00:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:00:42] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:00:42] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:00:42] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:00:42] [INFO]   -> Found value: S3MF
[2026-02-12 00:00:42] [INFO]   -> Set field 'cADVehicleID' = "S3MF"
[2026-02-12 00:00:42] [INFO]   -> Set field 'name' = "S3MF"
[2026-02-12 00:00:42] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:00:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-12 00:00:42] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:00:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'timeonscene' = null
[2026-02-12 00:00:42] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:00:42] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:00:42] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:00:42] [INFO]   -> Found value: 2026-02-11T19:00:38.193-05:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 00:00:38"
[2026-02-12 00:00:42] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:00:42] [INFO]   -> Found value: 2026-02-11T19:00:38.173-05:00
[2026-02-12 00:00:42] [INFO]   -> Set field 'timedispatch' = "2026-02-12 00:00:38"
[2026-02-12 00:00:42] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:00:42] [INFO]   -> Found value: PIKE
[2026-02-12 00:00:42] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:00:42] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:00:42] [INFO]   -> Found value: 26-000040
[2026-02-12 00:00:42] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:00:42] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:00:42] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:00:42] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:00:42] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:00:42] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:00:42] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:00:42] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:00:42] [INFO] Found 11 elements for 'Comment', concatenating 11 non-empty values
[2026-02-12 00:00:42] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:00:42] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:00:42] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:00:42] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:00:42] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:00:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:00:42] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-02-12 00:00:42] [INFO]   -> Found value: MFD
MFD
MFD
[2026-02-12 00:00:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD"
[2026-02-12 00:00:42] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:00:42] [INFO] Concatenating street name and type
[2026-02-12 00:00:42] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:00:42] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:00:42] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":"2026-02-12 00:00:38","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"S3MF","name":"S3MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-02-12 00:00:38","timedispatch":"2026-02-12 00:00:38","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADAgencyIdentifier":"MFD\nMFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:00:42] [INFO] Number of extracted fields: 29
[2026-02-12 00:00:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD'
[2026-02-12 00:00:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-02-12 00:00:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD"]
[2026-02-12 00:00:42] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:00:42] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:00:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD"]
[2026-02-12 00:00:42] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:00:42] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:00:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-12 00:00:42] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:00:42] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:00:42] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:00:43] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:00:43] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:00:43] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:00:43] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:00:46] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:00:46] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190041862.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211190041862.xml
[2026-02-12 00:00:46] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:00:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:00:54Z.xml
[2026-02-12 00:00:55] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:00:54Z.xml
[2026-02-12 00:01:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190107182.xml
[2026-02-12 00:01:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190107182.xml for user: 68920395733981a47
[2026-02-12 00:01:07] [INFO] File size: 14217 bytes
[2026-02-12 00:01:07] [INFO] Created FTPFiles record with ID: 698d1843a43310246
[2026-02-12 00:01:07] [INFO] About to extract fields from XML. File size: 14217 bytes
[2026-02-12 00:01:07] [INFO] Number of mappings: 24
[2026-02-12 00:01:07] [INFO] Starting XML parsing. Content length: 14217
[2026-02-12 00:01:07] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:01:07] [INFO] Processing 24 field mappings
[2026-02-12 00:01:07] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:01:07] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:01:07] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:01:07] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:01:07] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:01:07] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:01:07] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:01:07] [INFO]   -> Found value: 37379
[2026-02-12 00:01:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:01:07] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:01:07] [INFO]   -> Found value: 1934
[2026-02-12 00:01:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:01:07] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:01:07] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:01:07] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:01:07] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:01:07] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:01:07] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:01:07] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:01:07] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:01:07] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:01:07] [INFO]   -> Found value: 2026-02-11T19:00:38.193-05:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'enroute' = "2026-02-12 00:00:38"
[2026-02-12 00:01:07] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:01:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'onScene' = null
[2026-02-12 00:01:07] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:01:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'cleared' = null
[2026-02-12 00:01:07] [INFO]   -> Set field 'inService' = null
[2026-02-12 00:01:07] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:01:07] [INFO]   -> Found value: 35.2788
[2026-02-12 00:01:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:01:07] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:01:07] [INFO]   -> Found value: -85.227257
[2026-02-12 00:01:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:01:07] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:01:07] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:01:07] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:01:07] [INFO]   -> Found value: H1410
[2026-02-12 00:01:07] [INFO]   -> Set field 'cADVehicleID' = "H1410"
[2026-02-12 00:01:07] [INFO]   -> Set field 'name' = "H1410"
[2026-02-12 00:01:07] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:01:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-12 00:01:07] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:01:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'timeonscene' = null
[2026-02-12 00:01:07] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:01:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:01:07] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:01:07] [INFO]   -> Found value: 2026-02-11T19:01:05.893-05:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 00:01:05"
[2026-02-12 00:01:07] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:01:07] [INFO]   -> Found value: 2026-02-11T19:01:05.877-05:00
[2026-02-12 00:01:07] [INFO]   -> Set field 'timedispatch' = "2026-02-12 00:01:05"
[2026-02-12 00:01:07] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:01:07] [INFO]   -> Found value: PIKE
[2026-02-12 00:01:07] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:01:07] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:01:07] [INFO]   -> Found value: 26-000040
[2026-02-12 00:01:07] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:01:07] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:01:07] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:01:07] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:01:07] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:01:07] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:01:07] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:01:07] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:01:07] [INFO] Found 11 elements for 'Comment', concatenating 11 non-empty values
[2026-02-12 00:01:07] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:01:07] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:01:07] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]"
[2026-02-12 00:01:07] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:01:07] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:01:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:01:07] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-02-12 00:01:07] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-02-12 00:01:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-02-12 00:01:07] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:01:07] [INFO] Concatenating street name and type
[2026-02-12 00:01:07] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:01:07] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:01:07] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":"2026-02-12 00:00:38","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"H1410","name":"H1410","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-02-12 00:01:05","timedispatch":"2026-02-12 00:01:05","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:01:07] [INFO] Number of extracted fields: 29
[2026-02-12 00:01:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-02-12 00:01:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-02-12 00:01:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-02-12 00:01:07] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:01:07] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:01:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-02-12 00:01:08] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:01:08] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:01:08] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-12 00:01:08] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:01:08] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:01:08] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:01:08] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:01:08] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:01:08] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:01:08] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:01:11] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:01:11] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190107182.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211190107182.xml
[2026-02-12 00:01:11] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:01:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190142691.xml
[2026-02-12 00:01:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190142691.xml for user: 68920395733981a47
[2026-02-12 00:01:42] [INFO] File size: 14332 bytes
[2026-02-12 00:01:43] [INFO] Created FTPFiles record with ID: 698d18671a91e810a
[2026-02-12 00:01:43] [INFO] About to extract fields from XML. File size: 14332 bytes
[2026-02-12 00:01:43] [INFO] Number of mappings: 24
[2026-02-12 00:01:43] [INFO] Starting XML parsing. Content length: 14332
[2026-02-12 00:01:43] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:01:43] [INFO] Processing 24 field mappings
[2026-02-12 00:01:43] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:01:43] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:01:43] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:01:43] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:01:43] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:01:43] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:01:43] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:01:43] [INFO]   -> Found value: 37379
[2026-02-12 00:01:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:01:43] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:01:43] [INFO]   -> Found value: 1934
[2026-02-12 00:01:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:01:43] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:01:43] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:01:43] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:01:43] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:01:43] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:01:43] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:01:43] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:01:43] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:01:43] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:01:43] [INFO]   -> Found value: 2026-02-11T19:00:38.193-05:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'enroute' = "2026-02-12 00:00:38"
[2026-02-12 00:01:43] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:01:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'onScene' = null
[2026-02-12 00:01:43] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:01:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'cleared' = null
[2026-02-12 00:01:43] [INFO]   -> Set field 'inService' = null
[2026-02-12 00:01:43] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:01:43] [INFO]   -> Found value: 35.2788
[2026-02-12 00:01:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:01:43] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:01:43] [INFO]   -> Found value: -85.227257
[2026-02-12 00:01:43] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:01:43] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:01:43] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:01:43] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:01:43] [INFO]   -> Found value: H1410
[2026-02-12 00:01:43] [INFO]   -> Set field 'cADVehicleID' = "H1410"
[2026-02-12 00:01:43] [INFO]   -> Set field 'name' = "H1410"
[2026-02-12 00:01:43] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:01:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-12 00:01:43] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:01:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'timeonscene' = null
[2026-02-12 00:01:43] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:01:43] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:01:43] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:01:43] [INFO]   -> Found value: 2026-02-11T19:01:05.893-05:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 00:01:05"
[2026-02-12 00:01:43] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:01:43] [INFO]   -> Found value: 2026-02-11T19:01:05.877-05:00
[2026-02-12 00:01:43] [INFO]   -> Set field 'timedispatch' = "2026-02-12 00:01:05"
[2026-02-12 00:01:43] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:01:43] [INFO]   -> Found value: PIKE
[2026-02-12 00:01:43] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:01:43] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:01:43] [INFO]   -> Found value: 26-000040
[2026-02-12 00:01:43] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:01:43] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:01:43] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:01:43] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:01:43] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:01:43] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:01:43] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:01:43] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:01:43] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-02-12 00:01:43] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:01:43] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:01:43] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:01:43] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:01:43] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:01:43] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:01:43] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-02-12 00:01:43] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-02-12 00:01:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-02-12 00:01:43] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:01:43] [INFO] Concatenating street name and type
[2026-02-12 00:01:43] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:01:43] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:01:43] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":"2026-02-12 00:00:38","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"H1410","name":"H1410","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-02-12 00:01:05","timedispatch":"2026-02-12 00:01:05","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:01:43] [INFO] Number of extracted fields: 29
[2026-02-12 00:01:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-02-12 00:01:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-02-12 00:01:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-02-12 00:01:43] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:01:43] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:01:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-02-12 00:01:43] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:01:43] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:01:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-12 00:01:43] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:01:43] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:01:43] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:01:43] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:01:43] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:01:43] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:01:44] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:01:47] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:01:47] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190142691.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211190142691.xml
[2026-02-12 00:01:47] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:02:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:02:01Z.xml
[2026-02-12 00:02:01] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:02:01Z.xml
[2026-02-12 00:02:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:02:01Z.xml
[2026-02-12 00:02:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:02:01Z.xml
[2026-02-12 00:02:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:02:02Z.xml
[2026-02-12 00:02:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:02:02Z.xml
[2026-02-12 00:02:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190233267.xml
[2026-02-12 00:02:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190233267.xml for user: 68920395733981a47
[2026-02-12 00:02:33] [INFO] File size: 14484 bytes
[2026-02-12 00:02:33] [INFO] Created FTPFiles record with ID: 698d1899b0c27ae8f
[2026-02-12 00:02:33] [INFO] About to extract fields from XML. File size: 14484 bytes
[2026-02-12 00:02:33] [INFO] Number of mappings: 24
[2026-02-12 00:02:33] [INFO] Starting XML parsing. Content length: 14484
[2026-02-12 00:02:33] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:02:33] [INFO] Processing 24 field mappings
[2026-02-12 00:02:33] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:02:33] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:02:33] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:02:33] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:02:33] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:02:33] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:02:33] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:02:33] [INFO]   -> Found value: 37379
[2026-02-12 00:02:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:02:33] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:02:33] [INFO]   -> Found value: 1934
[2026-02-12 00:02:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:02:33] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:02:33] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:02:33] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:02:33] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:02:33] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:02:33] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:02:33] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:02:33] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:02:33] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:02:33] [INFO]   -> Found value: 2026-02-11T19:00:38.193-05:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'enroute' = "2026-02-12 00:00:38"
[2026-02-12 00:02:33] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:02:33] [INFO]   -> Found value: 2026-02-11T19:02:29.943-05:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'onScene' = "2026-02-12 00:02:29"
[2026-02-12 00:02:33] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:02:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'cleared' = null
[2026-02-12 00:02:33] [INFO]   -> Set field 'inService' = null
[2026-02-12 00:02:33] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:02:33] [INFO]   -> Found value: 35.2788
[2026-02-12 00:02:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:02:33] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:02:33] [INFO]   -> Found value: -85.227257
[2026-02-12 00:02:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:02:33] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:02:33] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:02:33] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:02:33] [INFO]   -> Found value: H1410
[2026-02-12 00:02:33] [INFO]   -> Set field 'cADVehicleID' = "H1410"
[2026-02-12 00:02:33] [INFO]   -> Set field 'name' = "H1410"
[2026-02-12 00:02:33] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:02:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-12 00:02:33] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:02:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'timeonscene' = null
[2026-02-12 00:02:33] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:02:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:02:33] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:02:33] [INFO]   -> Found value: 2026-02-11T19:01:05.893-05:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 00:01:05"
[2026-02-12 00:02:33] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:02:33] [INFO]   -> Found value: 2026-02-11T19:01:05.877-05:00
[2026-02-12 00:02:33] [INFO]   -> Set field 'timedispatch' = "2026-02-12 00:01:05"
[2026-02-12 00:02:33] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:02:33] [INFO]   -> Found value: PIKE
[2026-02-12 00:02:33] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:02:33] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:02:33] [INFO]   -> Found value: 26-000040
[2026-02-12 00:02:33] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:02:33] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:02:33] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:02:33] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:02:33] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:02:33] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:02:33] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:02:33] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:02:33] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-02-12 00:02:33] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:02:33] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:02:33] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:02:33] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:02:33] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:02:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:02:33] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-02-12 00:02:33] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-02-12 00:02:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-02-12 00:02:33] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:02:33] [INFO] Concatenating street name and type
[2026-02-12 00:02:33] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:02:33] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:02:33] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":"2026-02-12 00:00:38","onScene":"2026-02-12 00:02:29","cleared":null,"inService":null,"nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"H1410","name":"H1410","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-02-12 00:01:05","timedispatch":"2026-02-12 00:01:05","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:02:33] [INFO] Number of extracted fields: 29
[2026-02-12 00:02:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-02-12 00:02:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-02-12 00:02:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-02-12 00:02:33] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:02:33] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:02:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-02-12 00:02:34] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:02:34] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:02:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-12 00:02:34] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:02:34] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:02:34] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:02:34] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:02:34] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:02:34] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:02:34] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:02:37] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:02:37] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190233267.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211190233267.xml
[2026-02-12 00:02:37] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:03:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:03:27Z.xml
[2026-02-12 00:03:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:03:27Z.xml
[2026-02-12 00:05:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04406.xml
[2026-02-12 00:05:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04406.xml for user: 68d56363ec1209189
[2026-02-12 00:05:26] [INFO] File size: 1324 bytes
[2026-02-12 00:05:26] [INFO] Created FTPFiles record with ID: 698d19464925b9065
[2026-02-12 00:05:26] [INFO] About to extract fields from XML. File size: 1324 bytes
[2026-02-12 00:05:26] [INFO] Number of mappings: 21
[2026-02-12 00:05:26] [INFO] Starting XML parsing. Content length: 1324
[2026-02-12 00:05:26] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 00:05:26] [INFO] Processing 21 field mappings
[2026-02-12 00:05:26] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 00:05:26] [INFO]   -> Found value: 26-04406
[2026-02-12 00:05:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-04406"
[2026-02-12 00:05:26] [INFO]   -> Set field 'cADNumber' = "26-04406"
[2026-02-12 00:05:26] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 00:05:26] [INFO]   -> Found value: 201
[2026-02-12 00:05:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-02-12 00:05:26] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 00:05:26] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-02-12 00:05:26] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-02-12 00:05:26] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 00:05:26] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:26] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 00:05:26] [INFO]   -> Found value: SIKESTON
[2026-02-12 00:05:26] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-12 00:05:26] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 00:05:26] [INFO]   -> Found value: SIKESTON DPS
[2026-02-12 00:05:26] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-02-12 00:05:26] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 00:05:26] [INFO]   -> Found value: MO
[2026-02-12 00:05:26] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-12 00:05:26] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 00:05:26] [INFO]   -> Found value: 63801
[2026-02-12 00:05:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-12 00:05:26] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 00:05:26] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:26] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 00:05:26] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:26] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 00:05:26] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-02-12 00:05:26] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-02-12 00:05:26] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:05:26] [INFO]   -> Found value: 02-11-2026 18:00:01|WED EVENING PAGER TEST
[2026-02-12 00:05:26] [INFO]   -> Set field 'dispatchNotes' = "02-11-2026 18:00:01|WED EVENING PAGER TEST"
[2026-02-12 00:05:26] [INFO]   -> Set field 'cADLog' = "02-11-2026 18:00:01|WED EVENING PAGER TEST"
[2026-02-12 00:05:26] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 00:05:26] [INFO]   -> Found value: 02-11-2026T18:01:23
[2026-02-12 00:05:26] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:01:23
[2026-02-12 00:05:26] [INFO]   -> Set field 'alarm' = "2026-11-02 18:01:23"
[2026-02-12 00:05:26] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:01:23
[2026-02-12 00:05:26] [INFO]   -> Set field 'dispatched' = "2026-11-02 18:01:23"
[2026-02-12 00:05:26] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 00:05:26] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:26] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 00:05:26] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:26] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 00:05:26] [INFO]   -> Found value: RURAL PAGE
[2026-02-12 00:05:26] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-02-12 00:05:26] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-02-12 00:05:26] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 00:05:26] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:26] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 00:05:26] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:26] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 00:05:26] [INFO]   -> Found value: 02-11-2026T18:04:37
[2026-02-12 00:05:26] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:04:37
[2026-02-12 00:05:26] [INFO]   -> Set field 'timeunitclear' = "2026-11-02 18:04:37"
[2026-02-12 00:05:26] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 00:05:26] [INFO]   -> Found value: 02-11-2026T18:01:32
[2026-02-12 00:05:26] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:01:32
[2026-02-12 00:05:26] [INFO]   -> Set field 'timedispatch' = "2026-11-02 18:01:32"
[2026-02-12 00:05:26] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 00:05:26] [INFO]   -> Found value: SCRFD
[2026-02-12 00:05:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-12 00:05:26] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-02-12 00:05:26] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04406","cADNumber":"26-04406","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"02-11-2026 18:00:01|WED EVENING PAGER TEST","cADLog":"02-11-2026 18:00:01|WED EVENING PAGER TEST","alarm":"2026-11-02 18:01:23","dispatched":"2026-11-02 18:01:23","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-11-02 18:04:37","timedispatch":"2026-11-02 18:01:32","cADAgencyIdentifier":"SCRFD"}
[2026-02-12 00:05:26] [INFO] Number of extracted fields: 18
[2026-02-12 00:05:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-12 00:05:26] [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-12 00:05:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-12 00:05:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:05:26] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-12 00:05:26] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-12 00:05:26] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-12 00:05:26] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-12 00:05:26] [INFO] Found existing IncidentTypeMapping with ID: 693a0a64a7bfdcdfa
[2026-02-12 00:05:27] [INFO] Found existing Dispatch with cADNumber '26-04406', ID: 698d1860dd9e3a364 - will update instead of create
[2026-02-12 00:05:27] [INFO] Updated existing Dispatches record with ID: 698d1860dd9e3a364
[2026-02-12 00:05:27] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12
[2026-02-12 00:05:27] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04406.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SCRFD_26-04406.xml
[2026-02-12 00:05:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04406.xml
[2026-02-12 00:05:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04406.xml
[2026-02-12 00:05:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04406.xml for user: 68d56363ec1209189
[2026-02-12 00:05:27] [INFO] File size: 1327 bytes
[2026-02-12 00:05:27] [INFO] Created FTPFiles record with ID: 698d1947a882ca64a
[2026-02-12 00:05:27] [INFO] About to extract fields from XML. File size: 1327 bytes
[2026-02-12 00:05:27] [INFO] Number of mappings: 21
[2026-02-12 00:05:27] [INFO] Starting XML parsing. Content length: 1327
[2026-02-12 00:05:27] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 00:05:27] [INFO] Processing 21 field mappings
[2026-02-12 00:05:27] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 00:05:27] [INFO]   -> Found value: 26-04406
[2026-02-12 00:05:27] [INFO]   -> Set field 'dispatchRunNumber' = "26-04406"
[2026-02-12 00:05:27] [INFO]   -> Set field 'cADNumber' = "26-04406"
[2026-02-12 00:05:27] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 00:05:27] [INFO]   -> Found value: 201
[2026-02-12 00:05:27] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-02-12 00:05:27] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 00:05:27] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-02-12 00:05:27] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-02-12 00:05:27] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 00:05:27] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:27] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 00:05:27] [INFO]   -> Found value: SIKESTON
[2026-02-12 00:05:27] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-12 00:05:27] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 00:05:27] [INFO]   -> Found value: SIKESTON DPS
[2026-02-12 00:05:27] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-02-12 00:05:27] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 00:05:27] [INFO]   -> Found value: MO
[2026-02-12 00:05:27] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-12 00:05:27] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 00:05:27] [INFO]   -> Found value: 63801
[2026-02-12 00:05:27] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-12 00:05:27] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 00:05:27] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:27] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 00:05:27] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:27] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 00:05:27] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-02-12 00:05:27] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-02-12 00:05:27] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:05:27] [INFO]   -> Found value: 02-11-2026 18:00:01|WED EVENING PAGER TEST
[2026-02-12 00:05:27] [INFO]   -> Set field 'dispatchNotes' = "02-11-2026 18:00:01|WED EVENING PAGER TEST"
[2026-02-12 00:05:27] [INFO]   -> Set field 'cADLog' = "02-11-2026 18:00:01|WED EVENING PAGER TEST"
[2026-02-12 00:05:27] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 00:05:27] [INFO]   -> Found value: 02-11-2026T18:01:23
[2026-02-12 00:05:27] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:01:23
[2026-02-12 00:05:27] [INFO]   -> Set field 'alarm' = "2026-11-02 18:01:23"
[2026-02-12 00:05:27] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:01:23
[2026-02-12 00:05:27] [INFO]   -> Set field 'dispatched' = "2026-11-02 18:01:23"
[2026-02-12 00:05:27] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 00:05:27] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:27] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 00:05:27] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:27] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 00:05:27] [INFO]   -> Found value: SIK ALL PAGE
[2026-02-12 00:05:27] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-02-12 00:05:27] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-02-12 00:05:27] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 00:05:27] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:27] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 00:05:27] [INFO]   -> No value found (null or empty)
[2026-02-12 00:05:27] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 00:05:27] [INFO]   -> Found value: 02-11-2026T18:04:37
[2026-02-12 00:05:27] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:04:37
[2026-02-12 00:05:27] [INFO]   -> Set field 'timeunitclear' = "2026-11-02 18:04:37"
[2026-02-12 00:05:27] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 00:05:27] [INFO]   -> Found value: 02-11-2026T18:01:23
[2026-02-12 00:05:27] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T18:01:23
[2026-02-12 00:05:27] [INFO]   -> Set field 'timedispatch' = "2026-11-02 18:01:23"
[2026-02-12 00:05:27] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 00:05:27] [INFO]   -> Found value: SDPSFD
[2026-02-12 00:05:27] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-12 00:05:27] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-02-12 00:05:27] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04406","cADNumber":"26-04406","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"02-11-2026 18:00:01|WED EVENING PAGER TEST","cADLog":"02-11-2026 18:00:01|WED EVENING PAGER TEST","alarm":"2026-11-02 18:01:23","dispatched":"2026-11-02 18:01:23","cADVehicleID":"SIK ALL PAGE","name":"SIK ALL PAGE","timeunitclear":"2026-11-02 18:04:37","timedispatch":"2026-11-02 18:01:23","cADAgencyIdentifier":"SDPSFD"}
[2026-02-12 00:05:27] [INFO] Number of extracted fields: 18
[2026-02-12 00:05:27] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-12 00:05:27] [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-12 00:05:27] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-12 00:05:27] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:05:27] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-12 00:05:28] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-12 00:05:28] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-12 00:05:28] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-12 00:05:28] [INFO] Found existing IncidentTypeMapping with ID: 691e5c32443e1aa70
[2026-02-12 00:05:29] [INFO] Created new Dispatches record with ID: 698d19486e98f6474
[2026-02-12 00:05:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04406.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SDPSFD_26-04406.xml
[2026-02-12 00:05:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04406.xml
[2026-02-12 00:05:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:36Z.xml
[2026-02-12 00:05:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:36Z.xml
[2026-02-12 00:05:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:39Z.xml
[2026-02-12 00:05:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:39Z.xml
[2026-02-12 00:05:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:39Z.xml
[2026-02-12 00:05:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:39Z.xml
[2026-02-12 00:05:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:40Z.xml
[2026-02-12 00:05:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:40Z.xml
[2026-02-12 00:05:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:40Z.xml
[2026-02-12 00:05:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:05:40Z.xml
[2026-02-12 00:07:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190701297.xml
[2026-02-12 00:07:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190701297.xml for user: 68920395733981a47
[2026-02-12 00:07:01] [INFO] File size: 14561 bytes
[2026-02-12 00:07:01] [INFO] Created FTPFiles record with ID: 698d19a5ee6772760
[2026-02-12 00:07:01] [INFO] About to extract fields from XML. File size: 14561 bytes
[2026-02-12 00:07:01] [INFO] Number of mappings: 24
[2026-02-12 00:07:01] [INFO] Starting XML parsing. Content length: 14561
[2026-02-12 00:07:01] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:07:01] [INFO] Processing 24 field mappings
[2026-02-12 00:07:01] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:07:01] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:07:01] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:07:01] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:07:01] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:07:01] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:07:01] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:07:01] [INFO]   -> Found value: 37379
[2026-02-12 00:07:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:07:01] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:07:01] [INFO]   -> Found value: 1934
[2026-02-12 00:07:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:07:01] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:07:01] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:07:01] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:07:01] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:07:01] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:07:02] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:07:02] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:07:02] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-11T19:00:38.193-05:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'enroute' = "2026-02-12 00:00:38"
[2026-02-12 00:07:02] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-11T19:02:29.943-05:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'onScene' = "2026-02-12 00:02:29"
[2026-02-12 00:07:02] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:07:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'cleared' = null
[2026-02-12 00:07:02] [INFO]   -> Set field 'inService' = null
[2026-02-12 00:07:02] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:07:02] [INFO]   -> Found value: 35.2788
[2026-02-12 00:07:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:07:02] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:07:02] [INFO]   -> Found value: -85.227257
[2026-02-12 00:07:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:07:02] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:07:02] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:07:02] [INFO]   -> Found value: H1410
[2026-02-12 00:07:02] [INFO]   -> Set field 'cADVehicleID' = "H1410"
[2026-02-12 00:07:02] [INFO]   -> Set field 'name' = "H1410"
[2026-02-12 00:07:02] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:07:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-12 00:07:02] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-11T19:06:58.003-05:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'timeonscene' = "2026-02-12 00:06:58"
[2026-02-12 00:07:02] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:07:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:07:02] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-11T19:01:05.893-05:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 00:01:05"
[2026-02-12 00:07:02] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-11T19:01:05.877-05:00
[2026-02-12 00:07:02] [INFO]   -> Set field 'timedispatch' = "2026-02-12 00:01:05"
[2026-02-12 00:07:02] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:07:02] [INFO]   -> Found value: PIKE
[2026-02-12 00:07:02] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:07:02] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:07:02] [INFO]   -> Found value: 26-000040
[2026-02-12 00:07:02] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:07:02] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:07:02] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:07:02] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:07:02] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:07:02] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:07:02] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:07:02] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:07:02] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-02-12 00:07:02] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:07:02] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:07:02] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:07:02] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:07:02] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:07:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:07:02] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-02-12 00:07:02] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-02-12 00:07:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-02-12 00:07:02] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:07:02] [INFO] Concatenating street name and type
[2026-02-12 00:07:02] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:07:02] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:07:02] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":"2026-02-12 00:00:38","onScene":"2026-02-12 00:02:29","cleared":null,"inService":null,"nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"H1410","name":"H1410","timeunitclear":null,"timeonscene":"2026-02-12 00:06:58","timestaging":null,"timeenroutetoscene":"2026-02-12 00:01:05","timedispatch":"2026-02-12 00:01:05","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:07:02] [INFO] Number of extracted fields: 29
[2026-02-12 00:07:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-02-12 00:07:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-02-12 00:07:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-02-12 00:07:02] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:07:02] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:07:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-02-12 00:07:02] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:07:02] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:07:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-12 00:07:02] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:07:02] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:07:02] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:07:02] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:07:02] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:07:02] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:07:02] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:07:06] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:07:06] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211190701297.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211190701297.xml
[2026-02-12 00:07:06] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:07:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:07:54Z.xml
[2026-02-12 00:07:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:07:54Z.xml
[2026-02-12 00:07:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:07:56Z.xml
[2026-02-12 00:07:57] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:07:56Z.xml
[2026-02-12 00:08:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:08:26Z.xml
[2026-02-12 00:08:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:08:26Z.xml
[2026-02-12 00:08:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:08:50Z.xml
[2026-02-12 00:08:50] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:08:50Z.xml
[2026-02-12 00:11:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:11:57Z.xml
[2026-02-12 00:11:58] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:11:57Z.xml
[2026-02-12 00:16:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211191601996.xml
[2026-02-12 00:16:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211191601996.xml for user: 68920395733981a47
[2026-02-12 00:16:02] [INFO] File size: 16251 bytes
[2026-02-12 00:16:02] [INFO] Created FTPFiles record with ID: 698d1bc2acb136536
[2026-02-12 00:16:02] [INFO] About to extract fields from XML. File size: 16251 bytes
[2026-02-12 00:16:02] [INFO] Number of mappings: 24
[2026-02-12 00:16:02] [INFO] Starting XML parsing. Content length: 16251
[2026-02-12 00:16:02] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-02-12 00:16:02] [INFO] Processing 24 field mappings
[2026-02-12 00:16:02] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-02-12 00:16:02] [INFO]   -> Found value: ALAMED-Alarm Medical
[2026-02-12 00:16:02] [INFO]   -> Set field 'incidentTypeValue1' = "ALAMED-Alarm Medical"
[2026-02-12 00:16:02] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-02-12 00:16:02] [INFO]   -> Found value: 1934 MOWBRAY PIKE
[2026-02-12 00:16:02] [INFO]   -> Set field 'businessName' = "1934 MOWBRAY PIKE"
[2026-02-12 00:16:02] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:16:02] [INFO]   -> Found value: 37379
[2026-02-12 00:16:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-02-12 00:16:02] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:16:02] [INFO]   -> Found value: 1934
[2026-02-12 00:16:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1934
[2026-02-12 00:16:02] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-02-12 00:16:02] [INFO]   -> Found value: MOWBRAY
[2026-02-12 00:16:02] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-02-12 00:16:02] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-02-12 00:16:02] [INFO]   -> Found value: LEWIS RD/WELCH RD
[2026-02-12 00:16:02] [INFO]   -> Set field 'incidentLocationCross' = "LEWIS RD\/WELCH RD"
[2026-02-12 00:16:02] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T18:58:21.65-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'alarm' = "2026-02-11 23:58:21"
[2026-02-12 00:16:02] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T19:00:38.193-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'enroute' = "2026-02-12 00:00:38"
[2026-02-12 00:16:02] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T19:02:29.943-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'onScene' = "2026-02-12 00:02:29"
[2026-02-12 00:16:02] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T19:15:57.92-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'cleared' = "2026-02-12 00:15:57"
[2026-02-12 00:16:02] [INFO]   -> Set field 'inService' = "2026-02-12 00:15:57"
[2026-02-12 00:16:02] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-02-12 00:16:02] [INFO]   -> Found value: 35.2788
[2026-02-12 00:16:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27879999999999682813722756691277027130126953125
[2026-02-12 00:16:02] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-02-12 00:16:02] [INFO]   -> Found value: -85.227257
[2026-02-12 00:16:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2272569999999944911905913613736629486083984375
[2026-02-12 00:16:02] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T18:59:02.523-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'dispatched' = "2026-02-11 23:59:02"
[2026-02-12 00:16:02] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-02-12 00:16:02] [INFO]   -> Found value: H1410
[2026-02-12 00:16:02] [INFO]   -> Set field 'cADVehicleID' = "H1410"
[2026-02-12 00:16:02] [INFO]   -> Set field 'name' = "H1410"
[2026-02-12 00:16:02] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T19:15:57.92-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'timeunitclear' = "2026-02-12 00:15:57"
[2026-02-12 00:16:02] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T19:06:58.003-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'timeonscene' = "2026-02-12 00:06:58"
[2026-02-12 00:16:02] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-02-12 00:16:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'timestaging' = null
[2026-02-12 00:16:02] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T19:01:05.893-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 00:01:05"
[2026-02-12 00:16:02] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-11T19:01:05.877-05:00
[2026-02-12 00:16:02] [INFO]   -> Set field 'timedispatch' = "2026-02-12 00:01:05"
[2026-02-12 00:16:02] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-02-12 00:16:02] [INFO]   -> Found value: PIKE
[2026-02-12 00:16:02] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-02-12 00:16:02] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:16:02] [INFO]   -> Found value: 26-000040
[2026-02-12 00:16:02] [INFO]   -> Set field 'incidentInternalId' = "26-000040"
[2026-02-12 00:16:02] [INFO]   -> Set field 'dispatchRunNumber' = "26-000040"
[2026-02-12 00:16:02] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-02-12 00:16:02] [INFO]   -> Found value: 2026-02-15423
[2026-02-12 00:16:02] [INFO]   -> Set field 'policeReportNumber' = "2026-02-15423"
[2026-02-12 00:16:02] [INFO]   -> Set field 'cADNumber' = "2026-02-15423"
[2026-02-12 00:16:02] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-02-12 00:16:02] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-02-12 00:16:02] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-02-12 00:16:02] [INFO]   -> Found value: 02/11/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]
02/11/2026 ...
[2026-02-12 00:16:02] [INFO]   -> Set field 'dispatchNotes' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:16:02] [INFO]   -> Set field 'cADLog' = "02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]"
[2026-02-12 00:16:02] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-02-12 00:16:02] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-02-12 00:16:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:16:02] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-02-12 00:16:02] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-02-12 00:16:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-02-12 00:16:02] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-02-12 00:16:02] [INFO] Concatenating street name and type
[2026-02-12 00:16:02] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-02-12 00:16:02] [INFO] Built locationCoordinates from lat/lng: 35.2788,-85.227257
[2026-02-12 00:16:02] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"ALAMED-Alarm Medical","businessName":"1934 MOWBRAY PIKE","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1934,"streetName":"MOWBRAY PIKE","incidentLocationCross":"LEWIS RD\/WELCH RD","alarm":"2026-02-11 23:58:21","enroute":"2026-02-12 00:00:38","onScene":"2026-02-12 00:02:29","cleared":"2026-02-12 00:15:57","inService":"2026-02-12 00:15:57","nERISIncidentLatitude":35.27879999999999682813722756691277027130126953125,"nERISIncidentLongitude":-85.2272569999999944911905913613736629486083984375,"dispatched":"2026-02-11 23:59:02","cADVehicleID":"H1410","name":"H1410","timeunitclear":"2026-02-12 00:15:57","timeonscene":"2026-02-12 00:06:58","timestaging":null,"timeenroutetoscene":"2026-02-12 00:01:05","timedispatch":"2026-02-12 00:01:05","incidentInternalId":"26-000040","dispatchRunNumber":"26-000040","policeReportNumber":"2026-02-15423","cADNumber":"2026-02-15423","dispatchNotes":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADLog":"02\/11\/2026 18:58:21 KINKEAD_J               [1] Incident linked to [EMS] [2026-02-15422]\n02\/11\/2026 18:58:21 KINKEAD_J               [2] Multi-Jurisdiction EMS Incident #: 2026-02-15422\n02\/11\/2026 18:58:50 KINKEAD_J               [3] SPOKE WITH  PT WILL BE LIFT ASSIST ONLY [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:54 KINKEAD_J               [4] 82YOF [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:58:59 KINKEAD_J               [5] FALLEN UNINJURED [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:02 HYDER_K                 [6] Automatic Case Number(s) issued for Incident #[2026-02-15423], Jurisdiction: Mowbray VFD. Case Number(s): 26-000040 requested by H1400. [Shared]\n02\/11\/2026 18:59:06 KINKEAD_J               [7] UNK IF SHE IS ALONE [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 18:59:29 HYDER_K                 [8] fg5*** [Shared]\n02\/11\/2026 18:59:39 KINKEAD_J               [9] DOOR CODE ON FRONT DOOR IS 2000 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:06 KINKEAD_J               [10] PREM 423-332-4939 [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:00:34 KINKEAD_J               [11] RESD OF JUDY MCCLENDON [Shared 1, 2026-02-15422 - ALAMED - 1934 MOWBRAY PIKE]\n02\/11\/2026 19:01:40 GUY_C                   [12] [EMS] has closed their incident [2026-02-15422]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.2788,-85.227257"}
[2026-02-12 00:16:02] [INFO] Number of extracted fields: 29
[2026-02-12 00:16:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-02-12 00:16:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-02-12 00:16:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-02-12 00:16:02] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:16:02] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:16:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-02-12 00:16:03] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-02-12 00:16:03] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-02-12 00:16:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-12 00:16:03] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:16:03] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-02-12 00:16:03] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2d4ae0614a
[2026-02-12 00:16:03] [INFO] Found existing Dispatch with cADNumber '2026-02-15423', ID: 698d17a30972f50e9 - will update instead of create
[2026-02-12 00:16:03] [INFO] Updated existing Dispatches record with ID: 698d17a30972f50e9
[2026-02-12 00:16:03] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:16:03] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:16:07] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:16:07] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-02-15423_20260211191601996.xml: Failed to upload file to V2 FTP server: /INCCOMBINED_2026-02-15423_20260211191601996.xml
[2026-02-12 00:16:07] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:23:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260015909_20260212_002353.XML
[2026-02-12 00:23:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260015909_20260212_002353.XML for user: 68f1466aed072ad4a
[2026-02-12 00:23:54] [INFO] File size: 5518 bytes
[2026-02-12 00:23:54] [INFO] Created FTPFiles record with ID: 698d1d9a46f36b3d2
[2026-02-12 00:23:54] [INFO] About to extract fields from XML. File size: 5518 bytes
[2026-02-12 00:23:54] [INFO] Number of mappings: 28
[2026-02-12 00:23:54] [INFO] Starting XML parsing. Content length: 5518
[2026-02-12 00:23:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 00:23:54] [INFO] Processing 28 field mappings
[2026-02-12 00:23:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 00:23:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 00:23:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:23:54] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-12 00:23:54] [INFO]   -> Found value: MFD
EMS
[2026-02-12 00:23:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-02-12 00:23:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:23:54] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-12 00:23:54] [INFO]   -> Found value: 2026000050
[2026-02-12 00:23:54] [INFO]   -> Set field 'incidentInternalId' = "2026000050"
[2026-02-12 00:23:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000050"
[2026-02-12 00:23:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 00:23:54] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-02-12 00:23:54] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-02-12 00:23:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:23:54] [INFO]   -> Found value: 107
[2026-02-12 00:23:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 107
[2026-02-12 00:23:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 00:23:54] [INFO]   -> Found value: TN
[2026-02-12 00:23:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 00:23:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:23:54] [INFO]   -> Found value: 38574
[2026-02-12 00:23:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-02-12 00:23:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 00:23:54] [INFO]   -> No value found (null or empty)
[2026-02-12 00:23:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 00:23:54] [INFO]   -> No value found (null or empty)
[2026-02-12 00:23:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 00:23:54] [INFO]   -> Found value: 36.14983
[2026-02-12 00:23:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14983000000000146201273309998214244842529296875
[2026-02-12 00:23:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 00:23:54] [INFO]   -> Found value: -85.26723
[2026-02-12 00:23:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2672299999999978581399773247539997100830078125
[2026-02-12 00:23:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 00:23:54] [INFO]   -> Found value: 2026-02-11 18:21:29
[2026-02-12 00:23:54] [INFO]   -> Set field 'alarm' = "2026-02-11 18:21:29"
[2026-02-12 00:23:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 00:23:54] [INFO]   -> Found value: 2026-02-11 18:23:41
[2026-02-12 00:23:54] [INFO]   -> Set field 'dispatched' = "2026-02-11 18:23:41"
[2026-02-12 00:23:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 00:23:54] [INFO]   -> Found value: 2026-02-11 18:23:41
[2026-02-12 00:23:54] [INFO]   -> Set field 'enroute' = "2026-02-11 18:23:41"
[2026-02-12 00:23:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 00:23:54] [INFO]   -> No value found (null or empty)
[2026-02-12 00:23:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 00:23:54] [INFO]   -> No value found (null or empty)
[2026-02-12 00:23:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 00:23:54] [INFO]   -> Found value: N HOLLY ST/N POPLAR ST
[2026-02-12 00:23:54] [INFO]   -> Set field 'incidentLocationCross' = "N HOLLY ST\/N POPLAR ST"
[2026-02-12 00:23:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 00:23:54] [INFO]   -> Found value: MF110
[2026-02-12 00:23:54] [INFO]   -> Set field 'cADVehicleID' = "MF110"
[2026-02-12 00:23:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 00:23:54] [INFO]   -> Found value: 2026-02-11 18:23:41
[2026-02-12 00:23:54] [INFO]   -> Set field 'timedispatch' = "2026-02-11 18:23:41"
[2026-02-12 00:23:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 00:23:54] [INFO]   -> Found value: 2026-02-11 18:23:41
[2026-02-12 00:23:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-11 18:23:41"
[2026-02-12 00:23:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 00:23:54] [INFO]   -> No value found (null or empty)
[2026-02-12 00:23:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 00:23:54] [INFO]   -> No value found (null or empty)
[2026-02-12 00:23:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 00:23:54] [INFO]   -> No value found (null or empty)
[2026-02-12 00:23:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 00:23:54] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-12 00:23:54] [INFO]   -> Found value: 20260015909
[2026-02-12 00:23:54] [INFO]   -> Set field 'policeReportNumber' = "20260015909"
[2026-02-12 00:23:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 00:23:54] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [02/11/2026 18:21:29 TSCOTT] 280LBS  [02/11/26 18:21:17 TSCOT...
[2026-02-12 00:23:54] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [02\/11\/2026 18:21:29 TSCOTT] 280LBS  [02\/11\/26 18:21:17 TSCOTT] HX OF A COUPLE OF STROKES JUST THIS YEAR  [02\/11\/26 18:13:11 TSCOTT] MICHAEL PRINGLE  [02\/11\/26 18:12:56 TSCOTT] 76 YOM  DIZZINESS  FALL VICTIM - NON INJURY FRONT DOOR UNLOCKED  [02\/11\/26 18:12:37 TSCOTT]"
[2026-02-12 00:23:54] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [02\/11\/2026 18:21:29 TSCOTT] 280LBS  [02\/11\/26 18:21:17 TSCOTT] HX OF A COUPLE OF STROKES JUST THIS YEAR  [02\/11\/26 18:13:11 TSCOTT] MICHAEL PRINGLE  [02\/11\/26 18:12:56 TSCOTT] 76 YOM  DIZZINESS  FALL VICTIM - NON INJURY FRONT DOOR UNLOCKED  [02\/11\/26 18:12:37 TSCOTT]"
[2026-02-12 00:23:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 00:23:54] [INFO]   -> Found value: MONTEREY
[2026-02-12 00:23:54] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-02-12 00:23:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 00:23:54] [INFO]   -> Found value: CLEVELAND
[2026-02-12 00:23:54] [INFO]   -> Set field 'streetName' = "CLEVELAND"
[2026-02-12 00:23:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 00:23:54] [INFO]   -> Found value: AVE
[2026-02-12 00:23:54] [INFO]   -> Set field 'streetType' = "AVE"
[2026-02-12 00:23:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 00:23:54] [INFO]   -> Found value: 107 W CLEVELAND AVE
[2026-02-12 00:23:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "107 W CLEVELAND AVE"
[2026-02-12 00:23:54] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-02-12 00:23:54] [INFO] Concatenating street name and type
[2026-02-12 00:23:54] [INFO]   -> Combined street name: CLEVELAND AVE
[2026-02-12 00:23:54] [INFO] Built locationCoordinates from lat/lng: 36.14983,-85.26723
[2026-02-12 00:23:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000050","dispatchRunNumber":"2026000050","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":107,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.14983000000000146201273309998214244842529296875,"nERISIncidentLongitude":-85.2672299999999978581399773247539997100830078125,"alarm":"2026-02-11 18:21:29","dispatched":"2026-02-11 18:23:41","enroute":"2026-02-11 18:23:41","incidentLocationCross":"N HOLLY ST\/N POPLAR ST","cADVehicleID":"MF110","timedispatch":"2026-02-11 18:23:41","timeenroutetoscene":"2026-02-11 18:23:41","policeReportNumber":"20260015909","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [02\/11\/2026 18:21:29 TSCOTT] 280LBS  [02\/11\/26 18:21:17 TSCOTT] HX OF A COUPLE OF STROKES JUST THIS YEAR  [02\/11\/26 18:13:11 TSCOTT] MICHAEL PRINGLE  [02\/11\/26 18:12:56 TSCOTT] 76 YOM  DIZZINESS  FALL VICTIM - NON INJURY FRONT DOOR UNLOCKED  [02\/11\/26 18:12:37 TSCOTT]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [02\/11\/2026 18:21:29 TSCOTT] 280LBS  [02\/11\/26 18:21:17 TSCOTT] HX OF A COUPLE OF STROKES JUST THIS YEAR  [02\/11\/26 18:13:11 TSCOTT] MICHAEL PRINGLE  [02\/11\/26 18:12:56 TSCOTT] 76 YOM  DIZZINESS  FALL VICTIM - NON INJURY FRONT DOOR UNLOCKED  [02\/11\/26 18:12:37 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"CLEVELAND AVE","incidentAddressTextVersionStreet":"107 W CLEVELAND AVE","locationCoordinates":"36.14983,-85.26723"}
[2026-02-12 00:23:54] [INFO] Number of extracted fields: 23
[2026-02-12 00:23:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-02-12 00:23:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-12 00:23:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-02-12 00:23:54] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:23:54] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 00:23:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-02-12 00:23:54] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-02-12 00:23:54] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-02-12 00:23:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-12 00:23:54] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 00:23:54] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-02-12 00:23:54] [INFO] Found existing IncidentTypeMapping with ID: 6946a65ce82f04f50
[2026-02-12 00:23:58] [INFO] Created new Dispatches record with ID: 698d1d9b2f1638fcf
[2026-02-12 00:23:58] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:23:58] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:24:01] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:24:01] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260015909_20260212_002353.XML: Failed to upload file to V2 FTP server: /MFD_20260015909_20260212_002353.XML
[2026-02-12 00:24:01] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:30:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260015914_20260212_003014.XML
[2026-02-12 00:30:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260015914_20260212_003014.XML for user: 68f1466aed072ad4a
[2026-02-12 00:30:14] [INFO] File size: 5371 bytes
[2026-02-12 00:30:14] [INFO] Created FTPFiles record with ID: 698d1f166554a824e
[2026-02-12 00:30:14] [INFO] About to extract fields from XML. File size: 5371 bytes
[2026-02-12 00:30:14] [INFO] Number of mappings: 28
[2026-02-12 00:30:14] [INFO] Starting XML parsing. Content length: 5371
[2026-02-12 00:30:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 00:30:14] [INFO] Processing 28 field mappings
[2026-02-12 00:30:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 00:30:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 00:30:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 00:30:14] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-12 00:30:14] [INFO]   -> Found value: PCFD
EMS
[2026-02-12 00:30:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-02-12 00:30:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 00:30:14] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-12 00:30:14] [INFO]   -> Found value: 2026000424
[2026-02-12 00:30:14] [INFO]   -> Set field 'incidentInternalId' = "2026000424"
[2026-02-12 00:30:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000424"
[2026-02-12 00:30:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 00:30:14] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-02-12 00:30:14] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-02-12 00:30:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 00:30:14] [INFO]   -> Found value: 3010
[2026-02-12 00:30:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-02-12 00:30:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 00:30:14] [INFO]   -> Found value: TN
[2026-02-12 00:30:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 00:30:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 00:30:14] [INFO]   -> Found value: 38506
[2026-02-12 00:30:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-12 00:30:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 00:30:14] [INFO]   -> Found value: ERNIE BURGESS
[2026-02-12 00:30:14] [INFO]   -> Set field 'businessName' = "ERNIE BURGESS"
[2026-02-12 00:30:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 00:30:14] [INFO]   -> Found value: 36.24147
[2026-02-12 00:30:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-02-12 00:30:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 00:30:14] [INFO]   -> Found value: -85.43627
[2026-02-12 00:30:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-02-12 00:30:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 00:30:14] [INFO]   -> Found value: 2026-02-11 18:28:56
[2026-02-12 00:30:14] [INFO]   -> Set field 'alarm' = "2026-02-11 18:28:56"
[2026-02-12 00:30:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 00:30:14] [INFO]   -> Found value: 2026-02-11 18:30:10
[2026-02-12 00:30:14] [INFO]   -> Set field 'dispatched' = "2026-02-11 18:30:10"
[2026-02-12 00:30:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 00:30:14] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-02-12 00:30:14] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-02-12 00:30:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 00:30:14] [INFO]   -> Found value: TK12
[2026-02-12 00:30:14] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-02-12 00:30:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 00:30:14] [INFO]   -> Found value: 2026-02-11 18:30:10
[2026-02-12 00:30:14] [INFO]   -> Set field 'timedispatch' = "2026-02-11 18:30:10"
[2026-02-12 00:30:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 00:30:14] [INFO]   -> No value found (null or empty)
[2026-02-12 00:30:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 00:30:14] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-12 00:30:14] [INFO]   -> Found value: 20260015914
[2026-02-12 00:30:14] [INFO]   -> Set field 'policeReportNumber' = "20260015914"
[2026-02-12 00:30:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 00:30:14] [INFO]   -> Found value: Event spawned from CONVALESCENT.  [02/11/2026 18:28:56 SVOKOUN2] [760B-TRANSPORT] {760B} Beg Mileage...
[2026-02-12 00:30:14] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CONVALESCENT.  [02\/11\/2026 18:28:56 SVOKOUN2] [760B-TRANSPORT] {760B} Beg Mileage: 91553.5  [02\/11\/26 18:17:39 WMARTIN] [760B-TRANSPORT] {760B}  [02\/11\/26 18:17:38 WMARTIN] UDTS: READY TO PICK UP NOW  [02\/11\/26 17:38:57 KHILL] ERNIE BURGESS RM# 219 GOING TO RESIDENCE 3010 PARAN RD  DOB 08\/01\/1945  MEDICARE AND AARP SUPPLEMENT  [02\/11\/26 17:38:50 KHILL]]"
[2026-02-12 00:30:14] [INFO]   -> Set field 'cADLog' = "Event spawned from CONVALESCENT.  [02\/11\/2026 18:28:56 SVOKOUN2] [760B-TRANSPORT] {760B} Beg Mileage: 91553.5  [02\/11\/26 18:17:39 WMARTIN] [760B-TRANSPORT] {760B}  [02\/11\/26 18:17:38 WMARTIN] UDTS: READY TO PICK UP NOW  [02\/11\/26 17:38:57 KHILL] ERNIE BURGESS RM# 219 GOING TO RESIDENCE 3010 PARAN RD  DOB 08\/01\/1945  MEDICARE AND AARP SUPPLEMENT  [02\/11\/26 17:38:50 KHILL]]"
[2026-02-12 00:30:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 00:30:14] [INFO]   -> Found value: COOKEVILLE
[2026-02-12 00:30:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-12 00:30:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 00:30:14] [INFO]   -> Found value: PARAN
[2026-02-12 00:30:14] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-02-12 00:30:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 00:30:14] [INFO]   -> Found value: RD
[2026-02-12 00:30:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-12 00:30:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 00:30:14] [INFO]   -> Found value: 3010 PARAN RD
[2026-02-12 00:30:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-02-12 00:30:14] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-12 00:30:14] [INFO] Concatenating street name and type
[2026-02-12 00:30:14] [INFO]   -> Combined street name: PARAN RD
[2026-02-12 00:30:14] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-02-12 00:30:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000424","dispatchRunNumber":"2026000424","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ERNIE BURGESS","nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-02-11 18:28:56","dispatched":"2026-02-11 18:30:10","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":"TK12","timedispatch":"2026-02-11 18:30:10","policeReportNumber":"20260015914","dispatchNotes":"Event spawned from CONVALESCENT.  [02\/11\/2026 18:28:56 SVOKOUN2] [760B-TRANSPORT] {760B} Beg Mileage: 91553.5  [02\/11\/26 18:17:39 WMARTIN] [760B-TRANSPORT] {760B}  [02\/11\/26 18:17:38 WMARTIN] UDTS: READY TO PICK UP NOW  [02\/11\/26 17:38:57 KHILL] ERNIE BURGESS RM# 219 GOING TO RESIDENCE 3010 PARAN RD  DOB 08\/01\/1945  MEDICARE AND AARP SUPPLEMENT  [02\/11\/26 17:38:50 KHILL]]","cADLog":"Event spawned from CONVALESCENT.  [02\/11\/2026 18:28:56 SVOKOUN2] [760B-TRANSPORT] {760B} Beg Mileage: 91553.5  [02\/11\/26 18:17:39 WMARTIN] [760B-TRANSPORT] {760B}  [02\/11\/26 18:17:38 WMARTIN] UDTS: READY TO PICK UP NOW  [02\/11\/26 17:38:57 KHILL] ERNIE BURGESS RM# 219 GOING TO RESIDENCE 3010 PARAN RD  DOB 08\/01\/1945  MEDICARE AND AARP SUPPLEMENT  [02\/11\/26 17:38:50 KHILL]]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-02-12 00:30:14] [INFO] Number of extracted fields: 22
[2026-02-12 00:30:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-02-12 00:30:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-12 00:30:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-02-12 00:30:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-12 00:30:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-12 00:30:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-02-12 00:30:14] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-12 00:30:14] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-12 00:30:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-12 00:30:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-12 00:30:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-12 00:30:14] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-02-12 00:30:25] [INFO] Created new Dispatches record with ID: 698d1f17b8ba1e46e
[2026-02-12 00:30:25] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 00:30:25] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 00:30:28] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 00:30:28] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260015914_20260212_003014.XML: Failed to upload file to V2 FTP server: /PCFD_20260015914_20260212_003014.XML
[2026-02-12 00:30:28] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 00:43:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:43:10Z.xml
[2026-02-12 00:43:13] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:43:10Z.xml
[2026-02-12 00:44:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:44:52Z.xml
[2026-02-12 00:44:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:44:52Z.xml
[2026-02-12 00:51:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:51:26Z.xml
[2026-02-12 00:51:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:51:26Z.xml
[2026-02-12 00:51:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:51:27Z.xml
[2026-02-12 00:51:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:51:27Z.xml
[2026-02-12 00:51:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:51:27Z.xml
[2026-02-12 00:51:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 18:51:27Z.xml
[2026-02-12 01:04:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:04:41Z.xml
[2026-02-12 01:04:44] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:04:41Z.xml
[2026-02-12 01:04:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:04:43Z.xml
[2026-02-12 01:04:44] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:04:43Z.xml
[2026-02-12 01:04:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:04:44Z.xml
[2026-02-12 01:04:45] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:04:44Z.xml
[2026-02-12 01:27:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:27:47Z.xml
[2026-02-12 01:27:50] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:27:47Z.xml
[2026-02-12 01:39:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:38:58Z.xml
[2026-02-12 01:39:01] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:38:58Z.xml
[2026-02-12 01:43:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:13Z.xml
[2026-02-12 01:43:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:13Z.xml
[2026-02-12 01:43:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:13Z.xml
[2026-02-12 01:43:14] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:13Z.xml
[2026-02-12 01:43:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:14Z.xml
[2026-02-12 01:43:15] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:14Z.xml
[2026-02-12 01:43:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:14Z.xml
[2026-02-12 01:43:15] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:14Z.xml
[2026-02-12 01:43:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:15Z.xml
[2026-02-12 01:43:16] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:15Z.xml
[2026-02-12 01:43:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:15Z.xml
[2026-02-12 01:43:16] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:15Z.xml
[2026-02-12 01:43:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:16Z.xml
[2026-02-12 01:43:17] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:16Z.xml
[2026-02-12 01:43:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:16Z.xml
[2026-02-12 01:43:17] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:16Z.xml
[2026-02-12 01:43:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:18Z.xml
[2026-02-12 01:43:18] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:18Z.xml
[2026-02-12 01:43:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:18Z.xml
[2026-02-12 01:43:19] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:18Z.xml
[2026-02-12 01:43:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:19Z.xml
[2026-02-12 01:43:20] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:19Z.xml
[2026-02-12 01:43:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:20Z.xml
[2026-02-12 01:43:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:20Z.xml
[2026-02-12 01:43:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:20Z.xml
[2026-02-12 01:43:21] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:20Z.xml
[2026-02-12 01:43:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:21Z.xml
[2026-02-12 01:43:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:21Z.xml
[2026-02-12 01:43:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:21Z.xml
[2026-02-12 01:43:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:21Z.xml
[2026-02-12 01:43:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:22Z.xml
[2026-02-12 01:43:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:22Z.xml
[2026-02-12 01:43:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:22Z.xml
[2026-02-12 01:43:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:43:22Z.xml
[2026-02-12 01:43:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260015937_20260212_014333.XML
[2026-02-12 01:43:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260015937_20260212_014333.XML for user: 68f1466aed072ad4a
[2026-02-12 01:43:33] [INFO] File size: 5109 bytes
[2026-02-12 01:43:34] [INFO] Created FTPFiles record with ID: 698d304657f443676
[2026-02-12 01:43:34] [INFO] About to extract fields from XML. File size: 5109 bytes
[2026-02-12 01:43:34] [INFO] Number of mappings: 28
[2026-02-12 01:43:34] [INFO] Starting XML parsing. Content length: 5109
[2026-02-12 01:43:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 01:43:34] [INFO] Processing 28 field mappings
[2026-02-12 01:43:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 01:43:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 01:43:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 01:43:34] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-12 01:43:34] [INFO]   -> Found value: PCFD
PCSO
[2026-02-12 01:43:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-02-12 01:43:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 01:43:34] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-12 01:43:34] [INFO]   -> Found value: 2026000425
[2026-02-12 01:43:34] [INFO]   -> Set field 'incidentInternalId' = "2026000425"
[2026-02-12 01:43:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000425"
[2026-02-12 01:43:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 01:43:34] [INFO]   -> Found value: GAS PROBLEM
[2026-02-12 01:43:34] [INFO]   -> Set field 'incidentTypeValue1' = "GAS PROBLEM"
[2026-02-12 01:43:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 01:43:34] [INFO]   -> Found value: 1434
[2026-02-12 01:43:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1434
[2026-02-12 01:43:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 01:43:34] [INFO]   -> Found value: TN
[2026-02-12 01:43:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 01:43:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 01:43:34] [INFO]   -> Found value: 38506
[2026-02-12 01:43:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-12 01:43:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 01:43:34] [INFO]   -> Found value: PACESETTERS
[2026-02-12 01:43:34] [INFO]   -> Set field 'businessName' = "PACESETTERS"
[2026-02-12 01:43:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 01:43:34] [INFO]   -> Found value: 36.19662
[2026-02-12 01:43:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19662000000000290356183541007339954376220703125
[2026-02-12 01:43:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 01:43:34] [INFO]   -> Found value: -85.46640
[2026-02-12 01:43:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.466399999999993042365531437098979949951171875
[2026-02-12 01:43:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 01:43:34] [INFO]   -> Found value: 2026-02-11 19:42:14
[2026-02-12 01:43:34] [INFO]   -> Set field 'alarm' = "2026-02-11 19:42:14"
[2026-02-12 01:43:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 01:43:34] [INFO]   -> Found value: 2026-02-11 19:43:25
[2026-02-12 01:43:34] [INFO]   -> Set field 'dispatched' = "2026-02-11 19:43:25"
[2026-02-12 01:43:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 01:43:34] [INFO]   -> Found value: CANDYLAND CIR/CANDYLAND CIR
[2026-02-12 01:43:34] [INFO]   -> Set field 'incidentLocationCross' = "CANDYLAND CIR\/CANDYLAND CIR"
[2026-02-12 01:43:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 01:43:34] [INFO]   -> Found value: EN12
[2026-02-12 01:43:34] [INFO]   -> Set field 'cADVehicleID' = "EN12"
[2026-02-12 01:43:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 01:43:34] [INFO]   -> Found value: 2026-02-11 19:43:25
[2026-02-12 01:43:34] [INFO]   -> Set field 'timedispatch' = "2026-02-11 19:43:25"
[2026-02-12 01:43:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 01:43:34] [INFO]   -> No value found (null or empty)
[2026-02-12 01:43:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 01:43:34] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-12 01:43:34] [INFO]   -> Found value: 20260015937
[2026-02-12 01:43:34] [INFO]   -> Set field 'policeReportNumber' = "20260015937"
[2026-02-12 01:43:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 01:43:34] [INFO]   -> Found value: Event spawned from GAS PROBLEM.  [02/11/2026 19:42:14 BAHARRIS] staff that just left is smelling gas...
[2026-02-12 01:43:34] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from GAS PROBLEM.  [02\/11\/2026 19:42:14 BAHARRIS] staff that just left is smelling gas again outside the home  near back  [02\/11\/26 19:29:20 ANICHOLAS]"
[2026-02-12 01:43:34] [INFO]   -> Set field 'cADLog' = "Event spawned from GAS PROBLEM.  [02\/11\/2026 19:42:14 BAHARRIS] staff that just left is smelling gas again outside the home  near back  [02\/11\/26 19:29:20 ANICHOLAS]"
[2026-02-12 01:43:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 01:43:34] [INFO]   -> Found value: COOKEVILLE
[2026-02-12 01:43:34] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-12 01:43:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 01:43:34] [INFO]   -> Found value: GIBBONS
[2026-02-12 01:43:34] [INFO]   -> Set field 'streetName' = "GIBBONS"
[2026-02-12 01:43:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 01:43:34] [INFO]   -> Found value: RD
[2026-02-12 01:43:34] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-12 01:43:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 01:43:34] [INFO]   -> Found value: 1434 GIBBONS RD
[2026-02-12 01:43:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1434 GIBBONS RD"
[2026-02-12 01:43:34] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-12 01:43:34] [INFO] Concatenating street name and type
[2026-02-12 01:43:34] [INFO]   -> Combined street name: GIBBONS RD
[2026-02-12 01:43:34] [INFO] Built locationCoordinates from lat/lng: 36.19662,-85.4664
[2026-02-12 01:43:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000425","dispatchRunNumber":"2026000425","incidentTypeValue1":"GAS PROBLEM","incidentLocationStreetNumber":1434,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"PACESETTERS","nERISIncidentLatitude":36.19662000000000290356183541007339954376220703125,"nERISIncidentLongitude":-85.466399999999993042365531437098979949951171875,"alarm":"2026-02-11 19:42:14","dispatched":"2026-02-11 19:43:25","incidentLocationCross":"CANDYLAND CIR\/CANDYLAND CIR","cADVehicleID":"EN12","timedispatch":"2026-02-11 19:43:25","policeReportNumber":"20260015937","dispatchNotes":"Event spawned from GAS PROBLEM.  [02\/11\/2026 19:42:14 BAHARRIS] staff that just left is smelling gas again outside the home  near back  [02\/11\/26 19:29:20 ANICHOLAS]","cADLog":"Event spawned from GAS PROBLEM.  [02\/11\/2026 19:42:14 BAHARRIS] staff that just left is smelling gas again outside the home  near back  [02\/11\/26 19:29:20 ANICHOLAS]","incidentLocationCity":"COOKEVILLE","streetName":"GIBBONS RD","incidentAddressTextVersionStreet":"1434 GIBBONS RD","locationCoordinates":"36.19662,-85.4664"}
[2026-02-12 01:43:34] [INFO] Number of extracted fields: 22
[2026-02-12 01:43:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-02-12 01:43:34] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-12 01:43:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-02-12 01:43:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-12 01:43:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-12 01:43:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-02-12 01:43: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-12 01:43: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-12 01:43:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-12 01:43:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-12 01:43:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-12 01:43:34] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"GAS PROBLEM","saasclientId":"68eeb686225c40db4","name":"GAS PROBLEM"}
[2026-02-12 01:43:34] [INFO] Created new IncidentTypeMapping with ID: 698d3046eb45793b8
[2026-02-12 01:43:45] [INFO] Created new Dispatches record with ID: 698d304744f40a634
[2026-02-12 01:43:45] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 01:43:45] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 01:43:48] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 01:43:48] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260015937_20260212_014333.XML: Failed to upload file to V2 FTP server: /PCFD_20260015937_20260212_014333.XML
[2026-02-12 01:43:48] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 01:45:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:45:31Z.xml
[2026-02-12 01:45:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:45:31Z.xml
[2026-02-12 01:45:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:45:31Z.xml
[2026-02-12 01:45:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:45:31Z.xml
[2026-02-12 01:46:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:46:17Z.xml
[2026-02-12 01:46:18] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:46:17Z.xml
[2026-02-12 01:46:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:46:17Z.xml
[2026-02-12 01:46:18] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:46:17Z.xml
[2026-02-12 01:46:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:46:18Z.xml
[2026-02-12 01:46:19] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:46:18Z.xml
[2026-02-12 01:49:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:35Z.xml
[2026-02-12 01:49:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:35Z.xml
[2026-02-12 01:49:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:36Z.xml
[2026-02-12 01:49:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:36Z.xml
[2026-02-12 01:49:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:39Z.xml
[2026-02-12 01:49:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:39Z.xml
[2026-02-12 01:49:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:48Z.xml
[2026-02-12 01:49:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006570_2026-02-11 19:49:48Z.xml
[2026-02-12 03:03:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04426.xml
[2026-02-12 03:03:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04426.xml for user: 68d56363ec1209189
[2026-02-12 03:03:51] [INFO] File size: 1368 bytes
[2026-02-12 03:03:51] [INFO] Created FTPFiles record with ID: 698d4317926b84035
[2026-02-12 03:03:51] [INFO] About to extract fields from XML. File size: 1368 bytes
[2026-02-12 03:03:51] [INFO] Number of mappings: 21
[2026-02-12 03:03:51] [INFO] Starting XML parsing. Content length: 1368
[2026-02-12 03:03:51] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 03:03:51] [INFO] Processing 21 field mappings
[2026-02-12 03:03:51] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 03:03:51] [INFO]   -> Found value: 26-04426
[2026-02-12 03:03:51] [INFO]   -> Set field 'dispatchRunNumber' = "26-04426"
[2026-02-12 03:03:51] [INFO]   -> Set field 'cADNumber' = "26-04426"
[2026-02-12 03:03:51] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 03:03:51] [INFO]   -> Found value: 321
[2026-02-12 03:03:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 321
[2026-02-12 03:03:51] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 03:03:51] [INFO]   -> Found value: N STEPHENSON ST
[2026-02-12 03:03:51] [INFO]   -> Set field 'streetName' = "N STEPHENSON ST"
[2026-02-12 03:03:51] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 03:03:51] [INFO]   -> Found value: MORLEY
[2026-02-12 03:03:51] [INFO]   -> Set field 'incidentLocationCity' = "MORLEY"
[2026-02-12 03:03:51] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 03:03:51] [INFO]   -> Found value: 0
[2026-02-12 03:03:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-12 03:03:51] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 03:03:51] [INFO]   -> Found value: 0
[2026-02-12 03:03:51] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-12 03:03:51] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 03:03:51] [INFO]   -> Found value: MEDICAL
[2026-02-12 03:03:51] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-02-12 03:03:51] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 03:03:51] [INFO]   -> Found value: 02-11-2026 20:18:13|Call Received on 02/11/2026 @ 20:18

81 F FALL UNABLE TO GET UP
NO INJURIES OR P...
[2026-02-12 03:03:51] [INFO]   -> Set field 'dispatchNotes' = "02-11-2026 20:18:13|Call Received on 02\/11\/2026 @ 20:18\n\n81 F FALL UNABLE TO GET UP\nNO INJURIES OR PAIN COMPLAINTS"
[2026-02-12 03:03:51] [INFO]   -> Set field 'cADLog' = "02-11-2026 20:18:13|Call Received on 02\/11\/2026 @ 20:18\n\n81 F FALL UNABLE TO GET UP\nNO INJURIES OR PAIN COMPLAINTS"
[2026-02-12 03:03:51] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 03:03:51] [INFO]   -> Found value: 02-11-2026T20:25:45
[2026-02-12 03:03:51] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T20:25:45
[2026-02-12 03:03:51] [INFO]   -> Set field 'alarm' = "2026-11-02 20:25:45"
[2026-02-12 03:03:51] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T20:25:45
[2026-02-12 03:03:51] [INFO]   -> Set field 'dispatched' = "2026-11-02 20:25:45"
[2026-02-12 03:03:51] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 03:03:51] [INFO]   -> Found value: RURAL PAGE
[2026-02-12 03:03:51] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-02-12 03:03:51] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-02-12 03:03:51] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 03:03:51] [INFO]   -> No value found (null or empty)
[2026-02-12 03:03:51] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 03:03:51] [INFO]   -> Found value: 02-11-2026T21:03:14
[2026-02-12 03:03:51] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T21:03:14
[2026-02-12 03:03:51] [INFO]   -> Set field 'timeunitclear' = "2026-11-02 21:03:14"
[2026-02-12 03:03:51] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 03:03:51] [INFO]   -> Found value: 02-11-2026T20:25:45
[2026-02-12 03:03:51] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T20:25:45
[2026-02-12 03:03:51] [INFO]   -> Set field 'timedispatch' = "2026-11-02 20:25:45"
[2026-02-12 03:03:51] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 03:03:51] [INFO]   -> Found value: SCRFD
[2026-02-12 03:03:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-12 03:03:51] [INFO] Finished extracting fields. Total fields extracted: 17
[2026-02-12 03:03:51] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-12 03:03:51] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04426","cADNumber":"26-04426","incidentLocationStreetNumber":321,"streetName":"N STEPHENSON ST","incidentLocationCity":"MORLEY","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"02-11-2026 20:18:13|Call Received on 02\/11\/2026 @ 20:18\n\n81 F FALL UNABLE TO GET UP\nNO INJURIES OR PAIN COMPLAINTS","cADLog":"02-11-2026 20:18:13|Call Received on 02\/11\/2026 @ 20:18\n\n81 F FALL UNABLE TO GET UP\nNO INJURIES OR PAIN COMPLAINTS","alarm":"2026-11-02 20:25:45","dispatched":"2026-11-02 20:25:45","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-11-02 21:03:14","timedispatch":"2026-11-02 20:25:45","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-02-12 03:03:51] [INFO] Number of extracted fields: 18
[2026-02-12 03:03:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-12 03:03:51] [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-12 03:03:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-12 03:03:51] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-12 03:03:51] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-12 03:03:51] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-12 03:03:51] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-12 03:03:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-12 03:03:52] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-02-12 03:03:52] [INFO] Found existing Dispatch with cADNumber '26-04426', ID: 698d3a2dc46782841 - will update instead of create
[2026-02-12 03:03:52] [INFO] Updated existing Dispatches record with ID: 698d3a2dc46782841
[2026-02-12 03:03:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04426.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SCRFD_26-04426.xml
[2026-02-12 03:03:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04426.xml
[2026-02-12 04:46:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04442.xml
[2026-02-12 04:46:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04442.xml for user: 68d56363ec1209189
[2026-02-12 04:46:14] [INFO] File size: 2273 bytes
[2026-02-12 04:46:14] [INFO] Created FTPFiles record with ID: 698d5b16c7ec5f02b
[2026-02-12 04:46:14] [INFO] About to extract fields from XML. File size: 2273 bytes
[2026-02-12 04:46:14] [INFO] Number of mappings: 21
[2026-02-12 04:46:14] [INFO] Starting XML parsing. Content length: 2273
[2026-02-12 04:46:14] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 04:46:14] [INFO] Processing 21 field mappings
[2026-02-12 04:46:14] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 04:46:14] [INFO]   -> Found value: 26-04442
[2026-02-12 04:46:14] [INFO]   -> Set field 'dispatchRunNumber' = "26-04442"
[2026-02-12 04:46:14] [INFO]   -> Set field 'cADNumber' = "26-04442"
[2026-02-12 04:46:14] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 04:46:14] [INFO]   -> No value found (null or empty)
[2026-02-12 04:46:14] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 04:46:14] [INFO]   -> Found value: STATE HIGHWAY HH
[2026-02-12 04:46:14] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY HH"
[2026-02-12 04:46:14] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 04:46:14] [INFO]   -> No value found (null or empty)
[2026-02-12 04:46:14] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 04:46:14] [INFO]   -> No value found (null or empty)
[2026-02-12 04:46:14] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 04:46:14] [INFO]   -> No value found (null or empty)
[2026-02-12 04:46:14] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 04:46:14] [INFO]   -> No value found (null or empty)
[2026-02-12 04:46:14] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 04:46:14] [INFO]   -> No value found (null or empty)
[2026-02-12 04:46:14] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 04:46:14] [INFO]   -> Found value: 0
[2026-02-12 04:46:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-12 04:46:14] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 04:46:14] [INFO]   -> Found value: 0
[2026-02-12 04:46:14] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-12 04:46:14] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 04:46:14] [INFO]   -> Found value: FIRE-VEHICLE
[2026-02-12 04:46:14] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-VEHICLE"
[2026-02-12 04:46:14] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 04:46:14] [INFO]   -> Found value: 02-11-2026 22:31:33|BLUE SUV SMOKING ON SIDE OF ROAD   BACK WINDSHIELD BROKEN
  02-11-2026 22:36:52|...
[2026-02-12 04:46:14] [INFO]   -> Set field 'dispatchNotes' = "02-11-2026 22:31:33|BLUE SUV SMOKING ON SIDE OF ROAD   BACK WINDSHIELD BROKEN\n  02-11-2026 22:36:52|JUST EAST OF INTERSECTION 02-11-2026 22:40:58|C78 CHECKING HH AND W OF INGRAM 02-11-2026 22:42:15|RECONTACTED CALLER  SAID NO ONE AROUND VEHICLE AND WAS ON HH BEFORE INGRAM COMING FROM ORGILL 02-11-2026 22:42:29|CALLER IS PASSERBY 02-11-2026 22:42:48|DOWNGRADED 02-11-2026 22:42:55|C78 ADVISED CAN CANCEL"
[2026-02-12 04:46:14] [INFO]   -> Set field 'cADLog' = "02-11-2026 22:31:33|BLUE SUV SMOKING ON SIDE OF ROAD   BACK WINDSHIELD BROKEN\n  02-11-2026 22:36:52|JUST EAST OF INTERSECTION 02-11-2026 22:40:58|C78 CHECKING HH AND W OF INGRAM 02-11-2026 22:42:15|RECONTACTED CALLER  SAID NO ONE AROUND VEHICLE AND WAS ON HH BEFORE INGRAM COMING FROM ORGILL 02-11-2026 22:42:29|CALLER IS PASSERBY 02-11-2026 22:42:48|DOWNGRADED 02-11-2026 22:42:55|C78 ADVISED CAN CANCEL"
[2026-02-12 04:46:14] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 04:46:14] [INFO]   -> Found value: 02-11-2026T22:33:08
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:33:08
[2026-02-12 04:46:14] [INFO]   -> Set field 'alarm' = "2026-11-02 22:33:08"
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:33:08
[2026-02-12 04:46:14] [INFO]   -> Set field 'dispatched' = "2026-11-02 22:33:08"
[2026-02-12 04:46:14] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 04:46:14] [INFO]   -> Found value: 02-11-2026T22:36:41
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:36:41
[2026-02-12 04:46:14] [INFO]   -> Set field 'onScene' = "2026-11-02 22:36:41"
[2026-02-12 04:46:14] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 04:46:14] [INFO]   -> Found value: 02-11-2026T22:45:02
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:45:02
[2026-02-12 04:46:14] [INFO]   -> Set field 'cleared' = "2026-11-02 22:45:02"
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:45:02
[2026-02-12 04:46:14] [INFO]   -> Set field 'inService' = "2026-11-02 22:45:02"
[2026-02-12 04:46:14] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 04:46:14] [INFO]   -> Found value: ENG2
[2026-02-12 04:46:14] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-02-12 04:46:14] [INFO]   -> Set field 'name' = "ENG2"
[2026-02-12 04:46:14] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 04:46:14] [INFO]   -> Found value: 02-11-2026T22:35:43
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:35:43
[2026-02-12 04:46:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-11-02 22:35:43"
[2026-02-12 04:46:14] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 04:46:14] [INFO]   -> No value found (null or empty)
[2026-02-12 04:46:14] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 04:46:14] [INFO]   -> Found value: 02-11-2026T22:45:02
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:45:02
[2026-02-12 04:46:14] [INFO]   -> Set field 'timeunitclear' = "2026-11-02 22:45:02"
[2026-02-12 04:46:14] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 04:46:14] [INFO]   -> Found value: 02-11-2026T22:35:38
[2026-02-12 04:46:14] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T22:35:38
[2026-02-12 04:46:14] [INFO]   -> Set field 'timedispatch' = "2026-11-02 22:35:38"
[2026-02-12 04:46:14] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 04:46:14] [INFO]   -> Found value: SDPSFD
[2026-02-12 04:46:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-12 04:46:14] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-02-12 04:46:14] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-12 04:46:14] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04442","cADNumber":"26-04442","streetName":"STATE HIGHWAY HH","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-VEHICLE","dispatchNotes":"02-11-2026 22:31:33|BLUE SUV SMOKING ON SIDE OF ROAD   BACK WINDSHIELD BROKEN\n  02-11-2026 22:36:52|JUST EAST OF INTERSECTION 02-11-2026 22:40:58|C78 CHECKING HH AND W OF INGRAM 02-11-2026 22:42:15|RECONTACTED CALLER  SAID NO ONE AROUND VEHICLE AND WAS ON HH BEFORE INGRAM COMING FROM ORGILL 02-11-2026 22:42:29|CALLER IS PASSERBY 02-11-2026 22:42:48|DOWNGRADED 02-11-2026 22:42:55|C78 ADVISED CAN CANCEL","cADLog":"02-11-2026 22:31:33|BLUE SUV SMOKING ON SIDE OF ROAD   BACK WINDSHIELD BROKEN\n  02-11-2026 22:36:52|JUST EAST OF INTERSECTION 02-11-2026 22:40:58|C78 CHECKING HH AND W OF INGRAM 02-11-2026 22:42:15|RECONTACTED CALLER  SAID NO ONE AROUND VEHICLE AND WAS ON HH BEFORE INGRAM COMING FROM ORGILL 02-11-2026 22:42:29|CALLER IS PASSERBY 02-11-2026 22:42:48|DOWNGRADED 02-11-2026 22:42:55|C78 ADVISED CAN CANCEL","alarm":"2026-11-02 22:33:08","dispatched":"2026-11-02 22:33:08","onScene":"2026-11-02 22:36:41","cleared":"2026-11-02 22:45:02","inService":"2026-11-02 22:45:02","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-11-02 22:35:43","timeunitclear":"2026-11-02 22:45:02","timedispatch":"2026-11-02 22:35:38","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-12 04:46:14] [INFO] Number of extracted fields: 20
[2026-02-12 04:46:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-12 04:46:14] [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-12 04:46:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-12 04:46:14] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-12 04:46:14] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-12 04:46:15] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-12 04:46:15] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-12 04:46:15] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-12 04:46:15] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e883a748d2
[2026-02-12 04:46:17] [INFO] Created new Dispatches record with ID: 698d5b178defdd656
[2026-02-12 04:46:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04442.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SDPSFD_26-04442.xml
[2026-02-12 04:46:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04442.xml
[2026-02-12 06:09:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04452.xml
[2026-02-12 06:09:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04452.xml for user: 68d56363ec1209189
[2026-02-12 06:09:23] [INFO] File size: 2553 bytes
[2026-02-12 06:09:24] [INFO] Created FTPFiles record with ID: 698d6e94328d1cade
[2026-02-12 06:09:24] [INFO] About to extract fields from XML. File size: 2553 bytes
[2026-02-12 06:09:24] [INFO] Number of mappings: 21
[2026-02-12 06:09:24] [INFO] Starting XML parsing. Content length: 2553
[2026-02-12 06:09:24] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 06:09:24] [INFO] Processing 21 field mappings
[2026-02-12 06:09:24] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 06:09:24] [INFO]   -> Found value: 26-04452
[2026-02-12 06:09:24] [INFO]   -> Set field 'dispatchRunNumber' = "26-04452"
[2026-02-12 06:09:24] [INFO]   -> Set field 'cADNumber' = "26-04452"
[2026-02-12 06:09:24] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 06:09:24] [INFO]   -> Found value: 100
[2026-02-12 06:09:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 100
[2026-02-12 06:09:24] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 06:09:24] [INFO]   -> Found value: S MYRNA LN
[2026-02-12 06:09:24] [INFO]   -> Set field 'streetName' = "S MYRNA LN"
[2026-02-12 06:09:24] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 06:09:24] [INFO]   -> No value found (null or empty)
[2026-02-12 06:09:24] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 06:09:24] [INFO]   -> Found value: SIKESTON
[2026-02-12 06:09:24] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-12 06:09:24] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 06:09:24] [INFO]   -> No value found (null or empty)
[2026-02-12 06:09:24] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 06:09:24] [INFO]   -> No value found (null or empty)
[2026-02-12 06:09:24] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 06:09:24] [INFO]   -> No value found (null or empty)
[2026-02-12 06:09:24] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 06:09:24] [INFO]   -> Found value: 0
[2026-02-12 06:09:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-12 06:09:24] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 06:09:24] [INFO]   -> Found value: 0
[2026-02-12 06:09:24] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-12 06:09:24] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 06:09:24] [INFO]   -> Found value: FIRE-EXPLOSION
[2026-02-12 06:09:24] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-EXPLOSION"
[2026-02-12 06:09:24] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 06:09:24] [INFO]   -> Found value: 02-11-2026 23:37:14|RP HEARD ABOUT 4 EXPLOSION FROM ACROSS STREET CAN SEE FIRE 
STATES THE FIRE RAIS...
[2026-02-12 06:09:24] [INFO]   -> Set field 'dispatchNotes' = "02-11-2026 23:37:14|RP HEARD ABOUT 4 EXPLOSION FROM ACROSS STREET CAN SEE FIRE \nSTATES THE FIRE RAISES WITH EXPLOSION THEN GOES DOWN AFTER\nCJ TREE SERVICE\n\nHOUSE SHAKES WITH EXPLOSION\nDOESN'T SEE ANYONE OUT WITH FIRE 02-11-2026 23:43:34|1702 EN ROUTE 02-11-2026 23:51:50|65 ENROUTE 1X 02-11-2026 23:52:18|SECOND PACE FOR RURAL 02-11-2026 23:52:29|PAGE SIKESTON 02-11-2026 23:55:06|APPEARS TO BE BURN BARREL GOING TO TRY AND MAKE CONACT WITH OWNERS 02-11-2026 23:58:04|RURAL ADVISED HOLD OFF ON SIKESTON PAGE 02-11-2026 23:59:13|1738 EN ROUTE 02-12-2026 00:00:50|1765 INVESTIGATING ADVISED DOWNGRADE 02-12-2026 00:01:52|Disposition - Scott County S.O. (MO):  NRN 02-12-2026 00:03:33|1702 CONTROLLED BURN  IN BURN PIT KEROSENE"
[2026-02-12 06:09:24] [INFO]   -> Set field 'cADLog' = "02-11-2026 23:37:14|RP HEARD ABOUT 4 EXPLOSION FROM ACROSS STREET CAN SEE FIRE \nSTATES THE FIRE RAISES WITH EXPLOSION THEN GOES DOWN AFTER\nCJ TREE SERVICE\n\nHOUSE SHAKES WITH EXPLOSION\nDOESN'T SEE ANYONE OUT WITH FIRE 02-11-2026 23:43:34|1702 EN ROUTE 02-11-2026 23:51:50|65 ENROUTE 1X 02-11-2026 23:52:18|SECOND PACE FOR RURAL 02-11-2026 23:52:29|PAGE SIKESTON 02-11-2026 23:55:06|APPEARS TO BE BURN BARREL GOING TO TRY AND MAKE CONACT WITH OWNERS 02-11-2026 23:58:04|RURAL ADVISED HOLD OFF ON SIKESTON PAGE 02-11-2026 23:59:13|1738 EN ROUTE 02-12-2026 00:00:50|1765 INVESTIGATING ADVISED DOWNGRADE 02-12-2026 00:01:52|Disposition - Scott County S.O. (MO):  NRN 02-12-2026 00:03:33|1702 CONTROLLED BURN  IN BURN PIT KEROSENE"
[2026-02-12 06:09:24] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 06:09:24] [INFO]   -> Found value: 02-11-2026T23:42:38
[2026-02-12 06:09:24] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T23:42:38
[2026-02-12 06:09:24] [INFO]   -> Set field 'alarm' = "2026-11-02 23:42:38"
[2026-02-12 06:09:24] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T23:42:38
[2026-02-12 06:09:24] [INFO]   -> Set field 'dispatched' = "2026-11-02 23:42:38"
[2026-02-12 06:09:24] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 06:09:24] [INFO]   -> Found value: 02-11-2026T23:59:59
[2026-02-12 06:09:24] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T23:59:59
[2026-02-12 06:09:24] [INFO]   -> Set field 'onScene' = "2026-11-02 23:59:59"
[2026-02-12 06:09:24] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 06:09:24] [INFO]   -> No value found (null or empty)
[2026-02-12 06:09:24] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 06:09:24] [INFO]   -> Found value: 1765
[2026-02-12 06:09:24] [INFO]   -> Set field 'cADVehicleID' = 1765
[2026-02-12 06:09:24] [INFO]   -> Set field 'name' = "1765"
[2026-02-12 06:09:24] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 06:09:24] [INFO]   -> Found value: 02-11-2026T23:52:27
[2026-02-12 06:09:24] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T23:52:27
[2026-02-12 06:09:24] [INFO]   -> Set field 'timeenroutetoscene' = "2026-11-02 23:52:27"
[2026-02-12 06:09:24] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 06:09:24] [INFO]   -> Found value: 02-11-2026T23:59:59
[2026-02-12 06:09:24] [INFO] Reformatted DD-MM-YYYY date '02-11-2026' (day=02, month=11) to ISO: 2026-11-02T23:59:59
[2026-02-12 06:09:24] [INFO]   -> Set field 'timeonscene' = "2026-11-02 23:59:59"
[2026-02-12 06:09:24] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 06:09:24] [INFO]   -> Found value: 02-12-2026T00:08:11
[2026-02-12 06:09:24] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T00:08:11
[2026-02-12 06:09:24] [INFO]   -> Set field 'timeunitclear' = "2026-12-02 00:08:11"
[2026-02-12 06:09:24] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 06:09:24] [INFO]   -> No value found (null or empty)
[2026-02-12 06:09:24] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 06:09:24] [INFO]   -> Found value: SCRFD
[2026-02-12 06:09:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-12 06:09:24] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-02-12 06:09:24] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-12 06:09:24] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04452","cADNumber":"26-04452","incidentLocationStreetNumber":100,"streetName":"S MYRNA LN","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-EXPLOSION","dispatchNotes":"02-11-2026 23:37:14|RP HEARD ABOUT 4 EXPLOSION FROM ACROSS STREET CAN SEE FIRE \nSTATES THE FIRE RAISES WITH EXPLOSION THEN GOES DOWN AFTER\nCJ TREE SERVICE\n\nHOUSE SHAKES WITH EXPLOSION\nDOESN'T SEE ANYONE OUT WITH FIRE 02-11-2026 23:43:34|1702 EN ROUTE 02-11-2026 23:51:50|65 ENROUTE 1X 02-11-2026 23:52:18|SECOND PACE FOR RURAL 02-11-2026 23:52:29|PAGE SIKESTON 02-11-2026 23:55:06|APPEARS TO BE BURN BARREL GOING TO TRY AND MAKE CONACT WITH OWNERS 02-11-2026 23:58:04|RURAL ADVISED HOLD OFF ON SIKESTON PAGE 02-11-2026 23:59:13|1738 EN ROUTE 02-12-2026 00:00:50|1765 INVESTIGATING ADVISED DOWNGRADE 02-12-2026 00:01:52|Disposition - Scott County S.O. (MO):  NRN 02-12-2026 00:03:33|1702 CONTROLLED BURN  IN BURN PIT KEROSENE","cADLog":"02-11-2026 23:37:14|RP HEARD ABOUT 4 EXPLOSION FROM ACROSS STREET CAN SEE FIRE \nSTATES THE FIRE RAISES WITH EXPLOSION THEN GOES DOWN AFTER\nCJ TREE SERVICE\n\nHOUSE SHAKES WITH EXPLOSION\nDOESN'T SEE ANYONE OUT WITH FIRE 02-11-2026 23:43:34|1702 EN ROUTE 02-11-2026 23:51:50|65 ENROUTE 1X 02-11-2026 23:52:18|SECOND PACE FOR RURAL 02-11-2026 23:52:29|PAGE SIKESTON 02-11-2026 23:55:06|APPEARS TO BE BURN BARREL GOING TO TRY AND MAKE CONACT WITH OWNERS 02-11-2026 23:58:04|RURAL ADVISED HOLD OFF ON SIKESTON PAGE 02-11-2026 23:59:13|1738 EN ROUTE 02-12-2026 00:00:50|1765 INVESTIGATING ADVISED DOWNGRADE 02-12-2026 00:01:52|Disposition - Scott County S.O. (MO):  NRN 02-12-2026 00:03:33|1702 CONTROLLED BURN  IN BURN PIT KEROSENE","alarm":"2026-11-02 23:42:38","dispatched":"2026-11-02 23:42:38","onScene":"2026-11-02 23:59:59","cADVehicleID":1765,"name":"1765","timeenroutetoscene":"2026-11-02 23:52:27","timeonscene":"2026-11-02 23:59:59","timeunitclear":"2026-12-02 00:08:11","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-02-12 06:09:24] [INFO] Number of extracted fields: 20
[2026-02-12 06:09:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-12 06:09:24] [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-12 06:09:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-12 06:09:24] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-12 06:09:24] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-12 06:09:24] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-12 06:09:24] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-12 06:09:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-12 06:09:24] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"FIRE-EXPLOSION","saasclientId":"6643bdb30659f00d8","name":"FIRE-EXPLOSION"}
[2026-02-12 06:09:24] [INFO] Created new IncidentTypeMapping with ID: 698d6e94e6b65fcee
[2026-02-12 06:09:25] [INFO] Found existing Dispatch with cADNumber '26-04452', ID: 698d6852494169843 - will update instead of create
[2026-02-12 06:09:25] [INFO] Updated existing Dispatches record with ID: 698d6852494169843
[2026-02-12 06:09:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04452.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SCRFD_26-04452.xml
[2026-02-12 06:09:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04452.xml
[2026-02-12 06:14:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:38Z.xml
[2026-02-12 06:14:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:38Z.xml
[2026-02-12 06:14:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:38Z.xml
[2026-02-12 06:14:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:38Z.xml
[2026-02-12 06:14:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:39Z.xml
[2026-02-12 06:14:40] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:39Z.xml
[2026-02-12 06:14:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:39Z.xml
[2026-02-12 06:14:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:39Z.xml
[2026-02-12 06:14:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:41Z.xml
[2026-02-12 06:14:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:14:41Z.xml
[2026-02-12 06:15:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:01Z.xml
[2026-02-12 06:15:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:01Z.xml
[2026-02-12 06:15:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:02Z.xml
[2026-02-12 06:15:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:02Z.xml
[2026-02-12 06:15:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:02Z.xml
[2026-02-12 06:15:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:02Z.xml
[2026-02-12 06:15:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:03Z.xml
[2026-02-12 06:15:04] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:03Z.xml
[2026-02-12 06:15:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:56Z.xml
[2026-02-12 06:15:57] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:56Z.xml
[2026-02-12 06:15:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:56Z.xml
[2026-02-12 06:15:58] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:15:56Z.xml
[2026-02-12 06:17:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:17:51Z.xml
[2026-02-12 06:17:52] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:17:51Z.xml
[2026-02-12 06:18:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:24Z.xml
[2026-02-12 06:18:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:24Z.xml
[2026-02-12 06:18:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:37Z.xml
[2026-02-12 06:18:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:37Z.xml
[2026-02-12 06:18:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:37Z.xml
[2026-02-12 06:18:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:37Z.xml
[2026-02-12 06:18:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:48Z.xml
[2026-02-12 06:18:50] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:18:48Z.xml
[2026-02-12 06:22:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:22:45Z.xml
[2026-02-12 06:22:47] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:22:45Z.xml
[2026-02-12 06:22:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:22:49Z.xml
[2026-02-12 06:22:50] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:22:49Z.xml
[2026-02-12 06:22:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:22:49Z.xml
[2026-02-12 06:22:50] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:22:49Z.xml
[2026-02-12 06:24:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:02Z.xml
[2026-02-12 06:24:04] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:02Z.xml
[2026-02-12 06:24:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:03Z.xml
[2026-02-12 06:24:04] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:03Z.xml
[2026-02-12 06:24:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:04Z.xml
[2026-02-12 06:24:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:04Z.xml
[2026-02-12 06:24:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:04Z.xml
[2026-02-12 06:24:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:04Z.xml
[2026-02-12 06:24:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:05Z.xml
[2026-02-12 06:24:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:05Z.xml
[2026-02-12 06:24:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:06Z.xml
[2026-02-12 06:24:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:06Z.xml
[2026-02-12 06:24:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:07Z.xml
[2026-02-12 06:24:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:24:07Z.xml
[2026-02-12 06:26:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:33Z.xml
[2026-02-12 06:26:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:33Z.xml
[2026-02-12 06:26:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:34Z.xml
[2026-02-12 06:26:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:34Z.xml
[2026-02-12 06:26:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:34Z.xml
[2026-02-12 06:26:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:34Z.xml
[2026-02-12 06:26:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:36Z.xml
[2026-02-12 06:26:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:36Z.xml
[2026-02-12 06:26:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:57Z.xml
[2026-02-12 06:26:58] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:26:57Z.xml
[2026-02-12 06:29:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:29:54Z.xml
[2026-02-12 06:29:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:29:54Z.xml
[2026-02-12 06:29:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:29:55Z.xml
[2026-02-12 06:29:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:29:55Z.xml
[2026-02-12 06:39:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:39:06Z.xml
[2026-02-12 06:39:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:39:06Z.xml
[2026-02-12 06:39:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:39:51Z.xml
[2026-02-12 06:39:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:39:51Z.xml
[2026-02-12 06:51:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:51:21Z.xml
[2026-02-12 06:51:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:51:21Z.xml
[2026-02-12 06:51:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:51:24Z.xml
[2026-02-12 06:51:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 00:51:24Z.xml
[2026-02-12 07:01:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:01:06Z.xml
[2026-02-12 07:01:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:01:06Z.xml
[2026-02-12 07:01:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:01:13Z.xml
[2026-02-12 07:01:15] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:01:13Z.xml
[2026-02-12 07:01:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:01:22Z.xml
[2026-02-12 07:01:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:01:22Z.xml
[2026-02-12 07:04:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:04:09Z.xml
[2026-02-12 07:04:10] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:04:09Z.xml
[2026-02-12 07:06:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:04Z.xml
[2026-02-12 07:06:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:04Z.xml
[2026-02-12 07:06:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:04Z.xml
[2026-02-12 07:06:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:04Z.xml
[2026-02-12 07:06:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:05Z.xml
[2026-02-12 07:06:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:05Z.xml
[2026-02-12 07:06:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:05Z.xml
[2026-02-12 07:06:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:05Z.xml
[2026-02-12 07:06:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:06Z.xml
[2026-02-12 07:06:07] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:06Z.xml
[2026-02-12 07:06:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:06Z.xml
[2026-02-12 07:06:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:06Z.xml
[2026-02-12 07:06:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:07Z.xml
[2026-02-12 07:06:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:07Z.xml
[2026-02-12 07:06:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:07Z.xml
[2026-02-12 07:06:09] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:06:07Z.xml
[2026-02-12 07:10:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:10:57Z.xml
[2026-02-12 07:10:59] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 01:10:57Z.xml
[2026-02-12 08:19:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:18Z.xml
[2026-02-12 08:19:22] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:18Z.xml
[2026-02-12 08:19:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:22Z.xml
[2026-02-12 08:19:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:22Z.xml
[2026-02-12 08:19:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:23Z.xml
[2026-02-12 08:19:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:23Z.xml
[2026-02-12 08:19:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:23Z.xml
[2026-02-12 08:19:25] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:19:23Z.xml
[2026-02-12 08:22:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:21:59Z.xml
[2026-02-12 08:22:01] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:21:59Z.xml
[2026-02-12 08:22:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:00Z.xml
[2026-02-12 08:22:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:00Z.xml
[2026-02-12 08:22:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:00Z.xml
[2026-02-12 08:22:02] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:00Z.xml
[2026-02-12 08:22:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:01Z.xml
[2026-02-12 08:22:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:01Z.xml
[2026-02-12 08:22:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:02Z.xml
[2026-02-12 08:22:03] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:02Z.xml
[2026-02-12 08:22:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:02Z.xml
[2026-02-12 08:22:04] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:02Z.xml
[2026-02-12 08:22:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:03Z.xml
[2026-02-12 08:22:04] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:03Z.xml
[2026-02-12 08:22:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:03Z.xml
[2026-02-12 08:22:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:03Z.xml
[2026-02-12 08:22:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:04Z.xml
[2026-02-12 08:22:05] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:04Z.xml
[2026-02-12 08:22:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:15Z.xml
[2026-02-12 08:22:16] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:15Z.xml
[2026-02-12 08:22:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:15Z.xml
[2026-02-12 08:22:17] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-006627_2026-02-12 02:22:15Z.xml
[2026-02-12 08:33:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016001_20260212_083325.XML
[2026-02-12 08:33:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016001_20260212_083325.XML for user: 68f1466aed072ad4a
[2026-02-12 08:33:25] [INFO] File size: 4737 bytes
[2026-02-12 08:33:25] [INFO] Created FTPFiles record with ID: 698d905590c68f6ac
[2026-02-12 08:33:25] [INFO] About to extract fields from XML. File size: 4737 bytes
[2026-02-12 08:33:25] [INFO] Number of mappings: 28
[2026-02-12 08:33:25] [INFO] Starting XML parsing. Content length: 4737
[2026-02-12 08:33:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 08:33:25] [INFO] Processing 28 field mappings
[2026-02-12 08:33:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 08:33:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 08:33:25] [INFO]   -> Found value: PCFD
[2026-02-12 08:33:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-02-12 08:33:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 08:33:25] [INFO]   -> Found value: 2026000426
[2026-02-12 08:33:25] [INFO]   -> Set field 'incidentInternalId' = "2026000426"
[2026-02-12 08:33:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000426"
[2026-02-12 08:33:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 08:33:25] [INFO]   -> Found value: NATURAL GAS LEAK
[2026-02-12 08:33:25] [INFO]   -> Set field 'incidentTypeValue1' = "NATURAL GAS LEAK"
[2026-02-12 08:33:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 08:33:25] [INFO]   -> Found value: 2694
[2026-02-12 08:33:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2694
[2026-02-12 08:33:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 08:33:25] [INFO]   -> Found value: TN
[2026-02-12 08:33:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 08:33:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 08:33:25] [INFO]   -> Found value: 38506
[2026-02-12 08:33:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-12 08:33:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 08:33:25] [INFO]   -> Found value: 36.12662
[2026-02-12 08:33:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1266200000000026193447411060333251953125
[2026-02-12 08:33:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 08:33:25] [INFO]   -> Found value: -85.44773
[2026-02-12 08:33:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.447730000000007066773832775652408599853515625
[2026-02-12 08:33:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 08:33:25] [INFO]   -> Found value: 2026-02-12 02:30:14
[2026-02-12 08:33:25] [INFO]   -> Set field 'alarm' = "2026-02-12 02:30:14"
[2026-02-12 08:33:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 08:33:25] [INFO]   -> Found value: 2026-02-12 02:33:22
[2026-02-12 08:33:25] [INFO]   -> Set field 'dispatched' = "2026-02-12 02:33:22"
[2026-02-12 08:33:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 08:33:25] [INFO]   -> Found value: HWY 70 E/LAKE VIEW DR
[2026-02-12 08:33:25] [INFO]   -> Set field 'incidentLocationCross' = "HWY 70 E\/LAKE VIEW DR"
[2026-02-12 08:33:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 08:33:25] [INFO]   -> Found value: TK15
[2026-02-12 08:33:25] [INFO]   -> Set field 'cADVehicleID' = "TK15"
[2026-02-12 08:33:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 08:33:25] [INFO]   -> Found value: 2026-02-12 02:33:22
[2026-02-12 08:33:25] [INFO]   -> Set field 'timedispatch' = "2026-02-12 02:33:22"
[2026-02-12 08:33:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 08:33:25] [INFO]   -> No value found (null or empty)
[2026-02-12 08:33:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 08:33:25] [INFO]   -> Found value: 20260016001
[2026-02-12 08:33:25] [INFO]   -> Set field 'policeReportNumber' = "20260016001"
[2026-02-12 08:33:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 08:33:25] [INFO]   -> Found value: POSS PROPANE LEAK WOULD LIKE FIRE TO CHECK IT OUT  [02/12/26 02:31:27 SVOKOUN2]]
[2026-02-12 08:33:25] [INFO]   -> Set field 'dispatchNotes' = "POSS PROPANE LEAK WOULD LIKE FIRE TO CHECK IT OUT  [02\/12\/26 02:31:27 SVOKOUN2]]"
[2026-02-12 08:33:25] [INFO]   -> Set field 'cADLog' = "POSS PROPANE LEAK WOULD LIKE FIRE TO CHECK IT OUT  [02\/12\/26 02:31:27 SVOKOUN2]]"
[2026-02-12 08:33:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 08:33:25] [INFO]   -> Found value: COOKEVILLE
[2026-02-12 08:33:25] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-12 08:33:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 08:33:25] [INFO]   -> Found value: LAKE VALLEY
[2026-02-12 08:33:25] [INFO]   -> Set field 'streetName' = "LAKE VALLEY"
[2026-02-12 08:33:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 08:33:25] [INFO]   -> Found value: DR
[2026-02-12 08:33:25] [INFO]   -> Set field 'streetType' = "DR"
[2026-02-12 08:33:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 08:33:25] [INFO]   -> Found value: 2694 LAKE VALLEY DR
[2026-02-12 08:33:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2694 LAKE VALLEY DR"
[2026-02-12 08:33:25] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-12 08:33:25] [INFO] Concatenating street name and type
[2026-02-12 08:33:25] [INFO]   -> Combined street name: LAKE VALLEY DR
[2026-02-12 08:33:25] [INFO] Built locationCoordinates from lat/lng: 36.12662,-85.44773
[2026-02-12 08:33:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000426","dispatchRunNumber":"2026000426","incidentTypeValue1":"NATURAL GAS LEAK","incidentLocationStreetNumber":2694,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1266200000000026193447411060333251953125,"nERISIncidentLongitude":-85.447730000000007066773832775652408599853515625,"alarm":"2026-02-12 02:30:14","dispatched":"2026-02-12 02:33:22","incidentLocationCross":"HWY 70 E\/LAKE VIEW DR","cADVehicleID":"TK15","timedispatch":"2026-02-12 02:33:22","policeReportNumber":"20260016001","dispatchNotes":"POSS PROPANE LEAK WOULD LIKE FIRE TO CHECK IT OUT  [02\/12\/26 02:31:27 SVOKOUN2]]","cADLog":"POSS PROPANE LEAK WOULD LIKE FIRE TO CHECK IT OUT  [02\/12\/26 02:31:27 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"LAKE VALLEY DR","incidentAddressTextVersionStreet":"2694 LAKE VALLEY DR","locationCoordinates":"36.12662,-85.44773"}
[2026-02-12 08:33:25] [INFO] Number of extracted fields: 21
[2026-02-12 08:33:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-02-12 08:33:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-12 08:33:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-02-12 08:33:25] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-12 08:33:25] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-12 08:33:25] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-12 08:33:25] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-12 08:33:25] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-12 08:33:26] [INFO] Found existing IncidentTypeMapping with ID: 695276993a4d83287
[2026-02-12 08:33:36] [INFO] Created new Dispatches record with ID: 698d90565e3309ee2
[2026-02-12 08:33:36] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 08:33:36] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 08:33:39] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 08:33:39] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016001_20260212_083325.XML: Failed to upload file to V2 FTP server: /PCFD_20260016001_20260212_083325.XML
[2026-02-12 08:33:39] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 09:29:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04462.xml
[2026-02-12 09:29:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04462.xml for user: 68d56363ec1209189
[2026-02-12 09:29:07] [INFO] File size: 2266 bytes
[2026-02-12 09:29:09] [INFO] Created FTPFiles record with ID: 698d9d6579ae6146a
[2026-02-12 09:29:09] [INFO] About to extract fields from XML. File size: 2266 bytes
[2026-02-12 09:29:09] [INFO] Number of mappings: 21
[2026-02-12 09:29:09] [INFO] Starting XML parsing. Content length: 2266
[2026-02-12 09:29:09] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 09:29:09] [INFO] Processing 21 field mappings
[2026-02-12 09:29:09] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 09:29:09] [INFO]   -> Found value: 26-04462
[2026-02-12 09:29:09] [INFO]   -> Set field 'dispatchRunNumber' = "26-04462"
[2026-02-12 09:29:09] [INFO]   -> Set field 'cADNumber' = "26-04462"
[2026-02-12 09:29:09] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 09:29:09] [INFO]   -> Found value: 511
[2026-02-12 09:29:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 511
[2026-02-12 09:29:09] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 09:29:09] [INFO]   -> Found value: S PRAIRIE AVE
[2026-02-12 09:29:09] [INFO]   -> Set field 'streetName' = "S PRAIRIE AVE"
[2026-02-12 09:29:09] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 09:29:09] [INFO]   -> No value found (null or empty)
[2026-02-12 09:29:09] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 09:29:09] [INFO]   -> Found value: SIKESTON
[2026-02-12 09:29:09] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-12 09:29:09] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 09:29:09] [INFO]   -> No value found (null or empty)
[2026-02-12 09:29:09] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 09:29:09] [INFO]   -> Found value: MO
[2026-02-12 09:29:09] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-12 09:29:09] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 09:29:09] [INFO]   -> Found value: 63801
[2026-02-12 09:29:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-12 09:29:09] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 09:29:09] [INFO]   -> Found value: 0
[2026-02-12 09:29:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-12 09:29:09] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 09:29:09] [INFO]   -> Found value: 0
[2026-02-12 09:29:09] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-12 09:29:09] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 09:29:09] [INFO]   -> Found value: MEDICAL
[2026-02-12 09:29:09] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-02-12 09:29:09] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026 02:39:33|73 YR OLD FEMALE HEARTBURN  TROUBLE WALKING 
POSS ALT MENTAL 

BELIEVES IT IS DU...
[2026-02-12 09:29:09] [INFO]   -> Set field 'dispatchNotes' = "02-12-2026 02:39:33|73 YR OLD FEMALE HEARTBURN  TROUBLE WALKING \nPOSS ALT MENTAL \n\nBELIEVES IT IS DUE TO BOX OF HORMEL COMPLETE DINNER  02-12-2026 03:06:51|PAGED FIRE POSSIBLE GAS LEAK 02-12-2026 03:14:16|REFUSAL 02-12-2026 03:14:47|Disposition - SSCA:  RPT 02-12-2026 03:17:09|TWR1 CLEARED BY COMMAND 02-12-2026 03:17:29|Disposition - SSCA UNIT:  NRN"
[2026-02-12 09:29:09] [INFO]   -> Set field 'cADLog' = "02-12-2026 02:39:33|73 YR OLD FEMALE HEARTBURN  TROUBLE WALKING \nPOSS ALT MENTAL \n\nBELIEVES IT IS DUE TO BOX OF HORMEL COMPLETE DINNER  02-12-2026 03:06:51|PAGED FIRE POSSIBLE GAS LEAK 02-12-2026 03:14:16|REFUSAL 02-12-2026 03:14:47|Disposition - SSCA:  RPT 02-12-2026 03:17:09|TWR1 CLEARED BY COMMAND 02-12-2026 03:17:29|Disposition - SSCA UNIT:  NRN"
[2026-02-12 09:29:09] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026T02:43:15
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T02:43:15
[2026-02-12 09:29:09] [INFO]   -> Set field 'alarm' = "2026-12-02 02:43:15"
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T02:43:15
[2026-02-12 09:29:09] [INFO]   -> Set field 'dispatched' = "2026-12-02 02:43:15"
[2026-02-12 09:29:09] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026T02:47:29
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T02:47:29
[2026-02-12 09:29:09] [INFO]   -> Set field 'onScene' = "2026-12-02 02:47:29"
[2026-02-12 09:29:09] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026T03:28:39
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T03:28:39
[2026-02-12 09:29:09] [INFO]   -> Set field 'cleared' = "2026-12-02 03:28:39"
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T03:28:39
[2026-02-12 09:29:09] [INFO]   -> Set field 'inService' = "2026-12-02 03:28:39"
[2026-02-12 09:29:09] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 09:29:09] [INFO]   -> Found value: ENG2
[2026-02-12 09:29:09] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-02-12 09:29:09] [INFO]   -> Set field 'name' = "ENG2"
[2026-02-12 09:29:09] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026T03:07:33
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T03:07:33
[2026-02-12 09:29:09] [INFO]   -> Set field 'timeenroutetoscene' = "2026-12-02 03:07:33"
[2026-02-12 09:29:09] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026T03:12:02
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T03:12:02
[2026-02-12 09:29:09] [INFO]   -> Set field 'timeonscene' = "2026-12-02 03:12:02"
[2026-02-12 09:29:09] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026T03:28:39
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T03:28:39
[2026-02-12 09:29:09] [INFO]   -> Set field 'timeunitclear' = "2026-12-02 03:28:39"
[2026-02-12 09:29:09] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 09:29:09] [INFO]   -> Found value: 02-12-2026T03:07:26
[2026-02-12 09:29:09] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T03:07:26
[2026-02-12 09:29:09] [INFO]   -> Set field 'timedispatch' = "2026-12-02 03:07:26"
[2026-02-12 09:29:09] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 09:29:09] [INFO]   -> Found value: SDPSFD
[2026-02-12 09:29:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-12 09:29:09] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-02-12 09:29:09] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-12 09:29:09] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04462","cADNumber":"26-04462","incidentLocationStreetNumber":511,"streetName":"S PRAIRIE AVE","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"02-12-2026 02:39:33|73 YR OLD FEMALE HEARTBURN  TROUBLE WALKING \nPOSS ALT MENTAL \n\nBELIEVES IT IS DUE TO BOX OF HORMEL COMPLETE DINNER  02-12-2026 03:06:51|PAGED FIRE POSSIBLE GAS LEAK 02-12-2026 03:14:16|REFUSAL 02-12-2026 03:14:47|Disposition - SSCA:  RPT 02-12-2026 03:17:09|TWR1 CLEARED BY COMMAND 02-12-2026 03:17:29|Disposition - SSCA UNIT:  NRN","cADLog":"02-12-2026 02:39:33|73 YR OLD FEMALE HEARTBURN  TROUBLE WALKING \nPOSS ALT MENTAL \n\nBELIEVES IT IS DUE TO BOX OF HORMEL COMPLETE DINNER  02-12-2026 03:06:51|PAGED FIRE POSSIBLE GAS LEAK 02-12-2026 03:14:16|REFUSAL 02-12-2026 03:14:47|Disposition - SSCA:  RPT 02-12-2026 03:17:09|TWR1 CLEARED BY COMMAND 02-12-2026 03:17:29|Disposition - SSCA UNIT:  NRN","alarm":"2026-12-02 02:43:15","dispatched":"2026-12-02 02:43:15","onScene":"2026-12-02 02:47:29","cleared":"2026-12-02 03:28:39","inService":"2026-12-02 03:28:39","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-12-02 03:07:33","timeonscene":"2026-12-02 03:12:02","timeunitclear":"2026-12-02 03:28:39","timedispatch":"2026-12-02 03:07:26","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-12 09:29:09] [INFO] Number of extracted fields: 25
[2026-02-12 09:29:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-12 09:29:09] [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-12 09:29:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-12 09:29:09] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-12 09:29:09] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-12 09:29:09] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-12 09:29:09] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-12 09:29:09] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-12 09:29:10] [INFO] Found existing IncidentTypeMapping with ID: 6976908dc15ecc087
[2026-02-12 09:29:11] [INFO] Created new Dispatches record with ID: 698d9d66699d009ac
[2026-02-12 09:29:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04462.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SDPSFD_26-04462.xml
[2026-02-12 09:29:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04462.xml
[2026-02-12 12:11:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016020_20260212_121125.XML
[2026-02-12 12:11:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016020_20260212_121125.XML for user: 68f1466aed072ad4a
[2026-02-12 12:11:25] [INFO] File size: 5437 bytes
[2026-02-12 12:11:25] [INFO] Created FTPFiles record with ID: 698dc36dc50a7e0c1
[2026-02-12 12:11:25] [INFO] About to extract fields from XML. File size: 5437 bytes
[2026-02-12 12:11:25] [INFO] Number of mappings: 28
[2026-02-12 12:11:25] [INFO] Starting XML parsing. Content length: 5437
[2026-02-12 12:11:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 12:11:25] [INFO] Processing 28 field mappings
[2026-02-12 12:11:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 12:11:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 12:11:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 12:11:25] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-12 12:11:25] [INFO]   -> Found value: AFD
EMS
[2026-02-12 12:11:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-02-12 12:11:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 12:11:25] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-12 12:11:25] [INFO]   -> Found value: 2026000056
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentInternalId' = "2026000056"
[2026-02-12 12:11:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000056"
[2026-02-12 12:11:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 12:11:25] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-02-12 12:11:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 12:11:25] [INFO]   -> Found value: 300
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 300
[2026-02-12 12:11:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 12:11:25] [INFO]   -> Found value: TN
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 12:11:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 12:11:25] [INFO]   -> Found value: 38506
[2026-02-12 12:11:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-12 12:11:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 12:11:25] [INFO]   -> Found value: GARDEN GROVE APARTMENTS APTS
[2026-02-12 12:11:25] [INFO]   -> Set field 'businessName' = "GARDEN GROVE APARTMENTS APTS"
[2026-02-12 12:11:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 12:11:25] [INFO]   -> Found value: B4
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentLocationApt' = "B4"
[2026-02-12 12:11:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 12:11:25] [INFO]   -> Found value: 36.19856
[2026-02-12 12:11:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1985600000000005138645065017044544219970703125
[2026-02-12 12:11:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 12:11:25] [INFO]   -> Found value: -85.45771
[2026-02-12 12:11:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4577100000000058344085118733346462249755859375
[2026-02-12 12:11:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 12:11:25] [INFO]   -> Found value: 2026-02-12 06:10:21
[2026-02-12 12:11:25] [INFO]   -> Set field 'alarm' = "2026-02-12 06:10:21"
[2026-02-12 12:11:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 12:11:25] [INFO]   -> Found value: 2026-02-12 06:11:11
[2026-02-12 12:11:25] [INFO]   -> Set field 'dispatched' = "2026-02-12 06:11:11"
[2026-02-12 12:11:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 12:11:25] [INFO]   -> No value found (null or empty)
[2026-02-12 12:11:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 12:11:25] [INFO]   -> No value found (null or empty)
[2026-02-12 12:11:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 12:11:25] [INFO]   -> No value found (null or empty)
[2026-02-12 12:11:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 12:11:25] [INFO]   -> Found value: QUINLAND LAKE RD
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD"
[2026-02-12 12:11:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 12:11:25] [INFO]   -> Found value: AEN1
[2026-02-12 12:11:25] [INFO]   -> Set field 'cADVehicleID' = "AEN1"
[2026-02-12 12:11:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 12:11:25] [INFO]   -> Found value: 2026-02-12 06:11:11
[2026-02-12 12:11:25] [INFO]   -> Set field 'timedispatch' = "2026-02-12 06:11:11"
[2026-02-12 12:11:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 12:11:25] [INFO]   -> No value found (null or empty)
[2026-02-12 12:11:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 12:11:25] [INFO]   -> No value found (null or empty)
[2026-02-12 12:11:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 12:11:25] [INFO]   -> No value found (null or empty)
[2026-02-12 12:11:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 12:11:25] [INFO]   -> No value found (null or empty)
[2026-02-12 12:11:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 12:11:25] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-12 12:11:25] [INFO]   -> Found value: 20260016020
[2026-02-12 12:11:25] [INFO]   -> Set field 'policeReportNumber' = "20260016020"
[2026-02-12 12:11:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 12:11:25] [INFO]   -> Found value: [EMS] DOESNT THINK HE IS INJURED  [02/12/26 06:10:34 MCLAYBURN2] Event spawned from EMS NON-EMERGENC...
[2026-02-12 12:11:25] [INFO]   -> Set field 'dispatchNotes' = "[EMS] DOESNT THINK HE IS INJURED  [02\/12\/26 06:10:34 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [02\/12\/2026 06:10:21 KBURTON] 270 LBS  [02\/12\/26 06:09:57 MCLAYBURN2] FELL OUT OF WHEELCHAIR DONALD VINSON  [02\/12\/26 06:09:46 MCLAYBURN2]]"
[2026-02-12 12:11:25] [INFO]   -> Set field 'cADLog' = "[EMS] DOESNT THINK HE IS INJURED  [02\/12\/26 06:10:34 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [02\/12\/2026 06:10:21 KBURTON] 270 LBS  [02\/12\/26 06:09:57 MCLAYBURN2] FELL OUT OF WHEELCHAIR DONALD VINSON  [02\/12\/26 06:09:46 MCLAYBURN2]]"
[2026-02-12 12:11:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 12:11:25] [INFO]   -> Found value: ALGOOD
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-02-12 12:11:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 12:11:25] [INFO]   -> Found value: QUINLAND LAKE
[2026-02-12 12:11:25] [INFO]   -> Set field 'streetName' = "QUINLAND LAKE"
[2026-02-12 12:11:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 12:11:25] [INFO]   -> Found value: CT
[2026-02-12 12:11:25] [INFO]   -> Set field 'streetType' = "CT"
[2026-02-12 12:11:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 12:11:25] [INFO]   -> Found value: 300-B4 QUINLAND LAKE CT
[2026-02-12 12:11:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "300-B4 QUINLAND LAKE CT"
[2026-02-12 12:11:25] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-02-12 12:11:25] [INFO] Concatenating street name and type
[2026-02-12 12:11:25] [INFO]   -> Combined street name: QUINLAND LAKE CT
[2026-02-12 12:11:25] [INFO] Built locationCoordinates from lat/lng: 36.19856,-85.45771
[2026-02-12 12:11:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000056","dispatchRunNumber":"2026000056","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"GARDEN GROVE APARTMENTS APTS","incidentLocationApt":"B4","nERISIncidentLatitude":36.1985600000000005138645065017044544219970703125,"nERISIncidentLongitude":-85.4577100000000058344085118733346462249755859375,"alarm":"2026-02-12 06:10:21","dispatched":"2026-02-12 06:11:11","incidentLocationCross":"QUINLAND LAKE RD","cADVehicleID":"AEN1","timedispatch":"2026-02-12 06:11:11","policeReportNumber":"20260016020","dispatchNotes":"[EMS] DOESNT THINK HE IS INJURED  [02\/12\/26 06:10:34 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [02\/12\/2026 06:10:21 KBURTON] 270 LBS  [02\/12\/26 06:09:57 MCLAYBURN2] FELL OUT OF WHEELCHAIR DONALD VINSON  [02\/12\/26 06:09:46 MCLAYBURN2]]","cADLog":"[EMS] DOESNT THINK HE IS INJURED  [02\/12\/26 06:10:34 MCLAYBURN2] Event spawned from EMS NON-EMERGENCY.  [02\/12\/2026 06:10:21 KBURTON] 270 LBS  [02\/12\/26 06:09:57 MCLAYBURN2] FELL OUT OF WHEELCHAIR DONALD VINSON  [02\/12\/26 06:09:46 MCLAYBURN2]]","incidentLocationCity":"ALGOOD","streetName":"QUINLAND LAKE CT","incidentAddressTextVersionStreet":"300-B4 QUINLAND LAKE CT","locationCoordinates":"36.19856,-85.45771"}
[2026-02-12 12:11:25] [INFO] Number of extracted fields: 23
[2026-02-12 12:11:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-02-12 12:11:25] [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-12 12:11:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-02-12 12:11:25] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-02-12 12:11:25] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-02-12 12:11:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-02-12 12:11:26] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-02-12 12:11:26] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-02-12 12:11:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-12 12:11:26] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-02-12 12:11:26] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-02-12 12:11:26] [INFO] Found existing IncidentTypeMapping with ID: 69471182900dbaefb
[2026-02-12 12:11:32] [INFO] Created new Dispatches record with ID: 698dc36eadeb5b110
[2026-02-12 12:11:32] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 12:11:32] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 12:11:35] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 12:11:35] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260016020_20260212_121125.XML: Failed to upload file to V2 FTP server: /AFD_20260016020_20260212_121125.XML
[2026-02-12 12:11:35] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 15:38:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016076_20260212_153836.XML
[2026-02-12 15:38:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016076_20260212_153836.XML for user: 68f1466aed072ad4a
[2026-02-12 15:38:36] [INFO] File size: 4731 bytes
[2026-02-12 15:38:39] [INFO] Created FTPFiles record with ID: 698df3ff5dc4c40ad
[2026-02-12 15:38:39] [INFO] About to extract fields from XML. File size: 4731 bytes
[2026-02-12 15:38:39] [INFO] Number of mappings: 28
[2026-02-12 15:38:39] [INFO] Starting XML parsing. Content length: 4731
[2026-02-12 15:38:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 15:38:39] [INFO] Processing 28 field mappings
[2026-02-12 15:38:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 15:38:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 15:38:39] [INFO]   -> Found value: BFD
[2026-02-12 15:38:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-02-12 15:38:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026000043
[2026-02-12 15:38:39] [INFO]   -> Set field 'incidentInternalId' = "2026000043"
[2026-02-12 15:38:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000043"
[2026-02-12 15:38:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 15:38:39] [INFO]   -> Found value: PUBLIC ASSIST
[2026-02-12 15:38:39] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC ASSIST"
[2026-02-12 15:38:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 15:38:39] [INFO]   -> Found value: 428
[2026-02-12 15:38:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 428
[2026-02-12 15:38:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 15:38:39] [INFO]   -> Found value: TN
[2026-02-12 15:38:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 15:38:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 15:38:39] [INFO]   -> Found value: 38544
[2026-02-12 15:38:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-02-12 15:38:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 15:38:39] [INFO]   -> No value found (null or empty)
[2026-02-12 15:38:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 15:38:39] [INFO]   -> No value found (null or empty)
[2026-02-12 15:38:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 15:38:39] [INFO]   -> Found value: 36.15867
[2026-02-12 15:38:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.158670000000000754880602471530437469482421875
[2026-02-12 15:38:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 15:38:39] [INFO]   -> Found value: -85.63836
[2026-02-12 15:38:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.638360000000005811671144329011440277099609375
[2026-02-12 15:38:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026-02-12 09:38:05
[2026-02-12 15:38:39] [INFO]   -> Set field 'alarm' = "2026-02-12 09:38:05"
[2026-02-12 15:38:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026-02-12 09:38:22
[2026-02-12 15:38:39] [INFO]   -> Set field 'dispatched' = "2026-02-12 09:38:22"
[2026-02-12 15:38:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026-02-12 09:38:22
[2026-02-12 15:38:39] [INFO]   -> Set field 'enroute' = "2026-02-12 09:38:22"
[2026-02-12 15:38:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026-02-12 09:38:22
[2026-02-12 15:38:39] [INFO]   -> Set field 'onScene' = "2026-02-12 09:38:22"
[2026-02-12 15:38:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 15:38:39] [INFO]   -> No value found (null or empty)
[2026-02-12 15:38:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 15:38:39] [INFO]   -> Found value: FOURTH AVE N/FIFTH AVE N
[2026-02-12 15:38:39] [INFO]   -> Set field 'incidentLocationCross' = "FOURTH AVE N\/FIFTH AVE N"
[2026-02-12 15:38:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 15:38:39] [INFO]   -> Found value: BEN2
[2026-02-12 15:38:39] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-02-12 15:38:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026-02-12 09:38:22
[2026-02-12 15:38:39] [INFO]   -> Set field 'timedispatch' = "2026-02-12 09:38:22"
[2026-02-12 15:38:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026-02-12 09:38:22
[2026-02-12 15:38:39] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 09:38:22"
[2026-02-12 15:38:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 15:38:39] [INFO]   -> Found value: 2026-02-12 09:38:22
[2026-02-12 15:38:39] [INFO]   -> Set field 'timeonscene' = "2026-02-12 09:38:22"
[2026-02-12 15:38:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 15:38:39] [INFO]   -> No value found (null or empty)
[2026-02-12 15:38:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 15:38:39] [INFO]   -> No value found (null or empty)
[2026-02-12 15:38:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 15:38:39] [INFO]   -> Found value: 20260016076
[2026-02-12 15:38:39] [INFO]   -> Set field 'policeReportNumber' = "20260016076"
[2026-02-12 15:38:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 15:38:39] [INFO]   -> No value found (null or empty)
[2026-02-12 15:38:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 15:38:39] [INFO]   -> Found value: BAXTER
[2026-02-12 15:38:39] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-02-12 15:38:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 15:38:39] [INFO]   -> Found value: MAGNOLIA
[2026-02-12 15:38:39] [INFO]   -> Set field 'streetName' = "MAGNOLIA"
[2026-02-12 15:38:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 15:38:39] [INFO]   -> Found value: ST
[2026-02-12 15:38:39] [INFO]   -> Set field 'streetType' = "ST"
[2026-02-12 15:38:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 15:38:39] [INFO]   -> Found value: 428 MAGNOLIA ST
[2026-02-12 15:38:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "428 MAGNOLIA ST"
[2026-02-12 15:38:39] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-02-12 15:38:39] [INFO] Concatenating street name and type
[2026-02-12 15:38:39] [INFO]   -> Combined street name: MAGNOLIA ST
[2026-02-12 15:38:39] [INFO] Built locationCoordinates from lat/lng: 36.15867,-85.63836
[2026-02-12 15:38:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000043","dispatchRunNumber":"2026000043","incidentTypeValue1":"PUBLIC ASSIST","incidentLocationStreetNumber":428,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.158670000000000754880602471530437469482421875,"nERISIncidentLongitude":-85.638360000000005811671144329011440277099609375,"alarm":"2026-02-12 09:38:05","dispatched":"2026-02-12 09:38:22","enroute":"2026-02-12 09:38:22","onScene":"2026-02-12 09:38:22","incidentLocationCross":"FOURTH AVE N\/FIFTH AVE N","cADVehicleID":"BEN2","timedispatch":"2026-02-12 09:38:22","timeenroutetoscene":"2026-02-12 09:38:22","timeonscene":"2026-02-12 09:38:22","policeReportNumber":"20260016076","incidentLocationCity":"BAXTER","streetName":"MAGNOLIA ST","incidentAddressTextVersionStreet":"428 MAGNOLIA ST","locationCoordinates":"36.15867,-85.63836"}
[2026-02-12 15:38:39] [INFO] Number of extracted fields: 23
[2026-02-12 15:38:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-02-12 15:38:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-12 15:38:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-02-12 15:38:39] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-12 15:38:39] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-12 15:38:39] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-12 15:38:39] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-12 15:38:39] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-12 15:38:40] [INFO] Found existing IncidentTypeMapping with ID: 6945bb1a914109b26
[2026-02-12 15:38:43] [INFO] Created new Dispatches record with ID: 698df400d14e80290
[2026-02-12 15:38:43] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 15:38:44] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 15:38:47] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 15:38:47] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016076_20260212_153836.XML: Failed to upload file to V2 FTP server: /BFD_20260016076_20260212_153836.XML
[2026-02-12 15:38:47] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 15:43:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04474.xml
[2026-02-12 15:43:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04474.xml for user: 68d56363ec1209189
[2026-02-12 15:43:17] [INFO] File size: 1731 bytes
[2026-02-12 15:43:17] [INFO] Created FTPFiles record with ID: 698df515e4b128296
[2026-02-12 15:43:17] [INFO] About to extract fields from XML. File size: 1731 bytes
[2026-02-12 15:43:17] [INFO] Number of mappings: 21
[2026-02-12 15:43:17] [INFO] Starting XML parsing. Content length: 1731
[2026-02-12 15:43:17] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 15:43:17] [INFO] Processing 21 field mappings
[2026-02-12 15:43:17] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 15:43:17] [INFO]   -> Found value: 26-04474
[2026-02-12 15:43:17] [INFO]   -> Set field 'dispatchRunNumber' = "26-04474"
[2026-02-12 15:43:17] [INFO]   -> Set field 'cADNumber' = "26-04474"
[2026-02-12 15:43:17] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 15:43:17] [INFO]   -> Found value: 720
[2026-02-12 15:43:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 720
[2026-02-12 15:43:17] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 15:43:17] [INFO]   -> Found value: MATTHEWS AVE
[2026-02-12 15:43:17] [INFO]   -> Set field 'streetName' = "MATTHEWS AVE"
[2026-02-12 15:43:17] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 15:43:17] [INFO]   -> No value found (null or empty)
[2026-02-12 15:43:17] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 15:43:17] [INFO]   -> Found value: SIKESTON
[2026-02-12 15:43:17] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-12 15:43:17] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 15:43:17] [INFO]   -> No value found (null or empty)
[2026-02-12 15:43:17] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 15:43:17] [INFO]   -> Found value: MO
[2026-02-12 15:43:17] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-12 15:43:17] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 15:43:17] [INFO]   -> Found value: 63801
[2026-02-12 15:43:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-12 15:43:17] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 15:43:17] [INFO]   -> Found value: 0
[2026-02-12 15:43:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-12 15:43:17] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 15:43:17] [INFO]   -> Found value: 0
[2026-02-12 15:43:17] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-12 15:43:17] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 15:43:17] [INFO]   -> Found value: ORDINANCE-ILLEGAL BURNING
[2026-02-12 15:43:17] [INFO]   -> Set field 'incidentTypeValue1' = "ORDINANCE-ILLEGAL BURNING"
[2026-02-12 15:43:17] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 15:43:17] [INFO]   -> Found value: 02-12-2026 08:55:47|HOUSE BEHIND CALLER
WORKS LEFT SMALL FIRE GOING IN BACKYARD
TRASH 02-12-2026 09:...
[2026-02-12 15:43:17] [INFO]   -> Set field 'dispatchNotes' = "02-12-2026 08:55:47|HOUSE BEHIND CALLER\nWORKS LEFT SMALL FIRE GOING IN BACKYARD\nTRASH 02-12-2026 09:24:28|NO ONE WAS HOME"
[2026-02-12 15:43:17] [INFO]   -> Set field 'cADLog' = "02-12-2026 08:55:47|HOUSE BEHIND CALLER\nWORKS LEFT SMALL FIRE GOING IN BACKYARD\nTRASH 02-12-2026 09:24:28|NO ONE WAS HOME"
[2026-02-12 15:43:17] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 15:43:17] [INFO]   -> Found value: 02-12-2026T08:56:26
[2026-02-12 15:43:17] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T08:56:26
[2026-02-12 15:43:17] [INFO]   -> Set field 'alarm' = "2026-12-02 08:56:26"
[2026-02-12 15:43:17] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T08:56:26
[2026-02-12 15:43:17] [INFO]   -> Set field 'dispatched' = "2026-12-02 08:56:26"
[2026-02-12 15:43:17] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 15:43:17] [INFO]   -> Found value: 02-12-2026T09:31:52
[2026-02-12 15:43:17] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T09:31:52
[2026-02-12 15:43:17] [INFO]   -> Set field 'onScene' = "2026-12-02 09:31:52"
[2026-02-12 15:43:17] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 15:43:17] [INFO]   -> No value found (null or empty)
[2026-02-12 15:43:17] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 15:43:17] [INFO]   -> Found value: ENG2
[2026-02-12 15:43:17] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-02-12 15:43:17] [INFO]   -> Set field 'name' = "ENG2"
[2026-02-12 15:43:17] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 15:43:17] [INFO]   -> Found value: 02-12-2026T09:26:19
[2026-02-12 15:43:17] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T09:26:19
[2026-02-12 15:43:17] [INFO]   -> Set field 'timeenroutetoscene' = "2026-12-02 09:26:19"
[2026-02-12 15:43:17] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 15:43:17] [INFO]   -> Found value: 02-12-2026T09:31:52
[2026-02-12 15:43:17] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T09:31:52
[2026-02-12 15:43:17] [INFO]   -> Set field 'timeonscene' = "2026-12-02 09:31:52"
[2026-02-12 15:43:17] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 15:43:17] [INFO]   -> Found value: 02-12-2026T09:42:28
[2026-02-12 15:43:17] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T09:42:28
[2026-02-12 15:43:17] [INFO]   -> Set field 'timeunitclear' = "2026-12-02 09:42:28"
[2026-02-12 15:43:17] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 15:43:17] [INFO]   -> Found value: 02-12-2026T09:26:16
[2026-02-12 15:43:17] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T09:26:16
[2026-02-12 15:43:17] [INFO]   -> Set field 'timedispatch' = "2026-12-02 09:26:16"
[2026-02-12 15:43:17] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 15:43:17] [INFO]   -> Found value: SDPSFD
[2026-02-12 15:43:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-12 15:43:17] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-12 15:43:17] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-12 15:43:17] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04474","cADNumber":"26-04474","incidentLocationStreetNumber":720,"streetName":"MATTHEWS AVE","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"ORDINANCE-ILLEGAL BURNING","dispatchNotes":"02-12-2026 08:55:47|HOUSE BEHIND CALLER\nWORKS LEFT SMALL FIRE GOING IN BACKYARD\nTRASH 02-12-2026 09:24:28|NO ONE WAS HOME","cADLog":"02-12-2026 08:55:47|HOUSE BEHIND CALLER\nWORKS LEFT SMALL FIRE GOING IN BACKYARD\nTRASH 02-12-2026 09:24:28|NO ONE WAS HOME","alarm":"2026-12-02 08:56:26","dispatched":"2026-12-02 08:56:26","onScene":"2026-12-02 09:31:52","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-12-02 09:26:19","timeonscene":"2026-12-02 09:31:52","timeunitclear":"2026-12-02 09:42:28","timedispatch":"2026-12-02 09:26:16","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-12 15:43:17] [INFO] Number of extracted fields: 23
[2026-02-12 15:43:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-12 15:43:17] [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-12 15:43:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-12 15:43:17] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-12 15:43:18] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-12 15:43:18] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-12 15:43:18] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-12 15:43:18] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-12 15:43:18] [INFO] Found existing IncidentTypeMapping with ID: 68e3d4bca5d8af674
[2026-02-12 15:43:47] [INFO] Created new Dispatches record with ID: 698df53267b4aebab
[2026-02-12 15:43:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04474.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SDPSFD_26-04474.xml
[2026-02-12 15:43:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04474.xml
[2026-02-12 15:49:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml
[2026-02-12 15:49:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml for user: 69320e6a9e3e5ef71
[2026-02-12 15:49:08] [INFO] File size: 11489 bytes
[2026-02-12 15:49:08] [INFO] Created FTPFiles record with ID: 698df674809bc8126
[2026-02-12 15:49:08] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-12 15:49:08] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-12
[2026-02-12 15:49:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-12/cfs_2026-009514.xml
[2026-02-12 15:49:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml
[2026-02-12 15:49:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml
[2026-02-12 15:49:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml for user: 69320e6a9e3e5ef71
[2026-02-12 15:49:11] [INFO] File size: 12427 bytes
[2026-02-12 15:49:11] [INFO] Created FTPFiles record with ID: 698df67766b0e8d63
[2026-02-12 15:49:11] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-12 15:49:11] [INFO] File already exists in archive, using unique name: cfs_2026-009514_1770911351.xml
[2026-02-12 15:49:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-12/cfs_2026-009514_1770911351.xml
[2026-02-12 15:49:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-009514.xml
[2026-02-12 18:18:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04484.xml
[2026-02-12 18:18:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04484.xml for user: 68d56363ec1209189
[2026-02-12 18:18:29] [INFO] File size: 1815 bytes
[2026-02-12 18:18:55] [INFO] Created FTPFiles record with ID: 698e198f3810627b2
[2026-02-12 18:18:55] [INFO] About to extract fields from XML. File size: 1815 bytes
[2026-02-12 18:18:55] [INFO] Number of mappings: 21
[2026-02-12 18:18:55] [INFO] Starting XML parsing. Content length: 1815
[2026-02-12 18:18:55] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 18:18:55] [INFO] Processing 21 field mappings
[2026-02-12 18:18:55] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 18:18:55] [INFO]   -> Found value: 26-04484
[2026-02-12 18:18:55] [INFO]   -> Set field 'dispatchRunNumber' = "26-04484"
[2026-02-12 18:18:55] [INFO]   -> Set field 'cADNumber' = "26-04484"
[2026-02-12 18:18:55] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 18:18:55] [INFO]   -> Found value: 910
[2026-02-12 18:18:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 910
[2026-02-12 18:18:55] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 18:18:55] [INFO]   -> Found value: CRESCENT DR
[2026-02-12 18:18:55] [INFO]   -> Set field 'streetName' = "CRESCENT DR"
[2026-02-12 18:18:55] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 18:18:55] [INFO]   -> No value found (null or empty)
[2026-02-12 18:18:55] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 18:18:55] [INFO]   -> Found value: SIKESTON
[2026-02-12 18:18:55] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-12 18:18:55] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 18:18:55] [INFO]   -> No value found (null or empty)
[2026-02-12 18:18:55] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 18:18:55] [INFO]   -> Found value: MO
[2026-02-12 18:18:55] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-12 18:18:55] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 18:18:55] [INFO]   -> Found value: 63801
[2026-02-12 18:18:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-12 18:18:55] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 18:18:55] [INFO]   -> Found value: 0
[2026-02-12 18:18:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-12 18:18:55] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 18:18:55] [INFO]   -> Found value: 0
[2026-02-12 18:18:55] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-12 18:18:55] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 18:18:55] [INFO]   -> Found value: MEDICAL
[2026-02-12 18:18:55] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-02-12 18:18:55] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 18:18:55] [INFO]   -> Found value: 02-12-2026 11:29:34|83YO MALE SWELLING IN HIS KNEE
SWEATING AND WEAK 
INJECTION IN HIS KNEE ON THE 6...
[2026-02-12 18:18:55] [INFO]   -> Set field 'dispatchNotes' = "02-12-2026 11:29:34|83YO MALE SWELLING IN HIS KNEE\nSWEATING AND WEAK \nINJECTION IN HIS KNEE ON THE 6TH 02-12-2026 11:55:25|1515 REQUESTING FIRE FOR LIFT ASSIST 02-12-2026 11:57:46|1531 ENROUTE 02-12-2026 12:01:22|1531 ON SCENE"
[2026-02-12 18:18:55] [INFO]   -> Set field 'cADLog' = "02-12-2026 11:29:34|83YO MALE SWELLING IN HIS KNEE\nSWEATING AND WEAK \nINJECTION IN HIS KNEE ON THE 6TH 02-12-2026 11:55:25|1515 REQUESTING FIRE FOR LIFT ASSIST 02-12-2026 11:57:46|1531 ENROUTE 02-12-2026 12:01:22|1531 ON SCENE"
[2026-02-12 18:18:55] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 18:18:55] [INFO]   -> Found value: 02-12-2026T11:30:31
[2026-02-12 18:18:55] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T11:30:31
[2026-02-12 18:18:55] [INFO]   -> Set field 'alarm' = "2026-12-02 11:30:31"
[2026-02-12 18:18:55] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T11:30:31
[2026-02-12 18:18:55] [INFO]   -> Set field 'dispatched' = "2026-12-02 11:30:31"
[2026-02-12 18:18:55] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 18:18:55] [INFO]   -> Found value: 02-12-2026T12:04:19
[2026-02-12 18:18:55] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T12:04:19
[2026-02-12 18:18:55] [INFO]   -> Set field 'onScene' = "2026-12-02 12:04:19"
[2026-02-12 18:18:55] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 18:18:55] [INFO]   -> No value found (null or empty)
[2026-02-12 18:18:55] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 18:18:55] [INFO]   -> Found value: L3
[2026-02-12 18:18:55] [INFO]   -> Set field 'cADVehicleID' = "L3"
[2026-02-12 18:18:55] [INFO]   -> Set field 'name' = "L3"
[2026-02-12 18:18:55] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 18:18:55] [INFO]   -> Found value: 02-12-2026T11:56:44
[2026-02-12 18:18:55] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T11:56:44
[2026-02-12 18:18:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-12-02 11:56:44"
[2026-02-12 18:18:55] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 18:18:55] [INFO]   -> Found value: 02-12-2026T12:04:19
[2026-02-12 18:18:55] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T12:04:19
[2026-02-12 18:18:55] [INFO]   -> Set field 'timeonscene' = "2026-12-02 12:04:19"
[2026-02-12 18:18:55] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 18:18:55] [INFO]   -> Found value: 02-12-2026T12:17:35
[2026-02-12 18:18:55] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T12:17:35
[2026-02-12 18:18:55] [INFO]   -> Set field 'timeunitclear' = "2026-12-02 12:17:35"
[2026-02-12 18:18:55] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 18:18:55] [INFO]   -> Found value: 02-12-2026T11:56:41
[2026-02-12 18:18:55] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T11:56:41
[2026-02-12 18:18:55] [INFO]   -> Set field 'timedispatch' = "2026-12-02 11:56:41"
[2026-02-12 18:18:55] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 18:18:55] [INFO]   -> Found value: SDPSFD
[2026-02-12 18:18:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-12 18:18:55] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-12 18:18:55] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-12 18:18:55] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04484","cADNumber":"26-04484","incidentLocationStreetNumber":910,"streetName":"CRESCENT DR","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"02-12-2026 11:29:34|83YO MALE SWELLING IN HIS KNEE\nSWEATING AND WEAK \nINJECTION IN HIS KNEE ON THE 6TH 02-12-2026 11:55:25|1515 REQUESTING FIRE FOR LIFT ASSIST 02-12-2026 11:57:46|1531 ENROUTE 02-12-2026 12:01:22|1531 ON SCENE","cADLog":"02-12-2026 11:29:34|83YO MALE SWELLING IN HIS KNEE\nSWEATING AND WEAK \nINJECTION IN HIS KNEE ON THE 6TH 02-12-2026 11:55:25|1515 REQUESTING FIRE FOR LIFT ASSIST 02-12-2026 11:57:46|1531 ENROUTE 02-12-2026 12:01:22|1531 ON SCENE","alarm":"2026-12-02 11:30:31","dispatched":"2026-12-02 11:30:31","onScene":"2026-12-02 12:04:19","cADVehicleID":"L3","name":"L3","timeenroutetoscene":"2026-12-02 11:56:44","timeonscene":"2026-12-02 12:04:19","timeunitclear":"2026-12-02 12:17:35","timedispatch":"2026-12-02 11:56:41","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-12 18:18:55] [INFO] Number of extracted fields: 23
[2026-02-12 18:18:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-12 18:18:55] [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-12 18:18:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-12 18:18:55] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-12 18:18:55] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-12 18:18:55] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-12 18:18:55] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-12 18:18:55] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-12 18:18:55] [INFO] Found existing IncidentTypeMapping with ID: 6976908dc15ecc087
[2026-02-12 18:19:58] [INFO] Created new Dispatches record with ID: 698e19cd47c571aaa
[2026-02-12 18:19:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04484.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SDPSFD_26-04484.xml
[2026-02-12 18:19:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-04484.xml
[2026-02-12 20:19:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016221_20260212_201905.XML
[2026-02-12 20:19:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016221_20260212_201905.XML for user: 68f1466aed072ad4a
[2026-02-12 20:19:05] [INFO] File size: 4793 bytes
[2026-02-12 20:19:05] [INFO] Created FTPFiles record with ID: 698e35b9c009e2a25
[2026-02-12 20:19:05] [INFO] About to extract fields from XML. File size: 4793 bytes
[2026-02-12 20:19:05] [INFO] Number of mappings: 28
[2026-02-12 20:19:05] [INFO] Starting XML parsing. Content length: 4793
[2026-02-12 20:19:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 20:19:05] [INFO] Processing 28 field mappings
[2026-02-12 20:19:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 20:19:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 20:19:05] [INFO]   -> Found value: BFD
[2026-02-12 20:19:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-02-12 20:19:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026000044
[2026-02-12 20:19:05] [INFO]   -> Set field 'incidentInternalId' = "2026000044"
[2026-02-12 20:19:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000044"
[2026-02-12 20:19:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 20:19:05] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-02-12 20:19:05] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-02-12 20:19:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 20:19:05] [INFO]   -> Found value: 1274
[2026-02-12 20:19:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1274
[2026-02-12 20:19:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 20:19:05] [INFO]   -> Found value: TN
[2026-02-12 20:19:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 20:19:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 20:19:05] [INFO]   -> Found value: 38544
[2026-02-12 20:19:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-02-12 20:19:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 20:19:05] [INFO]   -> Found value: JOSHUA BAIER
[2026-02-12 20:19:05] [INFO]   -> Set field 'businessName' = "JOSHUA BAIER"
[2026-02-12 20:19:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 20:19:05] [INFO]   -> No value found (null or empty)
[2026-02-12 20:19:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 20:19:05] [INFO]   -> Found value: 36.16769
[2026-02-12 20:19:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.16769000000000033878677641041576862335205078125
[2026-02-12 20:19:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 20:19:05] [INFO]   -> Found value: -85.62959
[2026-02-12 20:19:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6295899999999932106220512650907039642333984375
[2026-02-12 20:19:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026-02-12 14:18:18
[2026-02-12 20:19:05] [INFO]   -> Set field 'alarm' = "2026-02-12 14:18:18"
[2026-02-12 20:19:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026-02-12 14:18:51
[2026-02-12 20:19:05] [INFO]   -> Set field 'dispatched' = "2026-02-12 14:18:51"
[2026-02-12 20:19:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026-02-12 14:18:51
[2026-02-12 20:19:05] [INFO]   -> Set field 'enroute' = "2026-02-12 14:18:51"
[2026-02-12 20:19:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026-02-12 14:18:51
[2026-02-12 20:19:05] [INFO]   -> Set field 'onScene' = "2026-02-12 14:18:51"
[2026-02-12 20:19:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 20:19:05] [INFO]   -> No value found (null or empty)
[2026-02-12 20:19:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 20:19:05] [INFO]   -> Found value: LIGON LN/DUNAVIN DR
[2026-02-12 20:19:05] [INFO]   -> Set field 'incidentLocationCross' = "LIGON LN\/DUNAVIN DR"
[2026-02-12 20:19:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 20:19:05] [INFO]   -> Found value: BEN2
[2026-02-12 20:19:05] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-02-12 20:19:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026-02-12 14:18:51
[2026-02-12 20:19:05] [INFO]   -> Set field 'timedispatch' = "2026-02-12 14:18:51"
[2026-02-12 20:19:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026-02-12 14:18:51
[2026-02-12 20:19:05] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 14:18:51"
[2026-02-12 20:19:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 20:19:05] [INFO]   -> Found value: 2026-02-12 14:18:51
[2026-02-12 20:19:05] [INFO]   -> Set field 'timeonscene' = "2026-02-12 14:18:51"
[2026-02-12 20:19:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 20:19:05] [INFO]   -> No value found (null or empty)
[2026-02-12 20:19:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 20:19:05] [INFO]   -> No value found (null or empty)
[2026-02-12 20:19:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 20:19:05] [INFO]   -> Found value: 20260016221
[2026-02-12 20:19:05] [INFO]   -> Set field 'policeReportNumber' = "20260016221"
[2026-02-12 20:19:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 20:19:05] [INFO]   -> No value found (null or empty)
[2026-02-12 20:19:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 20:19:05] [INFO]   -> Found value: BAXTER
[2026-02-12 20:19:05] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-02-12 20:19:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 20:19:05] [INFO]   -> Found value: MAIN
[2026-02-12 20:19:05] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-02-12 20:19:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 20:19:05] [INFO]   -> Found value: ST
[2026-02-12 20:19:05] [INFO]   -> Set field 'streetType' = "ST"
[2026-02-12 20:19:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 20:19:05] [INFO]   -> Found value: 1274 MAIN ST
[2026-02-12 20:19:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1274 MAIN ST"
[2026-02-12 20:19:05] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-02-12 20:19:05] [INFO] Concatenating street name and type
[2026-02-12 20:19:05] [INFO]   -> Combined street name: MAIN ST
[2026-02-12 20:19:05] [INFO] Built locationCoordinates from lat/lng: 36.16769,-85.62959
[2026-02-12 20:19:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000044","dispatchRunNumber":"2026000044","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":1274,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"JOSHUA BAIER","nERISIncidentLatitude":36.16769000000000033878677641041576862335205078125,"nERISIncidentLongitude":-85.6295899999999932106220512650907039642333984375,"alarm":"2026-02-12 14:18:18","dispatched":"2026-02-12 14:18:51","enroute":"2026-02-12 14:18:51","onScene":"2026-02-12 14:18:51","incidentLocationCross":"LIGON LN\/DUNAVIN DR","cADVehicleID":"BEN2","timedispatch":"2026-02-12 14:18:51","timeenroutetoscene":"2026-02-12 14:18:51","timeonscene":"2026-02-12 14:18:51","policeReportNumber":"20260016221","incidentLocationCity":"BAXTER","streetName":"MAIN ST","incidentAddressTextVersionStreet":"1274 MAIN ST","locationCoordinates":"36.16769,-85.62959"}
[2026-02-12 20:19:05] [INFO] Number of extracted fields: 24
[2026-02-12 20:19:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-02-12 20:19:05] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-12 20:19:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-02-12 20:19:05] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-12 20:19:05] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-12 20:19:06] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-12 20:19:06] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-12 20:19:06] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-12 20:19:06] [INFO] Found existing IncidentTypeMapping with ID: 6945b179303e94e60
[2026-02-12 20:19:10] [INFO] Created new Dispatches record with ID: 698e35bacf6955391
[2026-02-12 20:19:10] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 20:19:10] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 20:19:13] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 20:19:13] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260016221_20260212_201905.XML: Failed to upload file to V2 FTP server: /BFD_20260016221_20260212_201905.XML
[2026-02-12 20:19:13] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 20:27:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016229_20260212_202755.XML
[2026-02-12 20:27:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016229_20260212_202755.XML for user: 68f1466aed072ad4a
[2026-02-12 20:27:55] [INFO] File size: 5552 bytes
[2026-02-12 20:27:55] [INFO] Created FTPFiles record with ID: 698e37cba94f42c4e
[2026-02-12 20:27:55] [INFO] About to extract fields from XML. File size: 5552 bytes
[2026-02-12 20:27:55] [INFO] Number of mappings: 28
[2026-02-12 20:27:55] [INFO] Starting XML parsing. Content length: 5552
[2026-02-12 20:27:55] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 20:27:55] [INFO] Processing 28 field mappings
[2026-02-12 20:27:55] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 20:27:55] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 20:27:55] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 20:27:55] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-12 20:27:55] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-02-12 20:27:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-02-12 20:27:55] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 20:27:55] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-12 20:27:55] [INFO]   -> Found value: 2026000427
[2026-02-12 20:27:55] [INFO]   -> Set field 'incidentInternalId' = "2026000427"
[2026-02-12 20:27:55] [INFO]   -> Set field 'dispatchRunNumber' = "2026000427"
[2026-02-12 20:27:55] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 20:27:55] [INFO]   -> Found value: FALL VICTIM
[2026-02-12 20:27:55] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-02-12 20:27:55] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 20:27:55] [INFO]   -> Found value: 1420
[2026-02-12 20:27:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1420
[2026-02-12 20:27:55] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 20:27:55] [INFO]   -> Found value: TN
[2026-02-12 20:27:55] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 20:27:55] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 20:27:55] [INFO]   -> Found value: BEE ROCK
[2026-02-12 20:27:55] [INFO]   -> Set field 'businessName' = "BEE ROCK"
[2026-02-12 20:27:55] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 20:27:55] [INFO]   -> Found value: 36.13089
[2026-02-12 20:27:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13089000000000083900886238552629947662353515625
[2026-02-12 20:27:55] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 20:27:55] [INFO]   -> Found value: -85.28580
[2026-02-12 20:27:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2857999999999947249307297170162200927734375
[2026-02-12 20:27:55] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 20:27:55] [INFO]   -> Found value: 2026-02-12 14:26:15
[2026-02-12 20:27:55] [INFO]   -> Set field 'alarm' = "2026-02-12 14:26:15"
[2026-02-12 20:27:55] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 20:27:55] [INFO]   -> Found value: 2026-02-12 14:27:43
[2026-02-12 20:27:55] [INFO]   -> Set field 'dispatched' = "2026-02-12 14:27:43"
[2026-02-12 20:27:55] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 20:27:55] [INFO]   -> Found value: EN21
[2026-02-12 20:27:55] [INFO]   -> Set field 'cADVehicleID' = "EN21"
[2026-02-12 20:27:55] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 20:27:55] [INFO]   -> Found value: 2026-02-12 14:27:43
[2026-02-12 20:27:55] [INFO]   -> Set field 'timedispatch' = "2026-02-12 14:27:43"
[2026-02-12 20:27:55] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 20:27:55] [INFO]   -> No value found (null or empty)
[2026-02-12 20:27:55] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 20:27:55] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-12 20:27:55] [INFO]   -> Found value: 20260016229
[2026-02-12 20:27:55] [INFO]   -> Set field 'policeReportNumber' = "20260016229"
[2026-02-12 20:27:55] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 20:27:55] [INFO]   -> Found value: [EMS] BRIGHT RED SWEATER AND JEANS  [02/12/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND H...
[2026-02-12 20:27:55] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]"
[2026-02-12 20:27:55] [INFO]   -> Set field 'cADLog' = "[EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]"
[2026-02-12 20:27:55] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 20:27:55] [INFO]   -> Found value: MONTEREY
[2026-02-12 20:27:55] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-02-12 20:27:55] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 20:27:55] [INFO]   -> Found value: BEE ROCK
[2026-02-12 20:27:55] [INFO]   -> Set field 'streetName' = "BEE ROCK"
[2026-02-12 20:27:55] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 20:27:55] [INFO]   -> Found value: RD
[2026-02-12 20:27:55] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-12 20:27:55] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 20:27:55] [INFO]   -> Found value: 1420 BEE ROCK RD
[2026-02-12 20:27:55] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1420 BEE ROCK RD"
[2026-02-12 20:27:55] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-12 20:27:55] [INFO] Concatenating street name and type
[2026-02-12 20:27:55] [INFO]   -> Combined street name: BEE ROCK RD
[2026-02-12 20:27:55] [INFO] Built locationCoordinates from lat/lng: 36.13089,-85.2858
[2026-02-12 20:27:55] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000427","dispatchRunNumber":"2026000427","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1420,"incidentLocationStateName":"TN","businessName":"BEE ROCK","nERISIncidentLatitude":36.13089000000000083900886238552629947662353515625,"nERISIncidentLongitude":-85.2857999999999947249307297170162200927734375,"alarm":"2026-02-12 14:26:15","dispatched":"2026-02-12 14:27:43","cADVehicleID":"EN21","timedispatch":"2026-02-12 14:27:43","policeReportNumber":"20260016229","dispatchNotes":"[EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]","cADLog":"[EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]","incidentLocationCity":"MONTEREY","streetName":"BEE ROCK RD","incidentAddressTextVersionStreet":"1420 BEE ROCK RD","locationCoordinates":"36.13089,-85.2858"}
[2026-02-12 20:27:55] [INFO] Number of extracted fields: 20
[2026-02-12 20:27:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-02-12 20:27:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-12 20:27:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-02-12 20:27:55] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-12 20:27:55] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-12 20:27:55] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-02-12 20:27:56] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-12 20:27:56] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-12 20:27:56] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-12 20:27:56] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-12 20:27:56] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-12 20:27:56] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-02-12 20:28:07] [INFO] Created new Dispatches record with ID: 698e37cc7c856cd8e
[2026-02-12 20:28:07] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 20:28:07] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 20:28:10] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 20:28:10] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016229_20260212_202755.XML: Failed to upload file to V2 FTP server: /PCFD_20260016229_20260212_202755.XML
[2026-02-12 20:28:10] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 20:35:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260016240_20260212_203536.XML
[2026-02-12 20:35:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260016240_20260212_203536.XML for user: 68f1466aed072ad4a
[2026-02-12 20:35:36] [INFO] File size: 6746 bytes
[2026-02-12 20:35:38] [INFO] Created FTPFiles record with ID: 698e399a0fb54a054
[2026-02-12 20:35:38] [INFO] About to extract fields from XML. File size: 6746 bytes
[2026-02-12 20:35:38] [INFO] Number of mappings: 28
[2026-02-12 20:35:38] [INFO] Starting XML parsing. Content length: 6746
[2026-02-12 20:35:38] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 20:35:38] [INFO] Processing 28 field mappings
[2026-02-12 20:35:38] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 20:35:38] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 20:35:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 20:35:38] [INFO] Found 7 elements for 'AgencyCode', concatenating 7 non-empty values
[2026-02-12 20:35:38] [INFO]   -> Found value: MFD
EMS
PCFD
RESC
PCSO
PCSO
MPD
[2026-02-12 20:35:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nPCFD\nRESC\nPCSO\nPCSO\nMPD"
[2026-02-12 20:35:38] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 20:35:38] [INFO] Found 7 elements for 'ReportNumber', using FIRST value only
[2026-02-12 20:35:38] [INFO]   -> Found value: 2026000051
[2026-02-12 20:35:38] [INFO]   -> Set field 'incidentInternalId' = "2026000051"
[2026-02-12 20:35:38] [INFO]   -> Set field 'dispatchRunNumber' = "2026000051"
[2026-02-12 20:35:38] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 20:35:38] [INFO]   -> Found value: FALL VICTIM
[2026-02-12 20:35:38] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-02-12 20:35:38] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 20:35:38] [INFO]   -> Found value: 1420
[2026-02-12 20:35:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1420
[2026-02-12 20:35:38] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 20:35:38] [INFO]   -> Found value: TN
[2026-02-12 20:35:38] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 20:35:38] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 20:35:38] [INFO]   -> Found value: BEE ROCK
[2026-02-12 20:35:38] [INFO]   -> Set field 'businessName' = "BEE ROCK"
[2026-02-12 20:35:38] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 20:35:38] [INFO]   -> Found value: 36.13089
[2026-02-12 20:35:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13089000000000083900886238552629947662353515625
[2026-02-12 20:35:38] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 20:35:38] [INFO]   -> Found value: -85.28580
[2026-02-12 20:35:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2857999999999947249307297170162200927734375
[2026-02-12 20:35:38] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 20:35:38] [INFO]   -> Found value: 2026-02-12 14:35:26
[2026-02-12 20:35:38] [INFO]   -> Set field 'alarm' = "2026-02-12 14:35:26"
[2026-02-12 20:35:38] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 20:35:38] [INFO]   -> Found value: 2026-02-12 14:35:25
[2026-02-12 20:35:38] [INFO]   -> Set field 'dispatched' = "2026-02-12 14:35:25"
[2026-02-12 20:35:38] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 20:35:38] [INFO]   -> Found value: MFEN1
[2026-02-12 20:35:38] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2026-02-12 20:35:38] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 20:35:38] [INFO]   -> Found value: 2026-02-12 14:35:25
[2026-02-12 20:35:38] [INFO]   -> Set field 'timedispatch' = "2026-02-12 14:35:25"
[2026-02-12 20:35:38] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 20:35:38] [INFO]   -> No value found (null or empty)
[2026-02-12 20:35:38] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 20:35:38] [INFO] Found 7 elements for 'CadInciNumber', using FIRST value only
[2026-02-12 20:35:38] [INFO]   -> Found value: 20260016240
[2026-02-12 20:35:38] [INFO]   -> Set field 'policeReportNumber' = "20260016240"
[2026-02-12 20:35:38] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 20:35:38] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [02/12/2026 14:35:26 KBEATY] [RESC] 7103 &amp; 559 ATTEMPING TO REA...
[2026-02-12 20:35:38] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [02\/12\/2026 14:35:26 KBEATY] [RESC] 7103 &amp; 559 ATTEMPING TO REACH THE CHILD  [02\/12\/26 14:34:31 KBEATY] [RESC] LIFE FORCE 2 CHECKING WEATHER  [02\/12\/26 14:34:27 JBOHANNON] [RESC] UDTS: READY-OP SENT  [02\/12\/26 14:33:21 MCLAYBURN2] [EMS] PINKS.RAINY.AWARDS IS THE WHAT 3 WORDS FOR MOTHERS CALL  [02\/12\/26 14:31:07 KBURTON] [RESC] CHECKING AIR MEDICAL  [02\/12\/26 14:30:29 MCLAYBURN2] [EMS] MOM IS VERY DISTRAUGHT - HARD TO OBTAIN INFORMATION FROM  [02\/12\/26 14:30:25 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/12\/26 14:30:23 BLAFEVERSMITH] [EMS] CHILD IS SPECIAL NEEDS  [02\/12\/26 14:28:12 KBURTON] [EMS] MOM CAN SEE HIM BUT HE IS NOT MOVING  [02\/12\/26 14:27:54 KBURTON] [EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]"
[2026-02-12 20:35:38] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [02\/12\/2026 14:35:26 KBEATY] [RESC] 7103 &amp; 559 ATTEMPING TO REACH THE CHILD  [02\/12\/26 14:34:31 KBEATY] [RESC] LIFE FORCE 2 CHECKING WEATHER  [02\/12\/26 14:34:27 JBOHANNON] [RESC] UDTS: READY-OP SENT  [02\/12\/26 14:33:21 MCLAYBURN2] [EMS] PINKS.RAINY.AWARDS IS THE WHAT 3 WORDS FOR MOTHERS CALL  [02\/12\/26 14:31:07 KBURTON] [RESC] CHECKING AIR MEDICAL  [02\/12\/26 14:30:29 MCLAYBURN2] [EMS] MOM IS VERY DISTRAUGHT - HARD TO OBTAIN INFORMATION FROM  [02\/12\/26 14:30:25 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/12\/26 14:30:23 BLAFEVERSMITH] [EMS] CHILD IS SPECIAL NEEDS  [02\/12\/26 14:28:12 KBURTON] [EMS] MOM CAN SEE HIM BUT HE IS NOT MOVING  [02\/12\/26 14:27:54 KBURTON] [EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]"
[2026-02-12 20:35:38] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 20:35:38] [INFO]   -> Found value: MONTEREY
[2026-02-12 20:35:38] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-02-12 20:35:38] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 20:35:38] [INFO]   -> Found value: BEE ROCK
[2026-02-12 20:35:38] [INFO]   -> Set field 'streetName' = "BEE ROCK"
[2026-02-12 20:35:38] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 20:35:38] [INFO]   -> Found value: RD
[2026-02-12 20:35:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-12 20:35:38] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 20:35:38] [INFO]   -> Found value: 1420 BEE ROCK RD
[2026-02-12 20:35:38] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1420 BEE ROCK RD"
[2026-02-12 20:35:38] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-12 20:35:38] [INFO] Concatenating street name and type
[2026-02-12 20:35:38] [INFO]   -> Combined street name: BEE ROCK RD
[2026-02-12 20:35:38] [INFO] Built locationCoordinates from lat/lng: 36.13089,-85.2858
[2026-02-12 20:35:38] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nPCFD\nRESC\nPCSO\nPCSO\nMPD","incidentInternalId":"2026000051","dispatchRunNumber":"2026000051","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1420,"incidentLocationStateName":"TN","businessName":"BEE ROCK","nERISIncidentLatitude":36.13089000000000083900886238552629947662353515625,"nERISIncidentLongitude":-85.2857999999999947249307297170162200927734375,"alarm":"2026-02-12 14:35:26","dispatched":"2026-02-12 14:35:25","cADVehicleID":"MFEN1","timedispatch":"2026-02-12 14:35:25","policeReportNumber":"20260016240","dispatchNotes":"Event spawned from FALL VICTIM.  [02\/12\/2026 14:35:26 KBEATY] [RESC] 7103 &amp; 559 ATTEMPING TO REACH THE CHILD  [02\/12\/26 14:34:31 KBEATY] [RESC] LIFE FORCE 2 CHECKING WEATHER  [02\/12\/26 14:34:27 JBOHANNON] [RESC] UDTS: READY-OP SENT  [02\/12\/26 14:33:21 MCLAYBURN2] [EMS] PINKS.RAINY.AWARDS IS THE WHAT 3 WORDS FOR MOTHERS CALL  [02\/12\/26 14:31:07 KBURTON] [RESC] CHECKING AIR MEDICAL  [02\/12\/26 14:30:29 MCLAYBURN2] [EMS] MOM IS VERY DISTRAUGHT - HARD TO OBTAIN INFORMATION FROM  [02\/12\/26 14:30:25 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/12\/26 14:30:23 BLAFEVERSMITH] [EMS] CHILD IS SPECIAL NEEDS  [02\/12\/26 14:28:12 KBURTON] [EMS] MOM CAN SEE HIM BUT HE IS NOT MOVING  [02\/12\/26 14:27:54 KBURTON] [EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]","cADLog":"Event spawned from FALL VICTIM.  [02\/12\/2026 14:35:26 KBEATY] [RESC] 7103 &amp; 559 ATTEMPING TO REACH THE CHILD  [02\/12\/26 14:34:31 KBEATY] [RESC] LIFE FORCE 2 CHECKING WEATHER  [02\/12\/26 14:34:27 JBOHANNON] [RESC] UDTS: READY-OP SENT  [02\/12\/26 14:33:21 MCLAYBURN2] [EMS] PINKS.RAINY.AWARDS IS THE WHAT 3 WORDS FOR MOTHERS CALL  [02\/12\/26 14:31:07 KBURTON] [RESC] CHECKING AIR MEDICAL  [02\/12\/26 14:30:29 MCLAYBURN2] [EMS] MOM IS VERY DISTRAUGHT - HARD TO OBTAIN INFORMATION FROM  [02\/12\/26 14:30:25 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/12\/26 14:30:23 BLAFEVERSMITH] [EMS] CHILD IS SPECIAL NEEDS  [02\/12\/26 14:28:12 KBURTON] [EMS] MOM CAN SEE HIM BUT HE IS NOT MOVING  [02\/12\/26 14:27:54 KBURTON] [EMS] BRIGHT RED SWEATER AND JEANS  [02\/12\/26 14:27:26 KBURTON] [EMS] HIM AND MOM WERE WALKING AND HE WENT TO DOVE FOR WATER BOTTLE AND FELL  [02\/12\/26 14:27:11 KBURTON] Event spawned from FALL VICTIM.  [02\/12\/2026 14:26:15 KBURTON] MY CHILD FELL AT BEE ROCK  9 YOM  HOLT REDMOND  [02\/12\/26 14:26:08 KBURTON]]","incidentLocationCity":"MONTEREY","streetName":"BEE ROCK RD","incidentAddressTextVersionStreet":"1420 BEE ROCK RD","locationCoordinates":"36.13089,-85.2858"}
[2026-02-12 20:35:38] [INFO] Number of extracted fields: 20
[2026-02-12 20:35:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
PCFD
RESC
PCSO
PCSO
MPD'
[2026-02-12 20:35:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
PCFD
RESC
PCSO
PCSO
MPD', Parsed IDs = ["MFD","EMS","PCFD","RESC","PCSO","PCSO","MPD"], Non-empty count = 7, Total agency count = 7, Assigned Agencies count = 4
[2026-02-12 20:35:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","PCFD","RESC","PCSO","PCSO","MPD"]
[2026-02-12 20:35:38] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-02-12 20:35:38] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-02-12 20:35:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCFD","RESC","PCSO","PCSO","MPD"]
[2026-02-12 20:35:38] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-02-12 20:35:38] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-02-12 20:35:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 7)
[2026-02-12 20:35:38] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-02-12 20:35:38] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-02-12 20:35:39] [INFO] Found existing IncidentTypeMapping with ID: 694458634e9b84eeb
[2026-02-12 20:35:42] [INFO] Created new Dispatches record with ID: 698e399b585d1db30
[2026-02-12 20:35:42] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 20:35:42] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 20:35:45] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 20:35:45] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260016240_20260212_203536.XML: Failed to upload file to V2 FTP server: /MFD_20260016240_20260212_203536.XML
[2026-02-12 20:35:45] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 21:17:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04501.xml
[2026-02-12 21:17:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04501.xml for user: 68d56363ec1209189
[2026-02-12 21:17:56] [INFO] File size: 1380 bytes
[2026-02-12 21:17:56] [INFO] Created FTPFiles record with ID: 698e438490b5e1aa8
[2026-02-12 21:17:56] [INFO] About to extract fields from XML. File size: 1380 bytes
[2026-02-12 21:17:56] [INFO] Number of mappings: 21
[2026-02-12 21:17:56] [INFO] Starting XML parsing. Content length: 1380
[2026-02-12 21:17:56] [INFO] XML parsed successfully. Root element: Incident
[2026-02-12 21:17:56] [INFO] Processing 21 field mappings
[2026-02-12 21:17:56] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-12 21:17:56] [INFO]   -> Found value: 26-04501
[2026-02-12 21:17:56] [INFO]   -> Set field 'dispatchRunNumber' = "26-04501"
[2026-02-12 21:17:56] [INFO]   -> Set field 'cADNumber' = "26-04501"
[2026-02-12 21:17:56] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-12 21:17:56] [INFO]   -> Found value: 1709
[2026-02-12 21:17:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1709
[2026-02-12 21:17:56] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-12 21:17:56] [INFO]   -> Found value: COUNTY HIGHWAY 401
[2026-02-12 21:17:56] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 401"
[2026-02-12 21:17:56] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-12 21:17:56] [INFO]   -> Found value: BENTON
[2026-02-12 21:17:56] [INFO]   -> Set field 'incidentLocationCity' = "BENTON"
[2026-02-12 21:17:56] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-12 21:17:56] [INFO]   -> Found value: 0
[2026-02-12 21:17:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-12 21:17:56] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-12 21:17:56] [INFO]   -> Found value: 0
[2026-02-12 21:17:56] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-12 21:17:56] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-12 21:17:56] [INFO]   -> Found value: MEDICAL
[2026-02-12 21:17:56] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-02-12 21:17:56] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-12 21:17:56] [INFO]   -> Found value: 02-12-2026 15:07:25|75 YO FEMALE FALLEN YESTERDAY ALTERED MENTAL STATUS 02-12-2026 15:17:07|NO RESPO...
[2026-02-12 21:17:56] [INFO]   -> Set field 'dispatchNotes' = "02-12-2026 15:07:25|75 YO FEMALE FALLEN YESTERDAY ALTERED MENTAL STATUS 02-12-2026 15:17:07|NO RESPONSE FROM SCOTT COUNTY RURAL"
[2026-02-12 21:17:56] [INFO]   -> Set field 'cADLog' = "02-12-2026 15:07:25|75 YO FEMALE FALLEN YESTERDAY ALTERED MENTAL STATUS 02-12-2026 15:17:07|NO RESPONSE FROM SCOTT COUNTY RURAL"
[2026-02-12 21:17:56] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-12 21:17:56] [INFO]   -> Found value: 02-12-2026T15:08:53
[2026-02-12 21:17:56] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T15:08:53
[2026-02-12 21:17:56] [INFO]   -> Set field 'alarm' = "2026-12-02 15:08:53"
[2026-02-12 21:17:56] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T15:08:53
[2026-02-12 21:17:56] [INFO]   -> Set field 'dispatched' = "2026-12-02 15:08:53"
[2026-02-12 21:17:56] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-12 21:17:56] [INFO]   -> Found value: RURAL PAGE
[2026-02-12 21:17:56] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-02-12 21:17:56] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-02-12 21:17:56] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-12 21:17:56] [INFO]   -> No value found (null or empty)
[2026-02-12 21:17:56] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-12 21:17:56] [INFO]   -> Found value: 02-12-2026T15:17:10
[2026-02-12 21:17:56] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T15:17:10
[2026-02-12 21:17:56] [INFO]   -> Set field 'timeunitclear' = "2026-12-02 15:17:10"
[2026-02-12 21:17:56] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-12 21:17:56] [INFO]   -> Found value: 02-12-2026T15:08:53
[2026-02-12 21:17:56] [INFO] Reformatted DD-MM-YYYY date '02-12-2026' (day=02, month=12) to ISO: 2026-12-02T15:08:53
[2026-02-12 21:17:56] [INFO]   -> Set field 'timedispatch' = "2026-12-02 15:08:53"
[2026-02-12 21:17:56] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-12 21:17:56] [INFO]   -> Found value: SCRFD
[2026-02-12 21:17:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-12 21:17:56] [INFO] Finished extracting fields. Total fields extracted: 17
[2026-02-12 21:17:56] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-12 21:17:56] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-04501","cADNumber":"26-04501","incidentLocationStreetNumber":1709,"streetName":"COUNTY HIGHWAY 401","incidentLocationCity":"BENTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"02-12-2026 15:07:25|75 YO FEMALE FALLEN YESTERDAY ALTERED MENTAL STATUS 02-12-2026 15:17:07|NO RESPONSE FROM SCOTT COUNTY RURAL","cADLog":"02-12-2026 15:07:25|75 YO FEMALE FALLEN YESTERDAY ALTERED MENTAL STATUS 02-12-2026 15:17:07|NO RESPONSE FROM SCOTT COUNTY RURAL","alarm":"2026-12-02 15:08:53","dispatched":"2026-12-02 15:08:53","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-12-02 15:17:10","timedispatch":"2026-12-02 15:08:53","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-02-12 21:17:56] [INFO] Number of extracted fields: 18
[2026-02-12 21:17:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-12 21:17:56] [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-12 21:17:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-12 21:17:56] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-12 21:17:56] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-12 21:17:57] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-12 21:17:57] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-12 21:17:57] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-12 21:17:57] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-02-12 21:17:57] [INFO] Found existing Dispatch with cADNumber '26-04501', ID: 698e4169519fd07c3 - will update instead of create
[2026-02-12 21:17:57] [INFO] Updated existing Dispatches record with ID: 698e4169519fd07c3
[2026-02-12 21:17:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04501.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-12/SCRFD_26-04501.xml
[2026-02-12 21:17:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-04501.xml
[2026-02-12 23:20:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016333_20260212_232016.XML
[2026-02-12 23:20:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016333_20260212_232016.XML for user: 68f1466aed072ad4a
[2026-02-12 23:20:16] [INFO] File size: 5206 bytes
[2026-02-12 23:20:16] [INFO] Created FTPFiles record with ID: 698e60307bc57cd9e
[2026-02-12 23:20:16] [INFO] About to extract fields from XML. File size: 5206 bytes
[2026-02-12 23:20:16] [INFO] Number of mappings: 28
[2026-02-12 23:20:16] [INFO] Starting XML parsing. Content length: 5206
[2026-02-12 23:20:16] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 23:20:16] [INFO] Processing 28 field mappings
[2026-02-12 23:20:16] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 23:20:16] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 23:20:16] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-12 23:20:16] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-12 23:20:16] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-02-12 23:20:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-02-12 23:20:16] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 23:20:16] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-12 23:20:16] [INFO]   -> Found value: 2026000428
[2026-02-12 23:20:16] [INFO]   -> Set field 'incidentInternalId' = "2026000428"
[2026-02-12 23:20:16] [INFO]   -> Set field 'dispatchRunNumber' = "2026000428"
[2026-02-12 23:20:16] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 23:20:16] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-02-12 23:20:16] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-02-12 23:20:16] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 23:20:16] [INFO]   -> Found value: 9380
[2026-02-12 23:20:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9380
[2026-02-12 23:20:16] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 23:20:16] [INFO]   -> Found value: TN
[2026-02-12 23:20:16] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 23:20:16] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 23:20:16] [INFO]   -> Found value: 38574
[2026-02-12 23:20:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-02-12 23:20:16] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 23:20:16] [INFO]   -> Found value: 36.13000
[2026-02-12 23:20:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13000000000000255795384873636066913604736328125
[2026-02-12 23:20:16] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 23:20:16] [INFO]   -> Found value: -85.34146
[2026-02-12 23:20:16] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3414599999999978763298713602125644683837890625
[2026-02-12 23:20:16] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 23:20:16] [INFO]   -> Found value: 2026-02-12 17:19:45
[2026-02-12 23:20:16] [INFO]   -> Set field 'alarm' = "2026-02-12 17:19:45"
[2026-02-12 23:20:16] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 23:20:16] [INFO]   -> Found value: 2026-02-12 17:20:08
[2026-02-12 23:20:16] [INFO]   -> Set field 'dispatched' = "2026-02-12 17:20:08"
[2026-02-12 23:20:16] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 23:20:16] [INFO]   -> Found value: SAND SPRINGS CHURCH RD/JOE JACKSON RD
[2026-02-12 23:20:16] [INFO]   -> Set field 'incidentLocationCross' = "SAND SPRINGS CHURCH RD\/JOE JACKSON RD"
[2026-02-12 23:20:16] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 23:20:16] [INFO]   -> Found value: PCFR
[2026-02-12 23:20:16] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-12 23:20:16] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 23:20:16] [INFO]   -> Found value: 2026-02-12 17:20:08
[2026-02-12 23:20:16] [INFO]   -> Set field 'timedispatch' = "2026-02-12 17:20:08"
[2026-02-12 23:20:16] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 23:20:16] [INFO]   -> No value found (null or empty)
[2026-02-12 23:20:16] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 23:20:16] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-12 23:20:16] [INFO]   -> Found value: 20260016333
[2026-02-12 23:20:16] [INFO]   -> Set field 'policeReportNumber' = "20260016333"
[2026-02-12 23:20:16] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 23:20:16] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [02/12/2026 17:19:45 KBURTON] SEMI RESPONSIVER  128 BLOOD GL...
[2026-02-12 23:20:16] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [02\/12\/2026 17:19:45 KBURTON] SEMI RESPONSIVER  128 BLOOD GLUCOSE  PALE AND SWEATY  KENNY PERICE  WAS GIVING HIM A PEDICURE  SLURRED SPEACH  [02\/12\/26 17:19:23 KBURTON]"
[2026-02-12 23:20:16] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [02\/12\/2026 17:19:45 KBURTON] SEMI RESPONSIVER  128 BLOOD GLUCOSE  PALE AND SWEATY  KENNY PERICE  WAS GIVING HIM A PEDICURE  SLURRED SPEACH  [02\/12\/26 17:19:23 KBURTON]"
[2026-02-12 23:20:16] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 23:20:16] [INFO]   -> Found value: MONTEREY
[2026-02-12 23:20:16] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-02-12 23:20:16] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 23:20:16] [INFO]   -> Found value: MONTEREY
[2026-02-12 23:20:16] [INFO]   -> Set field 'streetName' = "MONTEREY"
[2026-02-12 23:20:16] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 23:20:16] [INFO]   -> Found value: HWY
[2026-02-12 23:20:16] [INFO]   -> Set field 'streetType' = "HWY"
[2026-02-12 23:20:16] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 23:20:16] [INFO]   -> Found value: 9380 MONTEREY HWY
[2026-02-12 23:20:16] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "9380 MONTEREY HWY"
[2026-02-12 23:20:16] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-12 23:20:16] [INFO] Concatenating street name and type
[2026-02-12 23:20:16] [INFO]   -> Combined street name: MONTEREY HWY
[2026-02-12 23:20:16] [INFO] Built locationCoordinates from lat/lng: 36.13,-85.34146
[2026-02-12 23:20:16] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000428","dispatchRunNumber":"2026000428","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":9380,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.13000000000000255795384873636066913604736328125,"nERISIncidentLongitude":-85.3414599999999978763298713602125644683837890625,"alarm":"2026-02-12 17:19:45","dispatched":"2026-02-12 17:20:08","incidentLocationCross":"SAND SPRINGS CHURCH RD\/JOE JACKSON RD","cADVehicleID":"PCFR","timedispatch":"2026-02-12 17:20:08","policeReportNumber":"20260016333","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [02\/12\/2026 17:19:45 KBURTON] SEMI RESPONSIVER  128 BLOOD GLUCOSE  PALE AND SWEATY  KENNY PERICE  WAS GIVING HIM A PEDICURE  SLURRED SPEACH  [02\/12\/26 17:19:23 KBURTON]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [02\/12\/2026 17:19:45 KBURTON] SEMI RESPONSIVER  128 BLOOD GLUCOSE  PALE AND SWEATY  KENNY PERICE  WAS GIVING HIM A PEDICURE  SLURRED SPEACH  [02\/12\/26 17:19:23 KBURTON]","incidentLocationCity":"MONTEREY","streetName":"MONTEREY HWY","incidentAddressTextVersionStreet":"9380 MONTEREY HWY","locationCoordinates":"36.13,-85.34146"}
[2026-02-12 23:20:16] [INFO] Number of extracted fields: 21
[2026-02-12 23:20:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-02-12 23:20:16] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-12 23:20:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-02-12 23:20:16] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-12 23:20:16] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-12 23:20:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-02-12 23:20:16] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-12 23:20:16] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-12 23:20:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-12 23:20:16] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-12 23:20:16] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-12 23:20:17] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-02-12 23:20:26] [INFO] Created new Dispatches record with ID: 698e60314ee878da0
[2026-02-12 23:20:26] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 23:20:26] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 23:20:30] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 23:20:30] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016333_20260212_232016.XML: Failed to upload file to V2 FTP server: /PCFD_20260016333_20260212_232016.XML
[2026-02-12 23:20:30] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-12 23:53:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016340_20260212_235336.XML
[2026-02-12 23:53:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016340_20260212_235336.XML for user: 68f1466aed072ad4a
[2026-02-12 23:53:36] [INFO] File size: 4724 bytes
[2026-02-12 23:53:37] [INFO] Created FTPFiles record with ID: 698e68011d4945357
[2026-02-12 23:53:37] [INFO] About to extract fields from XML. File size: 4724 bytes
[2026-02-12 23:53:37] [INFO] Number of mappings: 28
[2026-02-12 23:53:37] [INFO] Starting XML parsing. Content length: 4724
[2026-02-12 23:53:37] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-12 23:53:37] [INFO] Processing 28 field mappings
[2026-02-12 23:53:37] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-12 23:53:37] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-12 23:53:37] [INFO]   -> Found value: PCFD
[2026-02-12 23:53:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-02-12 23:53:37] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026000429
[2026-02-12 23:53:37] [INFO]   -> Set field 'incidentInternalId' = "2026000429"
[2026-02-12 23:53:37] [INFO]   -> Set field 'dispatchRunNumber' = "2026000429"
[2026-02-12 23:53:37] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-12 23:53:37] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-02-12 23:53:37] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-02-12 23:53:37] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2269
[2026-02-12 23:53:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2269
[2026-02-12 23:53:37] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-12 23:53:37] [INFO]   -> Found value: TN
[2026-02-12 23:53:37] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-12 23:53:37] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-12 23:53:37] [INFO]   -> Found value: 38501
[2026-02-12 23:53:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-02-12 23:53:37] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-12 23:53:37] [INFO]   -> No value found (null or empty)
[2026-02-12 23:53:37] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-12 23:53:37] [INFO]   -> No value found (null or empty)
[2026-02-12 23:53:37] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-12 23:53:37] [INFO]   -> Found value: 36.19907
[2026-02-12 23:53:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19906999999999896999725024215877056121826171875
[2026-02-12 23:53:37] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-12 23:53:37] [INFO]   -> Found value: -85.58389
[2026-02-12 23:53:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5838899999999966894392855465412139892578125
[2026-02-12 23:53:37] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026-02-12 17:53:06
[2026-02-12 23:53:37] [INFO]   -> Set field 'alarm' = "2026-02-12 17:53:06"
[2026-02-12 23:53:37] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026-02-12 17:53:24
[2026-02-12 23:53:37] [INFO]   -> Set field 'dispatched' = "2026-02-12 17:53:24"
[2026-02-12 23:53:37] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026-02-12 17:53:24
[2026-02-12 23:53:37] [INFO]   -> Set field 'enroute' = "2026-02-12 17:53:24"
[2026-02-12 23:53:37] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026-02-12 17:53:24
[2026-02-12 23:53:37] [INFO]   -> Set field 'onScene' = "2026-02-12 17:53:24"
[2026-02-12 23:53:37] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-12 23:53:37] [INFO]   -> No value found (null or empty)
[2026-02-12 23:53:37] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-12 23:53:37] [INFO]   -> Found value: LEVI CIR/JAKE LN
[2026-02-12 23:53:37] [INFO]   -> Set field 'incidentLocationCross' = "LEVI CIR\/JAKE LN"
[2026-02-12 23:53:37] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-12 23:53:37] [INFO]   -> Found value: TK31
[2026-02-12 23:53:37] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-02-12 23:53:37] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026-02-12 17:53:24
[2026-02-12 23:53:37] [INFO]   -> Set field 'timedispatch' = "2026-02-12 17:53:24"
[2026-02-12 23:53:37] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026-02-12 17:53:24
[2026-02-12 23:53:37] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-12 17:53:24"
[2026-02-12 23:53:37] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2026-02-12 17:53:24
[2026-02-12 23:53:37] [INFO]   -> Set field 'timeonscene' = "2026-02-12 17:53:24"
[2026-02-12 23:53:37] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-12 23:53:37] [INFO]   -> No value found (null or empty)
[2026-02-12 23:53:37] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-12 23:53:37] [INFO]   -> No value found (null or empty)
[2026-02-12 23:53:37] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-12 23:53:37] [INFO]   -> Found value: 20260016340
[2026-02-12 23:53:37] [INFO]   -> Set field 'policeReportNumber' = "20260016340"
[2026-02-12 23:53:37] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-12 23:53:37] [INFO]   -> No value found (null or empty)
[2026-02-12 23:53:37] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-12 23:53:37] [INFO]   -> Found value: COOKEVILLE
[2026-02-12 23:53:37] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-12 23:53:37] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-12 23:53:37] [INFO]   -> Found value: PLUNK WHITSON
[2026-02-12 23:53:37] [INFO]   -> Set field 'streetName' = "PLUNK WHITSON"
[2026-02-12 23:53:37] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-12 23:53:37] [INFO]   -> Found value: RD
[2026-02-12 23:53:37] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-12 23:53:37] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-12 23:53:37] [INFO]   -> Found value: 2269 PLUNK WHITSON RD
[2026-02-12 23:53:37] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2269 PLUNK WHITSON RD"
[2026-02-12 23:53:37] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-02-12 23:53:37] [INFO] Concatenating street name and type
[2026-02-12 23:53:37] [INFO]   -> Combined street name: PLUNK WHITSON RD
[2026-02-12 23:53:37] [INFO] Built locationCoordinates from lat/lng: 36.19907,-85.58389
[2026-02-12 23:53:37] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000429","dispatchRunNumber":"2026000429","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":2269,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.19906999999999896999725024215877056121826171875,"nERISIncidentLongitude":-85.5838899999999966894392855465412139892578125,"alarm":"2026-02-12 17:53:06","dispatched":"2026-02-12 17:53:24","enroute":"2026-02-12 17:53:24","onScene":"2026-02-12 17:53:24","incidentLocationCross":"LEVI CIR\/JAKE LN","cADVehicleID":"TK31","timedispatch":"2026-02-12 17:53:24","timeenroutetoscene":"2026-02-12 17:53:24","timeonscene":"2026-02-12 17:53:24","policeReportNumber":"20260016340","incidentLocationCity":"COOKEVILLE","streetName":"PLUNK WHITSON RD","incidentAddressTextVersionStreet":"2269 PLUNK WHITSON RD","locationCoordinates":"36.19907,-85.58389"}
[2026-02-12 23:53:37] [INFO] Number of extracted fields: 23
[2026-02-12 23:53:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-02-12 23:53:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-12 23:53:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-02-12 23:53:37] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-12 23:53:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-12 23:53:37] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-12 23:53:37] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-12 23:53:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-12 23:53:37] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-02-12 23:53:47] [INFO] Created new Dispatches record with ID: 698e6801d7f795851
[2026-02-12 23:53:47] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-12 23:53:48] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-12 23:53:51] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-12 23:53:51] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260016340_20260212_235336.XML: Failed to upload file to V2 FTP server: /PCFD_20260016340_20260212_235336.XML
[2026-02-12 23:53:51] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
