[2026-01-11 00:49:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003562_20260111_004958.XML
[2026-01-11 00:49:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003562_20260111_004958.XML for user: 68f1466aed072ad4a
[2026-01-11 00:49:58] [INFO] File size: 5464 bytes
[2026-01-11 00:49:59] [INFO] Created FTPFiles record with ID: 6962f3b73eeaad713
[2026-01-11 00:49:59] [INFO] About to extract fields from XML. File size: 5464 bytes
[2026-01-11 00:49:59] [INFO] Number of mappings: 28
[2026-01-11 00:49:59] [INFO] Starting XML parsing. Content length: 5464
[2026-01-11 00:49:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 00:49:59] [INFO] Processing 28 field mappings
[2026-01-11 00:49:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 00:49:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 00:49:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 00:49:59] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-11 00:49:59] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-11 00:49:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-11 00:49:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 00:49:59] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-11 00:49:59] [INFO]   -> Found value: 2026000081
[2026-01-11 00:49:59] [INFO]   -> Set field 'incidentInternalId' = "2026000081"
[2026-01-11 00:49:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000081"
[2026-01-11 00:49:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 00:49:59] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-01-11 00:49:59] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-01-11 00:49:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 00:49:59] [INFO]   -> Found value: 1133
[2026-01-11 00:49:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1133
[2026-01-11 00:49:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 00:49:59] [INFO]   -> Found value: TN
[2026-01-11 00:49:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 00:49:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 00:49:59] [INFO]   -> Found value: 38544
[2026-01-11 00:49:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-11 00:49:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 00:49:59] [INFO]   -> Found value: 36.18843
[2026-01-11 00:49:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1884299999999967667463351972401142120361328125
[2026-01-11 00:49:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 00:49:59] [INFO]   -> Found value: -85.62617
[2026-01-11 00:49:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.62617000000000189174897968769073486328125
[2026-01-11 00:49:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 00:49:59] [INFO]   -> Found value: 2026-01-10 18:48:53
[2026-01-11 00:49:59] [INFO]   -> Set field 'alarm' = "2026-01-10 18:48:53"
[2026-01-11 00:49:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 00:49:59] [INFO]   -> Found value: 2026-01-10 18:49:49
[2026-01-11 00:49:59] [INFO]   -> Set field 'dispatched' = "2026-01-10 18:49:49"
[2026-01-11 00:49:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 00:49:59] [INFO]   -> Found value: BROWN RIDGE RD/SULFUR RIDGE RD
[2026-01-11 00:49:59] [INFO]   -> Set field 'incidentLocationCross' = "BROWN RIDGE RD\/SULFUR RIDGE RD"
[2026-01-11 00:49:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 00:49:59] [INFO]   -> Found value: PCFR
[2026-01-11 00:49:59] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 00:49:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 00:49:59] [INFO]   -> Found value: 2026-01-10 18:49:49
[2026-01-11 00:49:59] [INFO]   -> Set field 'timedispatch' = "2026-01-10 18:49:49"
[2026-01-11 00:49:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 00:49:59] [INFO]   -> No value found (null or empty)
[2026-01-11 00:49:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 00:49:59] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 00:49:59] [INFO]   -> Found value: 20260003562
[2026-01-11 00:49:59] [INFO]   -> Set field 'policeReportNumber' = "20260003562"
[2026-01-11 00:49:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 00:49:59] [INFO]   -> Found value: [LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01/10/26 18:49:40 BAHARRIS] [EMS] FAINTED  [01/...
[2026-01-11 00:49:59] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 18:49:40 BAHARRIS] [EMS] FAINTED  [01\/10\/26 18:49:05 DSTEPHENS] Event spawned from DIABETIC PROBLEM.  [01\/10\/2026 18:48:53 DSTEPHENS]"
[2026-01-11 00:49:59] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 18:49:40 BAHARRIS] [EMS] FAINTED  [01\/10\/26 18:49:05 DSTEPHENS] Event spawned from DIABETIC PROBLEM.  [01\/10\/2026 18:48:53 DSTEPHENS]"
[2026-01-11 00:49:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 00:49:59] [INFO]   -> Found value: BAXTER
[2026-01-11 00:49:59] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-11 00:49:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 00:49:59] [INFO]   -> Found value: HULON FERRELL
[2026-01-11 00:49:59] [INFO]   -> Set field 'streetName' = "HULON FERRELL"
[2026-01-11 00:49:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 00:49:59] [INFO]   -> Found value: RD
[2026-01-11 00:49:59] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-11 00:49:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 00:49:59] [INFO]   -> Found value: 1133 HULON FERRELL RD
[2026-01-11 00:49:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1133 HULON FERRELL RD"
[2026-01-11 00:49:59] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-11 00:49:59] [INFO] Concatenating street name and type
[2026-01-11 00:49:59] [INFO]   -> Combined street name: HULON FERRELL RD
[2026-01-11 00:49:59] [INFO] Built locationCoordinates from lat/lng: 36.18843,-85.62617
[2026-01-11 00:49:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000081","dispatchRunNumber":"2026000081","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":1133,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.1884299999999967667463351972401142120361328125,"nERISIncidentLongitude":-85.62617000000000189174897968769073486328125,"alarm":"2026-01-10 18:48:53","dispatched":"2026-01-10 18:49:49","incidentLocationCross":"BROWN RIDGE RD\/SULFUR RIDGE RD","cADVehicleID":"PCFR","timedispatch":"2026-01-10 18:49:49","policeReportNumber":"20260003562","dispatchNotes":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 18:49:40 BAHARRIS] [EMS] FAINTED  [01\/10\/26 18:49:05 DSTEPHENS] Event spawned from DIABETIC PROBLEM.  [01\/10\/2026 18:48:53 DSTEPHENS]","cADLog":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 18:49:40 BAHARRIS] [EMS] FAINTED  [01\/10\/26 18:49:05 DSTEPHENS] Event spawned from DIABETIC PROBLEM.  [01\/10\/2026 18:48:53 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"HULON FERRELL RD","incidentAddressTextVersionStreet":"1133 HULON FERRELL RD","locationCoordinates":"36.18843,-85.62617"}
[2026-01-11 00:49:59] [INFO] Number of extracted fields: 21
[2026-01-11 00:49:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-11 00:49:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-11 00:49:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-11 00:49:59] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 00:49:59] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 00:49:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-11 00:49:59] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 00:49:59] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 00:49:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-11 00:49:59] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 00:49:59] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 00:49:59] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-01-11 00:50:07] [INFO] Created new Dispatches record with ID: 6962f3b7f1d6334e6
[2026-01-11 00:50:07] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003562_20260111_004958.XML
[2026-01-11 00:50:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003562_20260111_004958.XML
[2026-01-11 04:12:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01005.xml
[2026-01-11 04:12:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01005.xml for user: 68d56363ec1209189
[2026-01-11 04:12:21] [INFO] File size: 1573 bytes
[2026-01-11 04:12:21] [INFO] Created FTPFiles record with ID: 696323258b127cbe6
[2026-01-11 04:12:21] [INFO] About to extract fields from XML. File size: 1573 bytes
[2026-01-11 04:12:21] [INFO] Number of mappings: 21
[2026-01-11 04:12:21] [INFO] Starting XML parsing. Content length: 1573
[2026-01-11 04:12:21] [INFO] XML parsed successfully. Root element: Incident
[2026-01-11 04:12:21] [INFO] Processing 21 field mappings
[2026-01-11 04:12:21] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-11 04:12:21] [INFO]   -> Found value: 26-01005
[2026-01-11 04:12:21] [INFO]   -> Set field 'dispatchRunNumber' = "26-01005"
[2026-01-11 04:12:21] [INFO]   -> Set field 'cADNumber' = "26-01005"
[2026-01-11 04:12:21] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-11 04:12:21] [INFO]   -> Found value: 806
[2026-01-11 04:12:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 806
[2026-01-11 04:12:21] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-11 04:12:21] [INFO]   -> Found value: COUNTY HIGHWAY 514
[2026-01-11 04:12:21] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 514"
[2026-01-11 04:12:21] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-11 04:12:21] [INFO]   -> No value found (null or empty)
[2026-01-11 04:12:21] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-11 04:12:21] [INFO]   -> Found value: SIKESTON
[2026-01-11 04:12:21] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-11 04:12:21] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-11 04:12:21] [INFO]   -> No value found (null or empty)
[2026-01-11 04:12:21] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-11 04:12:21] [INFO]   -> No value found (null or empty)
[2026-01-11 04:12:21] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-11 04:12:21] [INFO]   -> No value found (null or empty)
[2026-01-11 04:12:21] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-11 04:12:21] [INFO]   -> Found value: 0
[2026-01-11 04:12:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-11 04:12:21] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-11 04:12:21] [INFO]   -> Found value: 0
[2026-01-11 04:12:21] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-11 04:12:21] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-11 04:12:21] [INFO]   -> Found value: RESPIRATORY DISTRESS
[2026-01-11 04:12:21] [INFO]   -> Set field 'incidentTypeValue1' = "RESPIRATORY DISTRESS"
[2026-01-11 04:12:21] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-11 04:12:21] [INFO]   -> Found value: 01-10-2026 21:01:59|

72 YEAR OLD MALE HAVING TROUBLE BREATHING
PULL AROUND TO THE BACK OF THE HOUSE...
[2026-01-11 04:12:21] [INFO]   -> Set field 'dispatchNotes' = "01-10-2026 21:01:59|\n\n72 YEAR OLD MALE HAVING TROUBLE BREATHING\nPULL AROUND TO THE BACK OF THE HOUSE FOR ENTRANCE 01-10-2026 21:06:01|*Transferred from Event # 26-01006: Call Received on 01\/10\/2026 @ 21:01\n\nCARD CREATED AFTER OPERATOR MADE ONE"
[2026-01-11 04:12:21] [INFO]   -> Set field 'cADLog' = "01-10-2026 21:01:59|\n\n72 YEAR OLD MALE HAVING TROUBLE BREATHING\nPULL AROUND TO THE BACK OF THE HOUSE FOR ENTRANCE 01-10-2026 21:06:01|*Transferred from Event # 26-01006: Call Received on 01\/10\/2026 @ 21:01\n\nCARD CREATED AFTER OPERATOR MADE ONE"
[2026-01-11 04:12:21] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-11 04:12:21] [INFO]   -> Found value: 01-10-2026T21:05:42
[2026-01-11 04:12:21] [INFO] Reformatted DD-MM-YYYY date '01-10-2026' (day=01, month=10) to ISO: 2026-10-01T21:05:42
[2026-01-11 04:12:21] [INFO]   -> Set field 'alarm' = "2026-10-01 21:05:42"
[2026-01-11 04:12:21] [INFO] Reformatted DD-MM-YYYY date '01-10-2026' (day=01, month=10) to ISO: 2026-10-01T21:05:42
[2026-01-11 04:12:21] [INFO]   -> Set field 'dispatched' = "2026-10-01 21:05:42"
[2026-01-11 04:12:21] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-11 04:12:21] [INFO]   -> Found value: 01-10-2026T21:56:36
[2026-01-11 04:12:21] [INFO] Reformatted DD-MM-YYYY date '01-10-2026' (day=01, month=10) to ISO: 2026-10-01T21:56:36
[2026-01-11 04:12:21] [INFO]   -> Set field 'onScene' = "2026-10-01 21:56:36"
[2026-01-11 04:12:21] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-11 04:12:21] [INFO]   -> Found value: 01-10-2026T22:11:29
[2026-01-11 04:12:21] [INFO] Reformatted DD-MM-YYYY date '01-10-2026' (day=01, month=10) to ISO: 2026-10-01T22:11:29
[2026-01-11 04:12:21] [INFO]   -> Set field 'cleared' = "2026-10-01 22:11:29"
[2026-01-11 04:12:21] [INFO] Reformatted DD-MM-YYYY date '01-10-2026' (day=01, month=10) to ISO: 2026-10-01T22:11:29
[2026-01-11 04:12:21] [INFO]   -> Set field 'inService' = "2026-10-01 22:11:29"
[2026-01-11 04:12:21] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-11 04:12:21] [INFO]   -> Found value: RURAL PAGE
[2026-01-11 04:12:21] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-01-11 04:12:21] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-01-11 04:12:21] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-11 04:12:21] [INFO]   -> No value found (null or empty)
[2026-01-11 04:12:21] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-11 04:12:21] [INFO]   -> No value found (null or empty)
[2026-01-11 04:12:21] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-11 04:12:21] [INFO]   -> Found value: 01-10-2026T22:11:29
[2026-01-11 04:12:21] [INFO] Reformatted DD-MM-YYYY date '01-10-2026' (day=01, month=10) to ISO: 2026-10-01T22:11:29
[2026-01-11 04:12:21] [INFO]   -> Set field 'timeunitclear' = "2026-10-01 22:11:29"
[2026-01-11 04:12:21] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-11 04:12:21] [INFO]   -> Found value: 01-10-2026T21:05:46
[2026-01-11 04:12:21] [INFO] Reformatted DD-MM-YYYY date '01-10-2026' (day=01, month=10) to ISO: 2026-10-01T21:05:46
[2026-01-11 04:12:21] [INFO]   -> Set field 'timedispatch' = "2026-10-01 21:05:46"
[2026-01-11 04:12:21] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-11 04:12:21] [INFO]   -> Found value: SCRFD
[2026-01-11 04:12:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-11 04:12:21] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-11 04:12:21] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-11 04:12:21] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01005","cADNumber":"26-01005","incidentLocationStreetNumber":806,"streetName":"COUNTY HIGHWAY 514","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"RESPIRATORY DISTRESS","dispatchNotes":"01-10-2026 21:01:59|\n\n72 YEAR OLD MALE HAVING TROUBLE BREATHING\nPULL AROUND TO THE BACK OF THE HOUSE FOR ENTRANCE 01-10-2026 21:06:01|*Transferred from Event # 26-01006: Call Received on 01\/10\/2026 @ 21:01\n\nCARD CREATED AFTER OPERATOR MADE ONE","cADLog":"01-10-2026 21:01:59|\n\n72 YEAR OLD MALE HAVING TROUBLE BREATHING\nPULL AROUND TO THE BACK OF THE HOUSE FOR ENTRANCE 01-10-2026 21:06:01|*Transferred from Event # 26-01006: Call Received on 01\/10\/2026 @ 21:01\n\nCARD CREATED AFTER OPERATOR MADE ONE","alarm":"2026-10-01 21:05:42","dispatched":"2026-10-01 21:05:42","onScene":"2026-10-01 21:56:36","cleared":"2026-10-01 22:11:29","inService":"2026-10-01 22:11:29","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-10-01 22:11:29","timedispatch":"2026-10-01 21:05:46","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-11 04:12:21] [INFO] Number of extracted fields: 21
[2026-01-11 04:12:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-11 04:12:21] [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-01-11 04:12:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-11 04:12:21] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-11 04:12:21] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-11 04:12:21] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-11 04:12:21] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-11 04:12:22] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-11 04:12:22] [INFO] Found existing IncidentTypeMapping with ID: 694459012cb7ddd64
[2026-01-11 04:12:23] [INFO] Found existing Dispatch with cADNumber '26-01005', ID: 696313b6ece44cb72 - will update instead of create
[2026-01-11 04:12:23] [INFO] Updated existing Dispatches record with ID: 696313b6ece44cb72
[2026-01-11 04:12:23] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01005.xml
[2026-01-11 04:12:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01005.xml
[2026-01-11 05:01:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003643_20260111_050133.XML
[2026-01-11 05:01:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003643_20260111_050133.XML for user: 68f1466aed072ad4a
[2026-01-11 05:01:33] [INFO] File size: 5922 bytes
[2026-01-11 05:01:33] [INFO] Created FTPFiles record with ID: 69632eadd330cc1b0
[2026-01-11 05:01:33] [INFO] About to extract fields from XML. File size: 5922 bytes
[2026-01-11 05:01:33] [INFO] Number of mappings: 28
[2026-01-11 05:01:33] [INFO] Starting XML parsing. Content length: 5922
[2026-01-11 05:01:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 05:01:33] [INFO] Processing 28 field mappings
[2026-01-11 05:01:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 05:01:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 05:01:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 05:01:33] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-01-11 05:01:33] [INFO]   -> Found value: MFD
EMS
MPD
PCFD
RESC
[2026-01-11 05:01:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD\nPCFD\nRESC"
[2026-01-11 05:01:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 05:01:33] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-01-11 05:01:33] [INFO]   -> Found value: 2026000011
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentInternalId' = "2026000011"
[2026-01-11 05:01:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000011"
[2026-01-11 05:01:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 05:01:33] [INFO]   -> Found value: CHEST PAIN
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-11 05:01:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 05:01:33] [INFO]   -> Found value: 1020
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-11 05:01:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 05:01:33] [INFO]   -> Found value: TN
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 05:01:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 05:01:33] [INFO]   -> Found value: 38574
[2026-01-11 05:01:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-11 05:01:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 05:01:33] [INFO]   -> Found value: 21
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentLocationApt' = 21
[2026-01-11 05:01:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 05:01:33] [INFO]   -> Found value: 36.15573
[2026-01-11 05:01:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15572999999999836973074707202613353729248046875
[2026-01-11 05:01:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 05:01:33] [INFO]   -> Found value: -85.25639
[2026-01-11 05:01:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2563899999999961210050969384610652923583984375
[2026-01-11 05:01:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 05:01:33] [INFO]   -> Found value: 2026-01-10 23:00:22
[2026-01-11 05:01:33] [INFO]   -> Set field 'alarm' = "2026-01-10 23:00:22"
[2026-01-11 05:01:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 05:01:33] [INFO]   -> Found value: 2026-01-10 23:01:26
[2026-01-11 05:01:33] [INFO]   -> Set field 'dispatched' = "2026-01-10 23:01:26"
[2026-01-11 05:01:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 05:01:33] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-11 05:01:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 05:01:33] [INFO]   -> Found value: MFR
[2026-01-11 05:01:33] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-11 05:01:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 05:01:33] [INFO]   -> Found value: 2026-01-10 23:01:26
[2026-01-11 05:01:33] [INFO]   -> Set field 'timedispatch' = "2026-01-10 23:01:26"
[2026-01-11 05:01:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 05:01:33] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 05:01:33] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 05:01:33] [INFO]   -> Found value: 20260003643
[2026-01-11 05:01:33] [INFO]   -> Set field 'policeReportNumber' = "20260003643"
[2026-01-11 05:01:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 05:01:33] [INFO]   -> Found value: Event spawned for PCFD Event ID:20260003645  CallRef:648  [01/10/26 23:00:58 TSCOTT] [LAW] UDTS: LAW...
[2026-01-11 05:01:33] [INFO]   -> Set field 'dispatchNotes' = "Event spawned for PCFD Event ID:20260003645  CallRef:648  [01\/10\/26 23:00:58 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]"
[2026-01-11 05:01:33] [INFO]   -> Set field 'cADLog' = "Event spawned for PCFD Event ID:20260003645  CallRef:648  [01\/10\/26 23:00:58 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]"
[2026-01-11 05:01:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 05:01:33] [INFO]   -> Found value: MONTEREY
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-11 05:01:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 05:01:33] [INFO]   -> Found value: CHESTNUT
[2026-01-11 05:01:33] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-11 05:01:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 05:01:33] [INFO]   -> Found value: ST
[2026-01-11 05:01:33] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-11 05:01:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 05:01:33] [INFO]   -> Found value: 1020-21 N CHESTNUT ST
[2026-01-11 05:01:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-21 N CHESTNUT ST"
[2026-01-11 05:01:33] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 05:01:33] [INFO] Concatenating street name and type
[2026-01-11 05:01:33] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-11 05:01:33] [INFO] Built locationCoordinates from lat/lng: 36.15573,-85.25639
[2026-01-11 05:01:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD\nPCFD\nRESC","incidentInternalId":"2026000011","dispatchRunNumber":"2026000011","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":21,"nERISIncidentLatitude":36.15572999999999836973074707202613353729248046875,"nERISIncidentLongitude":-85.2563899999999961210050969384610652923583984375,"alarm":"2026-01-10 23:00:22","dispatched":"2026-01-10 23:01:26","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"MFR","timedispatch":"2026-01-10 23:01:26","policeReportNumber":"20260003643","dispatchNotes":"Event spawned for PCFD Event ID:20260003645  CallRef:648  [01\/10\/26 23:00:58 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]","cADLog":"Event spawned for PCFD Event ID:20260003645  CallRef:648  [01\/10\/26 23:00:58 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-21 N CHESTNUT ST","locationCoordinates":"36.15573,-85.25639"}
[2026-01-11 05:01:33] [INFO] Number of extracted fields: 22
[2026-01-11 05:01:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD
PCFD
RESC'
[2026-01-11 05:01:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD
PCFD
RESC', Parsed IDs = ["MFD","EMS","MPD","PCFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-01-11 05:01:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD","PCFD","RESC"]
[2026-01-11 05:01:33] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-11 05:01:34] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-11 05:01:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","PCFD","RESC"]
[2026-01-11 05:01:34] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-11 05:01:34] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-11 05:01:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-01-11 05:01:34] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-11 05:01:34] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-11 05:01:34] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-01-11 05:01:36] [INFO] Created new Dispatches record with ID: 69632eaeb88211bf2
[2026-01-11 05:01:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003643_20260111_050133.XML
[2026-01-11 05:01:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003643_20260111_050133.XML
[2026-01-11 05:01:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003645_20260111_050134.XML
[2026-01-11 05:01:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003645_20260111_050134.XML for user: 68f1466aed072ad4a
[2026-01-11 05:01:36] [INFO] File size: 5900 bytes
[2026-01-11 05:01:36] [INFO] Created FTPFiles record with ID: 69632eb0c32f72feb
[2026-01-11 05:01:36] [INFO] About to extract fields from XML. File size: 5900 bytes
[2026-01-11 05:01:36] [INFO] Number of mappings: 28
[2026-01-11 05:01:36] [INFO] Starting XML parsing. Content length: 5900
[2026-01-11 05:01:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 05:01:36] [INFO] Processing 28 field mappings
[2026-01-11 05:01:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 05:01:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 05:01:36] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 05:01:36] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-01-11 05:01:36] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
RESC
[2026-01-11 05:01:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD\nRESC"
[2026-01-11 05:01:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 05:01:36] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-01-11 05:01:36] [INFO]   -> Found value: 2026000082
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentInternalId' = "2026000082"
[2026-01-11 05:01:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000082"
[2026-01-11 05:01:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 05:01:36] [INFO]   -> Found value: CHEST PAIN
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-11 05:01:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 05:01:36] [INFO]   -> Found value: 1020
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-11 05:01:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 05:01:36] [INFO]   -> Found value: TN
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 05:01:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 05:01:36] [INFO]   -> Found value: 38574
[2026-01-11 05:01:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-11 05:01:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 05:01:36] [INFO]   -> Found value: 21
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentLocationApt' = 21
[2026-01-11 05:01:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 05:01:36] [INFO]   -> Found value: 36.15573
[2026-01-11 05:01:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15572999999999836973074707202613353729248046875
[2026-01-11 05:01:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 05:01:36] [INFO]   -> Found value: -85.25639
[2026-01-11 05:01:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2563899999999961210050969384610652923583984375
[2026-01-11 05:01:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 05:01:36] [INFO]   -> Found value: 2026-01-10 23:00:57
[2026-01-11 05:01:36] [INFO]   -> Set field 'alarm' = "2026-01-10 23:00:57"
[2026-01-11 05:01:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 05:01:36] [INFO]   -> Found value: 2026-01-10 23:01:26
[2026-01-11 05:01:36] [INFO]   -> Set field 'dispatched' = "2026-01-10 23:01:26"
[2026-01-11 05:01:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 05:01:36] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-11 05:01:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 05:01:36] [INFO]   -> Found value: PCFR
[2026-01-11 05:01:36] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 05:01:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 05:01:36] [INFO]   -> Found value: 2026-01-10 23:01:26
[2026-01-11 05:01:36] [INFO]   -> Set field 'timedispatch' = "2026-01-10 23:01:26"
[2026-01-11 05:01:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 05:01:36] [INFO]   -> No value found (null or empty)
[2026-01-11 05:01:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 05:01:36] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 05:01:36] [INFO]   -> Found value: 20260003645
[2026-01-11 05:01:36] [INFO]   -> Set field 'policeReportNumber' = "20260003645"
[2026-01-11 05:01:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 05:01:36] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [01/10/2026 23:00:57 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  ...
[2026-01-11 05:01:36] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:57 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]"
[2026-01-11 05:01:36] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:57 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]"
[2026-01-11 05:01:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 05:01:36] [INFO]   -> Found value: MONTEREY
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-11 05:01:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 05:01:36] [INFO]   -> Found value: CHESTNUT
[2026-01-11 05:01:36] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-11 05:01:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 05:01:36] [INFO]   -> Found value: ST
[2026-01-11 05:01:36] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-11 05:01:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 05:01:36] [INFO]   -> Found value: 1020-21 N CHESTNUT ST
[2026-01-11 05:01:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-21 N CHESTNUT ST"
[2026-01-11 05:01:36] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 05:01:36] [INFO] Concatenating street name and type
[2026-01-11 05:01:36] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-11 05:01:36] [INFO] Built locationCoordinates from lat/lng: 36.15573,-85.25639
[2026-01-11 05:01:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD\nRESC","incidentInternalId":"2026000082","dispatchRunNumber":"2026000082","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":21,"nERISIncidentLatitude":36.15572999999999836973074707202613353729248046875,"nERISIncidentLongitude":-85.2563899999999961210050969384610652923583984375,"alarm":"2026-01-10 23:00:57","dispatched":"2026-01-10 23:01:26","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"PCFR","timedispatch":"2026-01-10 23:01:26","policeReportNumber":"20260003645","dispatchNotes":"Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:57 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]","cADLog":"Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:57 TSCOTT] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 23:00:29 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:00:22 TSCOTT] JOHNNY WALKER   63 YOM   LEFT ARM IS NUMB AND VERY COLD CHEST PAIN - BEEN GOING ON FOR ABOUT A WEEK  HX OF CARDIAC ISSUES  RECENTLY WENT TO THE DOCTOR AND THEY FOUND A BLOCKAGE  FRONT DOOR UNLOCKED  [01\/10\/26 23:00:18 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-21 N CHESTNUT ST","locationCoordinates":"36.15573,-85.25639"}
[2026-01-11 05:01:36] [INFO] Number of extracted fields: 22
[2026-01-11 05:01:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD
RESC'
[2026-01-11 05:01:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD
RESC', Parsed IDs = ["PCFD","EMS","MPD","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-01-11 05:01:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD","RESC"]
[2026-01-11 05:01:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 05:01:36] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 05:01:36] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD","RESC"]
[2026-01-11 05:01: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-01-11 05:01:37] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 05:01:37] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-01-11 05:01:37] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 05:01:37] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 05:01:37] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-11 05:01:45] [INFO] Created new Dispatches record with ID: 69632eb1880965004
[2026-01-11 05:01:45] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003645_20260111_050134.XML
[2026-01-11 05:01:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003645_20260111_050134.XML
[2026-01-11 05:23:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003662_20260111_052334.XML
[2026-01-11 05:23:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003662_20260111_052334.XML for user: 68f1466aed072ad4a
[2026-01-11 05:23:34] [INFO] File size: 5596 bytes
[2026-01-11 05:23:34] [INFO] Created FTPFiles record with ID: 696333d66889a171f
[2026-01-11 05:23:34] [INFO] About to extract fields from XML. File size: 5596 bytes
[2026-01-11 05:23:34] [INFO] Number of mappings: 28
[2026-01-11 05:23:34] [INFO] Starting XML parsing. Content length: 5596
[2026-01-11 05:23:34] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 05:23:34] [INFO] Processing 28 field mappings
[2026-01-11 05:23:34] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 05:23:34] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 05:23:34] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 05:23:34] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-11 05:23:34] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-11 05:23:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-11 05:23:34] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 05:23:34] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-11 05:23:34] [INFO]   -> Found value: 2026000083
[2026-01-11 05:23:34] [INFO]   -> Set field 'incidentInternalId' = "2026000083"
[2026-01-11 05:23:34] [INFO]   -> Set field 'dispatchRunNumber' = "2026000083"
[2026-01-11 05:23:34] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 05:23:34] [INFO]   -> Found value: CHEST PAIN
[2026-01-11 05:23:34] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-11 05:23:34] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 05:23:34] [INFO]   -> Found value: 3476
[2026-01-11 05:23:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3476
[2026-01-11 05:23:34] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 05:23:34] [INFO]   -> Found value: TN
[2026-01-11 05:23:34] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 05:23:34] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 05:23:34] [INFO]   -> Found value: 38506
[2026-01-11 05:23:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-11 05:23:34] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 05:23:34] [INFO]   -> Found value: 36.24484
[2026-01-11 05:23:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24484000000000349928086507134139537811279296875
[2026-01-11 05:23:34] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 05:23:34] [INFO]   -> Found value: -85.45235
[2026-01-11 05:23:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.452349999999995588950696401298046112060546875
[2026-01-11 05:23:34] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 05:23:34] [INFO]   -> Found value: 2026-01-10 23:22:58
[2026-01-11 05:23:34] [INFO]   -> Set field 'alarm' = "2026-01-10 23:22:58"
[2026-01-11 05:23:34] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 05:23:34] [INFO]   -> Found value: 2026-01-10 23:23:22
[2026-01-11 05:23:34] [INFO]   -> Set field 'dispatched' = "2026-01-10 23:23:22"
[2026-01-11 05:23:34] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 05:23:34] [INFO]   -> Found value: PARAN RD/PARAN RD
[2026-01-11 05:23:34] [INFO]   -> Set field 'incidentLocationCross' = "PARAN RD\/PARAN RD"
[2026-01-11 05:23:34] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 05:23:34] [INFO]   -> Found value: PCFR
[2026-01-11 05:23:34] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 05:23:34] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 05:23:34] [INFO]   -> Found value: 2026-01-10 23:23:22
[2026-01-11 05:23:34] [INFO]   -> Set field 'timedispatch' = "2026-01-10 23:23:22"
[2026-01-11 05:23:34] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 05:23:34] [INFO]   -> No value found (null or empty)
[2026-01-11 05:23:34] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 05:23:34] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 05:23:34] [INFO]   -> Found value: 20260003662
[2026-01-11 05:23:34] [INFO]   -> Set field 'policeReportNumber' = "20260003662"
[2026-01-11 05:23:34] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 05:23:34] [INFO]   -> Found value: [LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01/10/26 23:23:16 BAHARRIS] Event spawned from ...
[2026-01-11 05:23:34] [INFO]   -> Set field 'dispatchNotes' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 23:23:16 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:22:58 TSCOTT] 78 YOM  COMPLAINING OF A LOT OF PRESSURE IN HIS CHEST  TROUBLE BREATHING - HAS TO MAKE AN EFFORT TO TAKE DEEP BREATHS  THE LAST 3 HOURS IT HAS BEEN CONSTANT  FRONT DOOR UNLOCKED  [01\/10\/26 23:22:56 TSCOTT]]"
[2026-01-11 05:23:34] [INFO]   -> Set field 'cADLog' = "[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 23:23:16 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:22:58 TSCOTT] 78 YOM  COMPLAINING OF A LOT OF PRESSURE IN HIS CHEST  TROUBLE BREATHING - HAS TO MAKE AN EFFORT TO TAKE DEEP BREATHS  THE LAST 3 HOURS IT HAS BEEN CONSTANT  FRONT DOOR UNLOCKED  [01\/10\/26 23:22:56 TSCOTT]]"
[2026-01-11 05:23:34] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 05:23:34] [INFO]   -> Found value: COOKEVILLE
[2026-01-11 05:23:34] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-11 05:23:34] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 05:23:34] [INFO]   -> Found value: NORTHWIND
[2026-01-11 05:23:34] [INFO]   -> Set field 'streetName' = "NORTHWIND"
[2026-01-11 05:23:34] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 05:23:34] [INFO]   -> Found value: DR
[2026-01-11 05:23:34] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-11 05:23:34] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 05:23:34] [INFO]   -> Found value: 3476 NORTHWIND DR
[2026-01-11 05:23:34] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3476 NORTHWIND DR"
[2026-01-11 05:23:34] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-11 05:23:34] [INFO] Concatenating street name and type
[2026-01-11 05:23:34] [INFO]   -> Combined street name: NORTHWIND DR
[2026-01-11 05:23:34] [INFO] Built locationCoordinates from lat/lng: 36.24484,-85.45235
[2026-01-11 05:23:34] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000083","dispatchRunNumber":"2026000083","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":3476,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.24484000000000349928086507134139537811279296875,"nERISIncidentLongitude":-85.452349999999995588950696401298046112060546875,"alarm":"2026-01-10 23:22:58","dispatched":"2026-01-10 23:23:22","incidentLocationCross":"PARAN RD\/PARAN RD","cADVehicleID":"PCFR","timedispatch":"2026-01-10 23:23:22","policeReportNumber":"20260003662","dispatchNotes":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 23:23:16 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:22:58 TSCOTT] 78 YOM  COMPLAINING OF A LOT OF PRESSURE IN HIS CHEST  TROUBLE BREATHING - HAS TO MAKE AN EFFORT TO TAKE DEEP BREATHS  THE LAST 3 HOURS IT HAS BEEN CONSTANT  FRONT DOOR UNLOCKED  [01\/10\/26 23:22:56 TSCOTT]]","cADLog":"[LAW] LE NOT RESPONDING AT THIS TIME UNLESS NEEDED  [01\/10\/26 23:23:16 BAHARRIS] Event spawned from CHEST PAIN.  [01\/10\/2026 23:22:58 TSCOTT] 78 YOM  COMPLAINING OF A LOT OF PRESSURE IN HIS CHEST  TROUBLE BREATHING - HAS TO MAKE AN EFFORT TO TAKE DEEP BREATHS  THE LAST 3 HOURS IT HAS BEEN CONSTANT  FRONT DOOR UNLOCKED  [01\/10\/26 23:22:56 TSCOTT]]","incidentLocationCity":"COOKEVILLE","streetName":"NORTHWIND DR","incidentAddressTextVersionStreet":"3476 NORTHWIND DR","locationCoordinates":"36.24484,-85.45235"}
[2026-01-11 05:23:34] [INFO] Number of extracted fields: 21
[2026-01-11 05:23:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-11 05:23:34] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-11 05:23:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-11 05:23:34] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 05:23:34] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 05:23:34] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-11 05:23: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-01-11 05:23:34] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 05:23:34] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-11 05:23:34] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 05:23:34] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 05:23:34] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-11 05:23:43] [INFO] Created new Dispatches record with ID: 696333d721f21d431
[2026-01-11 05:23:43] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003662_20260111_052334.XML
[2026-01-11 05:23:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003662_20260111_052334.XML
[2026-01-11 05:32:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003666_20260111_053254.XML
[2026-01-11 05:32:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003666_20260111_053254.XML for user: 68f1466aed072ad4a
[2026-01-11 05:32:54] [INFO] File size: 5254 bytes
[2026-01-11 05:32:54] [INFO] Created FTPFiles record with ID: 696336066e91ebadd
[2026-01-11 05:32:54] [INFO] About to extract fields from XML. File size: 5254 bytes
[2026-01-11 05:32:54] [INFO] Number of mappings: 28
[2026-01-11 05:32:54] [INFO] Starting XML parsing. Content length: 5254
[2026-01-11 05:32:54] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 05:32:54] [INFO] Processing 28 field mappings
[2026-01-11 05:32:54] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 05:32:54] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 05:32:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 05:32:54] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-11 05:32:54] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-11 05:32:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-11 05:32:54] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 05:32:54] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-11 05:32:54] [INFO]   -> Found value: 2026000084
[2026-01-11 05:32:54] [INFO]   -> Set field 'incidentInternalId' = "2026000084"
[2026-01-11 05:32:54] [INFO]   -> Set field 'dispatchRunNumber' = "2026000084"
[2026-01-11 05:32:54] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 05:32:54] [INFO]   -> Found value: ABDOMINAL PAIN
[2026-01-11 05:32:54] [INFO]   -> Set field 'incidentTypeValue1' = "ABDOMINAL PAIN"
[2026-01-11 05:32:54] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 05:32:54] [INFO]   -> Found value: 323
[2026-01-11 05:32:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 323
[2026-01-11 05:32:54] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 05:32:54] [INFO]   -> Found value: TN
[2026-01-11 05:32:54] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 05:32:54] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 05:32:54] [INFO]   -> Found value: 38583
[2026-01-11 05:32:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38583
[2026-01-11 05:32:54] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 05:32:54] [INFO]   -> Found value: 36.01288
[2026-01-11 05:32:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.01288000000000266709321294911205768585205078125
[2026-01-11 05:32:54] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 05:32:54] [INFO]   -> Found value: -85.28065
[2026-01-11 05:32:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2806499999999942929207463748753070831298828125
[2026-01-11 05:32:54] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 05:32:54] [INFO]   -> Found value: 2026-01-10 23:31:49
[2026-01-11 05:32:54] [INFO]   -> Set field 'alarm' = "2026-01-10 23:31:49"
[2026-01-11 05:32:54] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 05:32:54] [INFO]   -> Found value: 2026-01-10 23:32:43
[2026-01-11 05:32:54] [INFO]   -> Set field 'dispatched' = "2026-01-10 23:32:43"
[2026-01-11 05:32:54] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 05:32:54] [INFO]   -> Found value: GLADE CREEK RD
[2026-01-11 05:32:54] [INFO]   -> Set field 'incidentLocationCross' = "GLADE CREEK RD"
[2026-01-11 05:32:54] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 05:32:54] [INFO]   -> Found value: PCFR
[2026-01-11 05:32:54] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 05:32:54] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 05:32:54] [INFO]   -> Found value: 2026-01-10 23:32:43
[2026-01-11 05:32:54] [INFO]   -> Set field 'timedispatch' = "2026-01-10 23:32:43"
[2026-01-11 05:32:54] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 05:32:54] [INFO]   -> No value found (null or empty)
[2026-01-11 05:32:54] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 05:32:54] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 05:32:54] [INFO]   -> Found value: 20260003666
[2026-01-11 05:32:54] [INFO]   -> Set field 'policeReportNumber' = "20260003666"
[2026-01-11 05:32:54] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 05:32:54] [INFO]   -> Found value: Event spawned from ABDOMINAL PAIN.  [01/10/2026 23:31:49 TSCOTT] 79 YOF SHAKING  PT IS COMPLAINING O...
[2026-01-11 05:32:54] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from ABDOMINAL PAIN.  [01\/10\/2026 23:31:49 TSCOTT] 79 YOF SHAKING  PT IS COMPLAINING OF BEING VERY COLD  PT IS HURTING ON HER RIGHT SIDE THAT IS GOING TOWARDS HER BACK  DIABETIC PT \/\/ BLOOD SUGAR 158 FRONT DOOR UNLOCKED  [01\/10\/26 23:31:23 TSCOTT]]"
[2026-01-11 05:32:54] [INFO]   -> Set field 'cADLog' = "Event spawned from ABDOMINAL PAIN.  [01\/10\/2026 23:31:49 TSCOTT] 79 YOF SHAKING  PT IS COMPLAINING OF BEING VERY COLD  PT IS HURTING ON HER RIGHT SIDE THAT IS GOING TOWARDS HER BACK  DIABETIC PT \/\/ BLOOD SUGAR 158 FRONT DOOR UNLOCKED  [01\/10\/26 23:31:23 TSCOTT]]"
[2026-01-11 05:32:54] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 05:32:54] [INFO]   -> Found value: SPARTA
[2026-01-11 05:32:54] [INFO]   -> Set field 'incidentLocationCity' = "SPARTA"
[2026-01-11 05:32:54] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 05:32:54] [INFO]   -> Found value: BELKA
[2026-01-11 05:32:54] [INFO]   -> Set field 'streetName' = "BELKA"
[2026-01-11 05:32:54] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 05:32:54] [INFO]   -> Found value: RD
[2026-01-11 05:32:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-11 05:32:54] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 05:32:54] [INFO]   -> Found value: 323 BELKA RD
[2026-01-11 05:32:54] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "323 BELKA RD"
[2026-01-11 05:32:54] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-11 05:32:54] [INFO] Concatenating street name and type
[2026-01-11 05:32:54] [INFO]   -> Combined street name: BELKA RD
[2026-01-11 05:32:54] [INFO] Built locationCoordinates from lat/lng: 36.01288,-85.28065
[2026-01-11 05:32:54] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000084","dispatchRunNumber":"2026000084","incidentTypeValue1":"ABDOMINAL PAIN","incidentLocationStreetNumber":323,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38583,"nERISIncidentLatitude":36.01288000000000266709321294911205768585205078125,"nERISIncidentLongitude":-85.2806499999999942929207463748753070831298828125,"alarm":"2026-01-10 23:31:49","dispatched":"2026-01-10 23:32:43","incidentLocationCross":"GLADE CREEK RD","cADVehicleID":"PCFR","timedispatch":"2026-01-10 23:32:43","policeReportNumber":"20260003666","dispatchNotes":"Event spawned from ABDOMINAL PAIN.  [01\/10\/2026 23:31:49 TSCOTT] 79 YOF SHAKING  PT IS COMPLAINING OF BEING VERY COLD  PT IS HURTING ON HER RIGHT SIDE THAT IS GOING TOWARDS HER BACK  DIABETIC PT \/\/ BLOOD SUGAR 158 FRONT DOOR UNLOCKED  [01\/10\/26 23:31:23 TSCOTT]]","cADLog":"Event spawned from ABDOMINAL PAIN.  [01\/10\/2026 23:31:49 TSCOTT] 79 YOF SHAKING  PT IS COMPLAINING OF BEING VERY COLD  PT IS HURTING ON HER RIGHT SIDE THAT IS GOING TOWARDS HER BACK  DIABETIC PT \/\/ BLOOD SUGAR 158 FRONT DOOR UNLOCKED  [01\/10\/26 23:31:23 TSCOTT]]","incidentLocationCity":"SPARTA","streetName":"BELKA RD","incidentAddressTextVersionStreet":"323 BELKA RD","locationCoordinates":"36.01288,-85.28065"}
[2026-01-11 05:32:54] [INFO] Number of extracted fields: 21
[2026-01-11 05:32:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-11 05:32:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-11 05:32:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-11 05:32:54] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 05:32:54] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 05:32:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-11 05:32:54] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 05:32:54] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 05:32:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-11 05:32:54] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 05:32:54] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 05:32:54] [INFO] Found existing IncidentTypeMapping with ID: 6950ee4041befee87
[2026-01-11 05:33:03] [INFO] Created new Dispatches record with ID: 6963360739a365478
[2026-01-11 05:33:03] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003666_20260111_053254.XML
[2026-01-11 05:33:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003666_20260111_053254.XML
[2026-01-11 05:53:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003671_20260111_055325.XML
[2026-01-11 05:53:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003671_20260111_055325.XML for user: 68f1466aed072ad4a
[2026-01-11 05:53:25] [INFO] File size: 5494 bytes
[2026-01-11 05:53:25] [INFO] Created FTPFiles record with ID: 69633ad5617f96060
[2026-01-11 05:53:25] [INFO] About to extract fields from XML. File size: 5494 bytes
[2026-01-11 05:53:25] [INFO] Number of mappings: 28
[2026-01-11 05:53:25] [INFO] Starting XML parsing. Content length: 5494
[2026-01-11 05:53:25] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 05:53:25] [INFO] Processing 28 field mappings
[2026-01-11 05:53:25] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 05:53:25] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 05:53:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 05:53:25] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-11 05:53:25] [INFO]   -> Found value: MFD
EMS
PCFD
RESC
[2026-01-11 05:53:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nPCFD\nRESC"
[2026-01-11 05:53:25] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 05:53:25] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-11 05:53:25] [INFO]   -> Found value: 2026000013
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentInternalId' = "2026000013"
[2026-01-11 05:53:25] [INFO]   -> Set field 'dispatchRunNumber' = "2026000013"
[2026-01-11 05:53:25] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 05:53:25] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-11 05:53:25] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 05:53:25] [INFO]   -> Found value: 1020
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-11 05:53:25] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 05:53:25] [INFO]   -> Found value: TN
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 05:53:25] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 05:53:25] [INFO]   -> Found value: 38574
[2026-01-11 05:53:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-11 05:53:25] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 05:53:25] [INFO]   -> Found value: 36
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-11 05:53:25] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 05:53:25] [INFO]   -> Found value: 36.15501
[2026-01-11 05:53:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-11 05:53:25] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 05:53:25] [INFO]   -> Found value: -85.25652
[2026-01-11 05:53:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-11 05:53:25] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 05:53:25] [INFO]   -> Found value: 2026-01-10 23:52:00
[2026-01-11 05:53:25] [INFO]   -> Set field 'alarm' = "2026-01-10 23:52:00"
[2026-01-11 05:53:25] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 05:53:25] [INFO]   -> Found value: 2026-01-10 23:53:18
[2026-01-11 05:53:25] [INFO]   -> Set field 'dispatched' = "2026-01-10 23:53:18"
[2026-01-11 05:53:25] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 05:53:25] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-11 05:53:25] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 05:53:25] [INFO]   -> Found value: MFR
[2026-01-11 05:53:25] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-11 05:53:25] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 05:53:25] [INFO]   -> Found value: 2026-01-10 23:53:18
[2026-01-11 05:53:25] [INFO]   -> Set field 'timedispatch' = "2026-01-10 23:53:18"
[2026-01-11 05:53:25] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 05:53:25] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:25] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 05:53:25] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 05:53:25] [INFO]   -> Found value: 20260003671
[2026-01-11 05:53:25] [INFO]   -> Set field 'policeReportNumber' = "20260003671"
[2026-01-11 05:53:25] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 05:53:25] [INFO]   -> Found value: [EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01/10/26 23:52:38 TSCOTT] Event spawned for PC...
[2026-01-11 05:53:25] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned for PCFD Event ID:20260003672  CallRef:675  [01\/10\/26 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]"
[2026-01-11 05:53:25] [INFO]   -> Set field 'cADLog' = "[EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned for PCFD Event ID:20260003672  CallRef:675  [01\/10\/26 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]"
[2026-01-11 05:53:25] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 05:53:25] [INFO]   -> Found value: MONTEREY
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-11 05:53:25] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 05:53:25] [INFO]   -> Found value: CHESTNUT
[2026-01-11 05:53:25] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-11 05:53:25] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 05:53:25] [INFO]   -> Found value: ST
[2026-01-11 05:53:25] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-11 05:53:25] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 05:53:25] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-11 05:53:25] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-11 05:53:25] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 05:53:25] [INFO] Concatenating street name and type
[2026-01-11 05:53:25] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-11 05:53:25] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-11 05:53:25] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nPCFD\nRESC","incidentInternalId":"2026000013","dispatchRunNumber":"2026000013","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-10 23:52:00","dispatched":"2026-01-10 23:53:18","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"MFR","timedispatch":"2026-01-10 23:53:18","policeReportNumber":"20260003671","dispatchNotes":"[EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned for PCFD Event ID:20260003672  CallRef:675  [01\/10\/26 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]","cADLog":"[EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned for PCFD Event ID:20260003672  CallRef:675  [01\/10\/26 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-11 05:53:25] [INFO] Number of extracted fields: 22
[2026-01-11 05:53:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
PCFD
RESC'
[2026-01-11 05:53:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
PCFD
RESC', Parsed IDs = ["MFD","EMS","PCFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-11 05:53:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","PCFD","RESC"]
[2026-01-11 05:53:25] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-11 05:53:25] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-11 05:53:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCFD","RESC"]
[2026-01-11 05:53:25] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-11 05:53:25] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-11 05:53:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-11 05:53:25] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-11 05:53:25] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-11 05:53:26] [INFO] Found existing IncidentTypeMapping with ID: 694c0ab27eb6ebd01
[2026-01-11 05:53:27] [INFO] Created new Dispatches record with ID: 69633ad6482ae962c
[2026-01-11 05:53:27] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003671_20260111_055325.XML
[2026-01-11 05:53:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003671_20260111_055325.XML
[2026-01-11 05:53:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003672_20260111_055326.XML
[2026-01-11 05:53:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003672_20260111_055326.XML for user: 68f1466aed072ad4a
[2026-01-11 05:53:27] [INFO] File size: 5568 bytes
[2026-01-11 05:53:28] [INFO] Created FTPFiles record with ID: 69633ad82323178dd
[2026-01-11 05:53:28] [INFO] About to extract fields from XML. File size: 5568 bytes
[2026-01-11 05:53:28] [INFO] Number of mappings: 28
[2026-01-11 05:53:28] [INFO] Starting XML parsing. Content length: 5568
[2026-01-11 05:53:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 05:53:28] [INFO] Processing 28 field mappings
[2026-01-11 05:53:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 05:53:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 05:53:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 05:53:28] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-11 05:53:28] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-01-11 05:53:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-01-11 05:53:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 05:53:28] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-11 05:53:28] [INFO]   -> Found value: 2026000085
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentInternalId' = "2026000085"
[2026-01-11 05:53:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000085"
[2026-01-11 05:53:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 05:53:28] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-11 05:53:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 05:53:28] [INFO]   -> Found value: 1020
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-11 05:53:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 05:53:28] [INFO]   -> Found value: TN
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 05:53:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 05:53:28] [INFO]   -> Found value: 38574
[2026-01-11 05:53:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-11 05:53:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 05:53:28] [INFO]   -> Found value: 36
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-11 05:53:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 05:53:28] [INFO]   -> Found value: 36.15501
[2026-01-11 05:53:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-11 05:53:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 05:53:28] [INFO]   -> Found value: -85.25652
[2026-01-11 05:53:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-11 05:53:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 05:53:28] [INFO]   -> Found value: 2026-01-10 23:52:20
[2026-01-11 05:53:28] [INFO]   -> Set field 'alarm' = "2026-01-10 23:52:20"
[2026-01-11 05:53:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 05:53:28] [INFO]   -> Found value: 2026-01-10 23:53:22
[2026-01-11 05:53:28] [INFO]   -> Set field 'dispatched' = "2026-01-10 23:53:22"
[2026-01-11 05:53:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 05:53:28] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-11 05:53:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 05:53:28] [INFO]   -> Found value: PCFR
[2026-01-11 05:53:28] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 05:53:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 05:53:28] [INFO]   -> Found value: 2026-01-10 23:53:22
[2026-01-11 05:53:28] [INFO]   -> Set field 'timedispatch' = "2026-01-10 23:53:22"
[2026-01-11 05:53:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 05:53:28] [INFO]   -> No value found (null or empty)
[2026-01-11 05:53:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 05:53:28] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 05:53:28] [INFO]   -> Found value: 20260003672
[2026-01-11 05:53:28] [INFO]   -> Set field 'policeReportNumber' = "20260003672"
[2026-01-11 05:53:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 05:53:28] [INFO]   -> Found value: [EMS] HX OF BREATHING PROBLEMS  [01/10/26 23:53:20 TSCOTT] [EMS] FEMALE UNABLE TO BREATHE  FRONT DOO...
[2026-01-11 05:53:28] [INFO]   -> Set field 'dispatchNotes' = "[EMS] HX OF BREATHING PROBLEMS  [01\/10\/26 23:53:20 TSCOTT] [EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]"
[2026-01-11 05:53:28] [INFO]   -> Set field 'cADLog' = "[EMS] HX OF BREATHING PROBLEMS  [01\/10\/26 23:53:20 TSCOTT] [EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]"
[2026-01-11 05:53:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 05:53:28] [INFO]   -> Found value: MONTEREY
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-11 05:53:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 05:53:28] [INFO]   -> Found value: CHESTNUT
[2026-01-11 05:53:28] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-11 05:53:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 05:53:28] [INFO]   -> Found value: ST
[2026-01-11 05:53:28] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-11 05:53:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 05:53:28] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-11 05:53:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-11 05:53:28] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 05:53:28] [INFO] Concatenating street name and type
[2026-01-11 05:53:28] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-11 05:53:28] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-11 05:53:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000085","dispatchRunNumber":"2026000085","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-10 23:52:20","dispatched":"2026-01-10 23:53:22","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"PCFR","timedispatch":"2026-01-10 23:53:22","policeReportNumber":"20260003672","dispatchNotes":"[EMS] HX OF BREATHING PROBLEMS  [01\/10\/26 23:53:20 TSCOTT] [EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]","cADLog":"[EMS] HX OF BREATHING PROBLEMS  [01\/10\/26 23:53:20 TSCOTT] [EMS] FEMALE UNABLE TO BREATHE  FRONT DOOR UNLOCKED  [01\/10\/26 23:52:38 TSCOTT] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:20 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 23:52:00 TSCOTT]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-11 05:53:28] [INFO] Number of extracted fields: 22
[2026-01-11 05:53:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-01-11 05:53:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-11 05:53:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-01-11 05:53:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 05:53:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 05:53:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-01-11 05:53:28] [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-01-11 05:53:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 05:53:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-11 05:53:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 05:53:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 05:53:28] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-11 05:53:36] [INFO] Created new Dispatches record with ID: 69633ad8d78a85b3a
[2026-01-11 05:53:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003672_20260111_055326.XML
[2026-01-11 05:53:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003672_20260111_055326.XML
[2026-01-11 07:00:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003685_20260111_070026.XML
[2026-01-11 07:00:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003685_20260111_070026.XML for user: 68f1466aed072ad4a
[2026-01-11 07:00:26] [INFO] File size: 6325 bytes
[2026-01-11 07:00:26] [INFO] Created FTPFiles record with ID: 69634a8a8b226e462
[2026-01-11 07:00:26] [INFO] About to extract fields from XML. File size: 6325 bytes
[2026-01-11 07:00:26] [INFO] Number of mappings: 28
[2026-01-11 07:00:26] [INFO] Starting XML parsing. Content length: 6325
[2026-01-11 07:00:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 07:00:26] [INFO] Processing 28 field mappings
[2026-01-11 07:00:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 07:00:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 07:00:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 07:00:26] [INFO] Found 8 elements for 'AgencyCode', concatenating 8 non-empty values
[2026-01-11 07:00:26] [INFO]   -> Found value: PCFD
EMS
RESC
PCSO
PCSO
PCSO
PCSO
PCSO
[2026-01-11 07:00:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC\nPCSO\nPCSO\nPCSO\nPCSO\nPCSO"
[2026-01-11 07:00:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 07:00:26] [INFO] Found 8 elements for 'ReportNumber', using FIRST value only
[2026-01-11 07:00:26] [INFO]   -> Found value: 2026000086
[2026-01-11 07:00:26] [INFO]   -> Set field 'incidentInternalId' = "2026000086"
[2026-01-11 07:00:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000086"
[2026-01-11 07:00:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 07:00:26] [INFO]   -> Found value: CHEST PAIN
[2026-01-11 07:00:26] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-11 07:00:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 07:00:26] [INFO]   -> Found value: 2892
[2026-01-11 07:00:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2892
[2026-01-11 07:00:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 07:00:26] [INFO]   -> Found value: TN
[2026-01-11 07:00:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 07:00:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 07:00:26] [INFO]   -> Found value: 38506
[2026-01-11 07:00:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-11 07:00:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 07:00:26] [INFO]   -> Found value: 36.24917
[2026-01-11 07:00:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24916999999999944748196867294609546661376953125
[2026-01-11 07:00:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 07:00:26] [INFO]   -> Found value: -85.45157
[2026-01-11 07:00:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.45157000000000380168785341084003448486328125
[2026-01-11 07:00:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 07:00:26] [INFO]   -> Found value: 2026-01-11 00:59:35
[2026-01-11 07:00:26] [INFO]   -> Set field 'alarm' = "2026-01-11 00:59:35"
[2026-01-11 07:00:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 07:00:26] [INFO]   -> Found value: 2026-01-11 01:00:21
[2026-01-11 07:00:26] [INFO]   -> Set field 'dispatched' = "2026-01-11 01:00:21"
[2026-01-11 07:00:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 07:00:26] [INFO]   -> Found value: DANIELS LN/PARAN RD
[2026-01-11 07:00:26] [INFO]   -> Set field 'incidentLocationCross' = "DANIELS LN\/PARAN RD"
[2026-01-11 07:00:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 07:00:26] [INFO]   -> Found value: PCFR
[2026-01-11 07:00:26] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 07:00:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 07:00:26] [INFO]   -> Found value: 2026-01-11 01:00:21
[2026-01-11 07:00:26] [INFO]   -> Set field 'timedispatch' = "2026-01-11 01:00:21"
[2026-01-11 07:00:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 07:00:26] [INFO]   -> No value found (null or empty)
[2026-01-11 07:00:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 07:00:26] [INFO] Found 8 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 07:00:26] [INFO]   -> Found value: 20260003685
[2026-01-11 07:00:26] [INFO]   -> Set field 'policeReportNumber' = "20260003685"
[2026-01-11 07:00:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 07:00:26] [INFO]   -> Found value: Event spawned from ABDOMINAL PAIN.  [01/11/2026 00:59:35 TSCOTT] MOTHER`S NUMBER 931-239-7036  [01/1...
[2026-01-11 07:00:26] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from ABDOMINAL PAIN.  [01\/11\/2026 00:59:35 TSCOTT] MOTHER`S NUMBER 931-239-7036  [01\/11\/26 00:58:52 TSCOTT] 931-260-7982 (SISTER`S NUMBER)  [01\/11\/26 00:58:35 TSCOTT] 7\/20\/2001  SISTER (MACKENZIE LOOPER) IS AT THIS LOCATION AND IS HAVING A MEDICAL EMERGENCY  VOMITING  HAD GALBLADDER SURGERY A FEW YEARS AND HAS BEEN HAVING TROUBLE SINCE  CALLER IS NOT AT THE LOCATION  [01\/11\/26 00:58:07 TSCOTT]"
[2026-01-11 07:00:26] [INFO]   -> Set field 'cADLog' = "Event spawned from ABDOMINAL PAIN.  [01\/11\/2026 00:59:35 TSCOTT] MOTHER`S NUMBER 931-239-7036  [01\/11\/26 00:58:52 TSCOTT] 931-260-7982 (SISTER`S NUMBER)  [01\/11\/26 00:58:35 TSCOTT] 7\/20\/2001  SISTER (MACKENZIE LOOPER) IS AT THIS LOCATION AND IS HAVING A MEDICAL EMERGENCY  VOMITING  HAD GALBLADDER SURGERY A FEW YEARS AND HAS BEEN HAVING TROUBLE SINCE  CALLER IS NOT AT THE LOCATION  [01\/11\/26 00:58:07 TSCOTT]"
[2026-01-11 07:00:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 07:00:26] [INFO]   -> Found value: COOKEVILLE
[2026-01-11 07:00:26] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-11 07:00:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 07:00:26] [INFO]   -> Found value: ZEB WARREN
[2026-01-11 07:00:26] [INFO]   -> Set field 'streetName' = "ZEB WARREN"
[2026-01-11 07:00:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 07:00:26] [INFO]   -> Found value: RD
[2026-01-11 07:00:26] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-11 07:00:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 07:00:26] [INFO]   -> Found value: 2892 ZEB WARREN RD
[2026-01-11 07:00:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2892 ZEB WARREN RD"
[2026-01-11 07:00:26] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-11 07:00:26] [INFO] Concatenating street name and type
[2026-01-11 07:00:26] [INFO]   -> Combined street name: ZEB WARREN RD
[2026-01-11 07:00:26] [INFO] Built locationCoordinates from lat/lng: 36.24917,-85.45157
[2026-01-11 07:00:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC\nPCSO\nPCSO\nPCSO\nPCSO\nPCSO","incidentInternalId":"2026000086","dispatchRunNumber":"2026000086","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":2892,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.24916999999999944748196867294609546661376953125,"nERISIncidentLongitude":-85.45157000000000380168785341084003448486328125,"alarm":"2026-01-11 00:59:35","dispatched":"2026-01-11 01:00:21","incidentLocationCross":"DANIELS LN\/PARAN RD","cADVehicleID":"PCFR","timedispatch":"2026-01-11 01:00:21","policeReportNumber":"20260003685","dispatchNotes":"Event spawned from ABDOMINAL PAIN.  [01\/11\/2026 00:59:35 TSCOTT] MOTHER`S NUMBER 931-239-7036  [01\/11\/26 00:58:52 TSCOTT] 931-260-7982 (SISTER`S NUMBER)  [01\/11\/26 00:58:35 TSCOTT] 7\/20\/2001  SISTER (MACKENZIE LOOPER) IS AT THIS LOCATION AND IS HAVING A MEDICAL EMERGENCY  VOMITING  HAD GALBLADDER SURGERY A FEW YEARS AND HAS BEEN HAVING TROUBLE SINCE  CALLER IS NOT AT THE LOCATION  [01\/11\/26 00:58:07 TSCOTT]","cADLog":"Event spawned from ABDOMINAL PAIN.  [01\/11\/2026 00:59:35 TSCOTT] MOTHER`S NUMBER 931-239-7036  [01\/11\/26 00:58:52 TSCOTT] 931-260-7982 (SISTER`S NUMBER)  [01\/11\/26 00:58:35 TSCOTT] 7\/20\/2001  SISTER (MACKENZIE LOOPER) IS AT THIS LOCATION AND IS HAVING A MEDICAL EMERGENCY  VOMITING  HAD GALBLADDER SURGERY A FEW YEARS AND HAS BEEN HAVING TROUBLE SINCE  CALLER IS NOT AT THE LOCATION  [01\/11\/26 00:58:07 TSCOTT]","incidentLocationCity":"COOKEVILLE","streetName":"ZEB WARREN RD","incidentAddressTextVersionStreet":"2892 ZEB WARREN RD","locationCoordinates":"36.24917,-85.45157"}
[2026-01-11 07:00:26] [INFO] Number of extracted fields: 21
[2026-01-11 07:00:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC
PCSO
PCSO
PCSO
PCSO
PCSO'
[2026-01-11 07:00:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC
PCSO
PCSO
PCSO
PCSO
PCSO', Parsed IDs = ["PCFD","EMS","RESC","PCSO","PCSO","PCSO","PCSO","PCSO"], Non-empty count = 8, Total agency count = 8, Assigned Agencies count = 4
[2026-01-11 07:00:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC","PCSO","PCSO","PCSO","PCSO","PCSO"]
[2026-01-11 07:00:26] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 07:00:26] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 07:00:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PCSO","PCSO","PCSO","PCSO","PCSO"]
[2026-01-11 07:00:26] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 07:00:26] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 07:00:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 8)
[2026-01-11 07:00:26] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 07:00:26] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 07:00:27] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-11 07:00:35] [INFO] Created new Dispatches record with ID: 69634a8b4ebaafcf1
[2026-01-11 07:00:35] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003685_20260111_070026.XML
[2026-01-11 07:00:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003685_20260111_070026.XML
[2026-01-11 09:42:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003709_20260111_094239.XML
[2026-01-11 09:42:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003709_20260111_094239.XML for user: 68f1466aed072ad4a
[2026-01-11 09:42:39] [INFO] File size: 5099 bytes
[2026-01-11 09:42:39] [INFO] Created FTPFiles record with ID: 6963708f6857d67f6
[2026-01-11 09:42:39] [INFO] About to extract fields from XML. File size: 5099 bytes
[2026-01-11 09:42:39] [INFO] Number of mappings: 28
[2026-01-11 09:42:39] [INFO] Starting XML parsing. Content length: 5099
[2026-01-11 09:42:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 09:42:39] [INFO] Processing 28 field mappings
[2026-01-11 09:42:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 09:42:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 09:42:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 09:42:39] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-11 09:42:39] [INFO]   -> Found value: MFD
EMS
[2026-01-11 09:42:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-01-11 09:42:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 09:42:39] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-11 09:42:39] [INFO]   -> Found value: 2026000014
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentInternalId' = "2026000014"
[2026-01-11 09:42:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000014"
[2026-01-11 09:42:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 09:42:39] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-11 09:42:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 09:42:39] [INFO]   -> Found value: 1020
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-11 09:42:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 09:42:39] [INFO]   -> Found value: TN
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 09:42:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 09:42:39] [INFO]   -> Found value: 38574
[2026-01-11 09:42:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-11 09:42:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 09:42:39] [INFO]   -> Found value: 36
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-11 09:42:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 09:42:39] [INFO]   -> Found value: 36.15501
[2026-01-11 09:42:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-11 09:42:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 09:42:39] [INFO]   -> Found value: -85.25652
[2026-01-11 09:42:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-11 09:42:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 09:42:39] [INFO]   -> Found value: 2026-01-11 03:41:40
[2026-01-11 09:42:39] [INFO]   -> Set field 'alarm' = "2026-01-11 03:41:40"
[2026-01-11 09:42:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 09:42:39] [INFO]   -> Found value: 2026-01-11 03:42:32
[2026-01-11 09:42:39] [INFO]   -> Set field 'dispatched' = "2026-01-11 03:42:32"
[2026-01-11 09:42:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 09:42:39] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-11 09:42:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 09:42:39] [INFO]   -> Found value: MFR
[2026-01-11 09:42:39] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-11 09:42:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 09:42:39] [INFO]   -> Found value: 2026-01-11 03:42:32
[2026-01-11 09:42:39] [INFO]   -> Set field 'timedispatch' = "2026-01-11 03:42:32"
[2026-01-11 09:42:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 09:42:39] [INFO]   -> No value found (null or empty)
[2026-01-11 09:42:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 09:42:39] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 09:42:39] [INFO]   -> Found value: 20260003709
[2026-01-11 09:42:39] [INFO]   -> Set field 'policeReportNumber' = "20260003709"
[2026-01-11 09:42:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 09:42:39] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/11/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SH...
[2026-01-11 09:42:39] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]"
[2026-01-11 09:42:39] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]"
[2026-01-11 09:42:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 09:42:39] [INFO]   -> Found value: MONTEREY
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-11 09:42:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 09:42:39] [INFO]   -> Found value: CHESTNUT
[2026-01-11 09:42:39] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-11 09:42:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 09:42:39] [INFO]   -> Found value: ST
[2026-01-11 09:42:39] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-11 09:42:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 09:42:39] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-11 09:42:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-11 09:42:39] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 09:42:39] [INFO] Concatenating street name and type
[2026-01-11 09:42:39] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-11 09:42:39] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-11 09:42:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000014","dispatchRunNumber":"2026000014","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-11 03:41:40","dispatched":"2026-01-11 03:42:32","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"MFR","timedispatch":"2026-01-11 03:42:32","policeReportNumber":"20260003709","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-11 09:42:39] [INFO] Number of extracted fields: 22
[2026-01-11 09:42:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-01-11 09:42:39] [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-01-11 09:42:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-01-11 09:42:39] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-11 09:42:39] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-11 09:42:39] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-11 09:42:39] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-11 09:42:39] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-11 09:42:39] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-11 09:42:39] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-11 09:42:39] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-11 09:42:40] [INFO] Found existing IncidentTypeMapping with ID: 694c0ab27eb6ebd01
[2026-01-11 09:42:43] [INFO] Created new Dispatches record with ID: 696370918e5e596b8
[2026-01-11 09:42:43] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003709_20260111_094239.XML
[2026-01-11 09:42:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003709_20260111_094239.XML
[2026-01-11 09:43:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003711_20260111_094319.XML
[2026-01-11 09:43:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003711_20260111_094319.XML for user: 68f1466aed072ad4a
[2026-01-11 09:43:19] [INFO] File size: 5535 bytes
[2026-01-11 09:43:19] [INFO] Created FTPFiles record with ID: 696370b797333c16b
[2026-01-11 09:43:19] [INFO] About to extract fields from XML. File size: 5535 bytes
[2026-01-11 09:43:19] [INFO] Number of mappings: 28
[2026-01-11 09:43:19] [INFO] Starting XML parsing. Content length: 5535
[2026-01-11 09:43:19] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 09:43:19] [INFO] Processing 28 field mappings
[2026-01-11 09:43:19] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 09:43:19] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 09:43:19] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 09:43:19] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-11 09:43:19] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-01-11 09:43:19] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-01-11 09:43:19] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 09:43:19] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-11 09:43:19] [INFO]   -> Found value: 2026000087
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentInternalId' = "2026000087"
[2026-01-11 09:43:19] [INFO]   -> Set field 'dispatchRunNumber' = "2026000087"
[2026-01-11 09:43:19] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 09:43:19] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-11 09:43:19] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 09:43:19] [INFO]   -> Found value: 1020
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-11 09:43:19] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 09:43:19] [INFO]   -> Found value: TN
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 09:43:19] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 09:43:19] [INFO]   -> Found value: 38574
[2026-01-11 09:43:19] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-11 09:43:19] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 09:43:19] [INFO]   -> Found value: 36
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-11 09:43:19] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 09:43:19] [INFO]   -> Found value: 36.15501
[2026-01-11 09:43:19] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-11 09:43:19] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 09:43:19] [INFO]   -> Found value: -85.25652
[2026-01-11 09:43:19] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-11 09:43:19] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 09:43:19] [INFO]   -> Found value: 2026-01-11 03:42:59
[2026-01-11 09:43:19] [INFO]   -> Set field 'alarm' = "2026-01-11 03:42:59"
[2026-01-11 09:43:19] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 09:43:19] [INFO]   -> Found value: 2026-01-11 03:43:08
[2026-01-11 09:43:19] [INFO]   -> Set field 'dispatched' = "2026-01-11 03:43:08"
[2026-01-11 09:43:19] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 09:43:19] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-11 09:43:19] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 09:43:19] [INFO]   -> Found value: PCFR
[2026-01-11 09:43:19] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 09:43:19] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 09:43:19] [INFO]   -> Found value: 2026-01-11 03:43:08
[2026-01-11 09:43:19] [INFO]   -> Set field 'timedispatch' = "2026-01-11 03:43:08"
[2026-01-11 09:43:19] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 09:43:19] [INFO]   -> No value found (null or empty)
[2026-01-11 09:43:19] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 09:43:19] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 09:43:19] [INFO]   -> Found value: 20260003711
[2026-01-11 09:43:19] [INFO]   -> Set field 'policeReportNumber' = "20260003711"
[2026-01-11 09:43:19] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 09:43:19] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/11/2026 03:42:59 SVOKOUN2] Event spawned from BREATHING ...
[2026-01-11 09:43:19] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:42:59 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]"
[2026-01-11 09:43:19] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:42:59 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]"
[2026-01-11 09:43:19] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 09:43:19] [INFO]   -> Found value: MONTEREY
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-11 09:43:19] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 09:43:19] [INFO]   -> Found value: CHESTNUT
[2026-01-11 09:43:19] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-11 09:43:19] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 09:43:19] [INFO]   -> Found value: ST
[2026-01-11 09:43:19] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-11 09:43:19] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 09:43:19] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-11 09:43:19] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-11 09:43:19] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 09:43:19] [INFO] Concatenating street name and type
[2026-01-11 09:43:19] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-11 09:43:19] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-11 09:43:19] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000087","dispatchRunNumber":"2026000087","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-11 03:42:59","dispatched":"2026-01-11 03:43:08","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"PCFR","timedispatch":"2026-01-11 03:43:08","policeReportNumber":"20260003711","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:42:59 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:42:59 SVOKOUN2] Event spawned from BREATHING PROBLEMS.  [01\/11\/2026 03:41:40 TSCOTT] ELDERLY FEMALE - SOUNDS LIKE SHE IS GASPING FOR AIR  CAN BARELY SPEAK TO 911  [01\/11\/26 03:41:38 TSCOTT]]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-11 09:43:19] [INFO] Number of extracted fields: 22
[2026-01-11 09:43:19] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-01-11 09:43:19] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-11 09:43:19] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-01-11 09:43:19] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 09:43:19] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 09:43:19] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-01-11 09:43:19] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 09:43:19] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 09:43:19] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-11 09:43:19] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 09:43:19] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 09:43:20] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-11 09:43:28] [INFO] Created new Dispatches record with ID: 696370b875f336ab7
[2026-01-11 09:43:28] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003711_20260111_094319.XML
[2026-01-11 09:43:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003711_20260111_094319.XML
[2026-01-11 12:47:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003732_20260111_124733.XML
[2026-01-11 12:47:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003732_20260111_124733.XML for user: 68f1466aed072ad4a
[2026-01-11 12:47:33] [INFO] File size: 5385 bytes
[2026-01-11 12:47:33] [INFO] Created FTPFiles record with ID: 69639be56d0d9dda2
[2026-01-11 12:47:33] [INFO] About to extract fields from XML. File size: 5385 bytes
[2026-01-11 12:47:33] [INFO] Number of mappings: 28
[2026-01-11 12:47:33] [INFO] Starting XML parsing. Content length: 5385
[2026-01-11 12:47:33] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 12:47:33] [INFO] Processing 28 field mappings
[2026-01-11 12:47:33] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 12:47:33] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 12:47:33] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 12:47:33] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-11 12:47:33] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-11 12:47:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-11 12:47:33] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 12:47:33] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-11 12:47:33] [INFO]   -> Found value: 2026000088
[2026-01-11 12:47:33] [INFO]   -> Set field 'incidentInternalId' = "2026000088"
[2026-01-11 12:47:33] [INFO]   -> Set field 'dispatchRunNumber' = "2026000088"
[2026-01-11 12:47:33] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 12:47:33] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-01-11 12:47:33] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-01-11 12:47:33] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 12:47:33] [INFO]   -> Found value: 2602
[2026-01-11 12:47:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2602
[2026-01-11 12:47:33] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 12:47:33] [INFO]   -> Found value: TN
[2026-01-11 12:47:33] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 12:47:33] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 12:47:33] [INFO]   -> Found value: 38506
[2026-01-11 12:47:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-11 12:47:33] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 12:47:33] [INFO]   -> Found value: 36.13210
[2026-01-11 12:47:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13210000000000121644916362129151821136474609375
[2026-01-11 12:47:33] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 12:47:33] [INFO]   -> Found value: -85.44906
[2026-01-11 12:47:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.449060000000002901288098655641078948974609375
[2026-01-11 12:47:33] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 12:47:33] [INFO]   -> Found value: 2026-01-11 06:46:42
[2026-01-11 12:47:33] [INFO]   -> Set field 'alarm' = "2026-01-11 06:46:42"
[2026-01-11 12:47:33] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 12:47:33] [INFO]   -> Found value: 2026-01-11 06:47:24
[2026-01-11 12:47:33] [INFO]   -> Set field 'dispatched' = "2026-01-11 06:47:24"
[2026-01-11 12:47:33] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 12:47:33] [INFO]   -> Found value: POPLAR GROVE RD/BAYSHORE DR
[2026-01-11 12:47:33] [INFO]   -> Set field 'incidentLocationCross' = "POPLAR GROVE RD\/BAYSHORE DR"
[2026-01-11 12:47:33] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 12:47:33] [INFO]   -> Found value: PCFR
[2026-01-11 12:47:33] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 12:47:33] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 12:47:33] [INFO]   -> Found value: 2026-01-11 06:47:24
[2026-01-11 12:47:33] [INFO]   -> Set field 'timedispatch' = "2026-01-11 06:47:24"
[2026-01-11 12:47:33] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 12:47:33] [INFO]   -> No value found (null or empty)
[2026-01-11 12:47:33] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 12:47:33] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 12:47:33] [INFO]   -> Found value: 20260003732
[2026-01-11 12:47:33] [INFO]   -> Set field 'policeReportNumber' = "20260003732"
[2026-01-11 12:47:33] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 12:47:33] [INFO]   -> Found value: [EMS] PALE//SWEATING  [01/11/26 06:47:13 KMORGAN2] [EMS] SAYS HIS HEAD FEELS STRANGE  [01/11/26 06:4...
[2026-01-11 12:47:33] [INFO]   -> Set field 'dispatchNotes' = "[EMS] PALE\/\/SWEATING  [01\/11\/26 06:47:13 KMORGAN2] [EMS] SAYS HIS HEAD FEELS STRANGE  [01\/11\/26 06:47:05 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [01\/11\/2026 06:46:42 KMORGAN2] HAD HEART SURGERY WEDNESDAY  [01\/11\/26 06:46:33 KMORGAN2]]"
[2026-01-11 12:47:33] [INFO]   -> Set field 'cADLog' = "[EMS] PALE\/\/SWEATING  [01\/11\/26 06:47:13 KMORGAN2] [EMS] SAYS HIS HEAD FEELS STRANGE  [01\/11\/26 06:47:05 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [01\/11\/2026 06:46:42 KMORGAN2] HAD HEART SURGERY WEDNESDAY  [01\/11\/26 06:46:33 KMORGAN2]]"
[2026-01-11 12:47:33] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 12:47:33] [INFO]   -> Found value: COOKEVILLE
[2026-01-11 12:47:33] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-11 12:47:33] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 12:47:33] [INFO]   -> Found value: BRIDGEWAY
[2026-01-11 12:47:33] [INFO]   -> Set field 'streetName' = "BRIDGEWAY"
[2026-01-11 12:47:33] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 12:47:33] [INFO]   -> Found value: DR
[2026-01-11 12:47:33] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-11 12:47:33] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 12:47:33] [INFO]   -> Found value: 2602 BRIDGEWAY DR
[2026-01-11 12:47:33] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2602 BRIDGEWAY DR"
[2026-01-11 12:47:33] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-11 12:47:33] [INFO] Concatenating street name and type
[2026-01-11 12:47:33] [INFO]   -> Combined street name: BRIDGEWAY DR
[2026-01-11 12:47:33] [INFO] Built locationCoordinates from lat/lng: 36.1321,-85.44906
[2026-01-11 12:47:33] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000088","dispatchRunNumber":"2026000088","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":2602,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.13210000000000121644916362129151821136474609375,"nERISIncidentLongitude":-85.449060000000002901288098655641078948974609375,"alarm":"2026-01-11 06:46:42","dispatched":"2026-01-11 06:47:24","incidentLocationCross":"POPLAR GROVE RD\/BAYSHORE DR","cADVehicleID":"PCFR","timedispatch":"2026-01-11 06:47:24","policeReportNumber":"20260003732","dispatchNotes":"[EMS] PALE\/\/SWEATING  [01\/11\/26 06:47:13 KMORGAN2] [EMS] SAYS HIS HEAD FEELS STRANGE  [01\/11\/26 06:47:05 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [01\/11\/2026 06:46:42 KMORGAN2] HAD HEART SURGERY WEDNESDAY  [01\/11\/26 06:46:33 KMORGAN2]]","cADLog":"[EMS] PALE\/\/SWEATING  [01\/11\/26 06:47:13 KMORGAN2] [EMS] SAYS HIS HEAD FEELS STRANGE  [01\/11\/26 06:47:05 KMORGAN2] Event spawned from FAINTING \/ SYNCOPE.  [01\/11\/2026 06:46:42 KMORGAN2] HAD HEART SURGERY WEDNESDAY  [01\/11\/26 06:46:33 KMORGAN2]]","incidentLocationCity":"COOKEVILLE","streetName":"BRIDGEWAY DR","incidentAddressTextVersionStreet":"2602 BRIDGEWAY DR","locationCoordinates":"36.1321,-85.44906"}
[2026-01-11 12:47:33] [INFO] Number of extracted fields: 21
[2026-01-11 12:47:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-11 12:47:33] [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-01-11 12:47:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-11 12:47:33] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 12:47:33] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 12:47:33] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-11 12:47:33] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 12:47:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 12:47:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-11 12:47:33] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 12:47:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 12:47:33] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-01-11 12:47:42] [INFO] Created new Dispatches record with ID: 69639be623674c18e
[2026-01-11 12:47:42] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003732_20260111_124733.XML
[2026-01-11 12:47:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003732_20260111_124733.XML
[2026-01-11 14:27:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003744_20260111_142705.XML
[2026-01-11 14:27:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003744_20260111_142705.XML for user: 68f1466aed072ad4a
[2026-01-11 14:27:05] [INFO] File size: 5309 bytes
[2026-01-11 14:27:05] [INFO] Created FTPFiles record with ID: 6963b339ab22e9793
[2026-01-11 14:27:05] [INFO] About to extract fields from XML. File size: 5309 bytes
[2026-01-11 14:27:05] [INFO] Number of mappings: 28
[2026-01-11 14:27:05] [INFO] Starting XML parsing. Content length: 5309
[2026-01-11 14:27:05] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 14:27:05] [INFO] Processing 28 field mappings
[2026-01-11 14:27:05] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 14:27:05] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 14:27:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 14:27:05] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-11 14:27:05] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-11 14:27:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-11 14:27:05] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 14:27:05] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-11 14:27:05] [INFO]   -> Found value: 2026000089
[2026-01-11 14:27:05] [INFO]   -> Set field 'incidentInternalId' = "2026000089"
[2026-01-11 14:27:05] [INFO]   -> Set field 'dispatchRunNumber' = "2026000089"
[2026-01-11 14:27:05] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 14:27:05] [INFO]   -> Found value: STROKE
[2026-01-11 14:27:05] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2026-01-11 14:27:05] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 14:27:05] [INFO]   -> Found value: 2346
[2026-01-11 14:27:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2346
[2026-01-11 14:27:05] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 14:27:05] [INFO]   -> Found value: TN
[2026-01-11 14:27:05] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 14:27:05] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 14:27:05] [INFO]   -> Found value: 38501
[2026-01-11 14:27:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-11 14:27:05] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 14:27:05] [INFO]   -> Found value: 36.18602
[2026-01-11 14:27:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1860199999999991860022419132292270660400390625
[2026-01-11 14:27:05] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 14:27:05] [INFO]   -> Found value: -85.54493
[2026-01-11 14:27:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.544929999999993697201716713607311248779296875
[2026-01-11 14:27:05] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 14:27:05] [INFO]   -> Found value: 2026-01-11 08:26:22
[2026-01-11 14:27:05] [INFO]   -> Set field 'alarm' = "2026-01-11 08:26:22"
[2026-01-11 14:27:05] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 14:27:05] [INFO]   -> Found value: 2026-01-11 08:27:00
[2026-01-11 14:27:05] [INFO]   -> Set field 'dispatched' = "2026-01-11 08:27:00"
[2026-01-11 14:27:05] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 14:27:05] [INFO]   -> Found value: BENTON YOUNG RD/SUN VALLEY RD
[2026-01-11 14:27:05] [INFO]   -> Set field 'incidentLocationCross' = "BENTON YOUNG RD\/SUN VALLEY RD"
[2026-01-11 14:27:05] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 14:27:05] [INFO]   -> Found value: PCFR
[2026-01-11 14:27:05] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 14:27:05] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 14:27:05] [INFO]   -> Found value: 2026-01-11 08:27:00
[2026-01-11 14:27:05] [INFO]   -> Set field 'timedispatch' = "2026-01-11 08:27:00"
[2026-01-11 14:27:05] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 14:27:05] [INFO]   -> No value found (null or empty)
[2026-01-11 14:27:05] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 14:27:05] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 14:27:05] [INFO]   -> Found value: 20260003744
[2026-01-11 14:27:05] [INFO]   -> Set field 'policeReportNumber' = "20260003744"
[2026-01-11 14:27:05] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 14:27:05] [INFO]   -> Found value: [EMS] CONFUSED  [01/11/26 08:27:00 KMORGAN2] [EMS] RIGHT ARM NUMB//HEADACHE LEFT SIDE OF FACE DROOPI...
[2026-01-11 14:27:05] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CONFUSED  [01\/11\/26 08:27:00 KMORGAN2] [EMS] RIGHT ARM NUMB\/\/HEADACHE LEFT SIDE OF FACE DROOPING  [01\/11\/26 08:26:53 KMORGAN2] Event spawned from STROKE.  [01\/11\/2026 08:26:22 KMORGAN2]"
[2026-01-11 14:27:05] [INFO]   -> Set field 'cADLog' = "[EMS] CONFUSED  [01\/11\/26 08:27:00 KMORGAN2] [EMS] RIGHT ARM NUMB\/\/HEADACHE LEFT SIDE OF FACE DROOPING  [01\/11\/26 08:26:53 KMORGAN2] Event spawned from STROKE.  [01\/11\/2026 08:26:22 KMORGAN2]"
[2026-01-11 14:27:05] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 14:27:05] [INFO]   -> Found value: COOKEVILLE
[2026-01-11 14:27:05] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-11 14:27:05] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 14:27:05] [INFO]   -> Found value: SUN VALLEY
[2026-01-11 14:27:05] [INFO]   -> Set field 'streetName' = "SUN VALLEY"
[2026-01-11 14:27:05] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 14:27:05] [INFO]   -> Found value: CIR
[2026-01-11 14:27:05] [INFO]   -> Set field 'streetType' = "CIR"
[2026-01-11 14:27:05] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 14:27:05] [INFO]   -> Found value: 2346 SUN VALLEY CIR
[2026-01-11 14:27:05] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2346 SUN VALLEY CIR"
[2026-01-11 14:27:05] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-11 14:27:05] [INFO] Concatenating street name and type
[2026-01-11 14:27:05] [INFO]   -> Combined street name: SUN VALLEY CIR
[2026-01-11 14:27:05] [INFO] Built locationCoordinates from lat/lng: 36.18602,-85.54493
[2026-01-11 14:27:05] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000089","dispatchRunNumber":"2026000089","incidentTypeValue1":"STROKE","incidentLocationStreetNumber":2346,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.1860199999999991860022419132292270660400390625,"nERISIncidentLongitude":-85.544929999999993697201716713607311248779296875,"alarm":"2026-01-11 08:26:22","dispatched":"2026-01-11 08:27:00","incidentLocationCross":"BENTON YOUNG RD\/SUN VALLEY RD","cADVehicleID":"PCFR","timedispatch":"2026-01-11 08:27:00","policeReportNumber":"20260003744","dispatchNotes":"[EMS] CONFUSED  [01\/11\/26 08:27:00 KMORGAN2] [EMS] RIGHT ARM NUMB\/\/HEADACHE LEFT SIDE OF FACE DROOPING  [01\/11\/26 08:26:53 KMORGAN2] Event spawned from STROKE.  [01\/11\/2026 08:26:22 KMORGAN2]","cADLog":"[EMS] CONFUSED  [01\/11\/26 08:27:00 KMORGAN2] [EMS] RIGHT ARM NUMB\/\/HEADACHE LEFT SIDE OF FACE DROOPING  [01\/11\/26 08:26:53 KMORGAN2] Event spawned from STROKE.  [01\/11\/2026 08:26:22 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"SUN VALLEY CIR","incidentAddressTextVersionStreet":"2346 SUN VALLEY CIR","locationCoordinates":"36.18602,-85.54493"}
[2026-01-11 14:27:05] [INFO] Number of extracted fields: 21
[2026-01-11 14:27:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-11 14:27:05] [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-01-11 14:27:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-11 14:27:05] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 14:27:05] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 14:27:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-11 14:27:06] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 14:27:06] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 14:27:06] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-11 14:27:06] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 14:27:06] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 14:27:06] [INFO] Found existing IncidentTypeMapping with ID: 69458359c1b866667
[2026-01-11 14:27:14] [INFO] Created new Dispatches record with ID: 6963b33a6d35aa984
[2026-01-11 14:27:14] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003744_20260111_142705.XML
[2026-01-11 14:27:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003744_20260111_142705.XML
[2026-01-11 15:41:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01040.xml
[2026-01-11 15:41:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01040.xml for user: 68d56363ec1209189
[2026-01-11 15:41:49] [INFO] File size: 2819 bytes
[2026-01-11 15:41:50] [INFO] Created FTPFiles record with ID: 6963c4be006c4cf47
[2026-01-11 15:41:50] [INFO] About to extract fields from XML. File size: 2819 bytes
[2026-01-11 15:41:50] [INFO] Number of mappings: 21
[2026-01-11 15:41:50] [INFO] Starting XML parsing. Content length: 2819
[2026-01-11 15:41:50] [INFO] XML parsed successfully. Root element: Incident
[2026-01-11 15:41:50] [INFO] Processing 21 field mappings
[2026-01-11 15:41:50] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-11 15:41:50] [INFO]   -> Found value: 26-01040
[2026-01-11 15:41:50] [INFO]   -> Set field 'dispatchRunNumber' = "26-01040"
[2026-01-11 15:41:50] [INFO]   -> Set field 'cADNumber' = "26-01040"
[2026-01-11 15:41:50] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-11 15:41:50] [INFO]   -> Found value: 205
[2026-01-11 15:41:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 205
[2026-01-11 15:41:50] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-11 15:41:50] [INFO]   -> Found value: MILLER ST
[2026-01-11 15:41:50] [INFO]   -> Set field 'streetName' = "MILLER ST"
[2026-01-11 15:41:50] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-11 15:41:50] [INFO]   -> No value found (null or empty)
[2026-01-11 15:41:50] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-11 15:41:50] [INFO]   -> Found value: SIKESTON
[2026-01-11 15:41:50] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-11 15:41:50] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-11 15:41:50] [INFO]   -> No value found (null or empty)
[2026-01-11 15:41:50] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-11 15:41:50] [INFO]   -> Found value: MO
[2026-01-11 15:41:50] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-11 15:41:50] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-11 15:41:50] [INFO]   -> Found value: 63801
[2026-01-11 15:41:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-11 15:41:50] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-11 15:41:50] [INFO]   -> Found value: 0
[2026-01-11 15:41:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-11 15:41:50] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-11 15:41:50] [INFO]   -> Found value: 0
[2026-01-11 15:41:50] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-11 15:41:50] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-11 15:41:50] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-01-11 15:41:50] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-01-11 15:41:50] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-11 15:41:50] [INFO]   -> Found value: 01-11-2026 09:04:45|Call Received on 01/11/2026 @ 09:04

CAR ON FIRE NEAR HOUSE 01-11-2026 09:10:03|...
[2026-01-11 15:41:50] [INFO]   -> Set field 'dispatchNotes' = "01-11-2026 09:04:45|Call Received on 01\/11\/2026 @ 09:04\n\nCAR ON FIRE NEAR HOUSE 01-11-2026 09:10:03|10 FEET FROM RESIDENCE 01-11-2026 09:10:25|VEHICLE ENGULFED 01-11-2026 09:11:36|C90 ON 01-11-2026 09:13:48|PER C88 CANCEL 01-11-2026 09:13:53|ALL PERSONEL 01-11-2026 09:19:37|Disposition - SSCA:  RPT 01-11-2026 09:19:44|Disposition - SSCA UNIT:  NRN"
[2026-01-11 15:41:50] [INFO]   -> Set field 'cADLog' = "01-11-2026 09:04:45|Call Received on 01\/11\/2026 @ 09:04\n\nCAR ON FIRE NEAR HOUSE 01-11-2026 09:10:03|10 FEET FROM RESIDENCE 01-11-2026 09:10:25|VEHICLE ENGULFED 01-11-2026 09:11:36|C90 ON 01-11-2026 09:13:48|PER C88 CANCEL 01-11-2026 09:13:53|ALL PERSONEL 01-11-2026 09:19:37|Disposition - SSCA:  RPT 01-11-2026 09:19:44|Disposition - SSCA UNIT:  NRN"
[2026-01-11 15:41:50] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-11 15:41:50] [INFO]   -> Found value: 01-11-2026T09:06:08
[2026-01-11 15:41:50] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T09:06:08
[2026-01-11 15:41:50] [INFO]   -> Set field 'alarm' = "2026-11-01 09:06:08"
[2026-01-11 15:41:50] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T09:06:08
[2026-01-11 15:41:50] [INFO]   -> Set field 'dispatched' = "2026-11-01 09:06:08"
[2026-01-11 15:41:50] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-11 15:41:50] [INFO]   -> Found value: 01-11-2026T09:09:29
[2026-01-11 15:41:50] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T09:09:29
[2026-01-11 15:41:50] [INFO]   -> Set field 'onScene' = "2026-11-01 09:09:29"
[2026-01-11 15:41:50] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-11 15:41:50] [INFO]   -> Found value: 01-11-2026T09:40:41
[2026-01-11 15:41:50] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T09:40:41
[2026-01-11 15:41:50] [INFO]   -> Set field 'cleared' = "2026-11-01 09:40:41"
[2026-01-11 15:41:50] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T09:40:41
[2026-01-11 15:41:50] [INFO]   -> Set field 'inService' = "2026-11-01 09:40:41"
[2026-01-11 15:41:50] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-11 15:41:50] [INFO]   -> Found value: CANCEL
[2026-01-11 15:41:50] [INFO]   -> Set field 'cADVehicleID' = "CANCEL"
[2026-01-11 15:41:50] [INFO]   -> Set field 'name' = "CANCEL"
[2026-01-11 15:41:50] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-11 15:41:50] [INFO]   -> No value found (null or empty)
[2026-01-11 15:41:50] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-11 15:41:50] [INFO]   -> No value found (null or empty)
[2026-01-11 15:41:50] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-11 15:41:50] [INFO]   -> Found value: 01-11-2026T09:40:41
[2026-01-11 15:41:50] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T09:40:41
[2026-01-11 15:41:50] [INFO]   -> Set field 'timeunitclear' = "2026-11-01 09:40:41"
[2026-01-11 15:41:50] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-11 15:41:50] [INFO]   -> Found value: 01-11-2026T09:13:19
[2026-01-11 15:41:50] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T09:13:19
[2026-01-11 15:41:50] [INFO]   -> Set field 'timedispatch' = "2026-11-01 09:13:19"
[2026-01-11 15:41:50] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-11 15:41:50] [INFO]   -> Found value: SDPSFD
[2026-01-11 15:41:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-11 15:41:50] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 15:41:50] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-11 15:41:50] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01040","cADNumber":"26-01040","incidentLocationStreetNumber":205,"streetName":"MILLER ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"01-11-2026 09:04:45|Call Received on 01\/11\/2026 @ 09:04\n\nCAR ON FIRE NEAR HOUSE 01-11-2026 09:10:03|10 FEET FROM RESIDENCE 01-11-2026 09:10:25|VEHICLE ENGULFED 01-11-2026 09:11:36|C90 ON 01-11-2026 09:13:48|PER C88 CANCEL 01-11-2026 09:13:53|ALL PERSONEL 01-11-2026 09:19:37|Disposition - SSCA:  RPT 01-11-2026 09:19:44|Disposition - SSCA UNIT:  NRN","cADLog":"01-11-2026 09:04:45|Call Received on 01\/11\/2026 @ 09:04\n\nCAR ON FIRE NEAR HOUSE 01-11-2026 09:10:03|10 FEET FROM RESIDENCE 01-11-2026 09:10:25|VEHICLE ENGULFED 01-11-2026 09:11:36|C90 ON 01-11-2026 09:13:48|PER C88 CANCEL 01-11-2026 09:13:53|ALL PERSONEL 01-11-2026 09:19:37|Disposition - SSCA:  RPT 01-11-2026 09:19:44|Disposition - SSCA UNIT:  NRN","alarm":"2026-11-01 09:06:08","dispatched":"2026-11-01 09:06:08","onScene":"2026-11-01 09:09:29","cleared":"2026-11-01 09:40:41","inService":"2026-11-01 09:40:41","cADVehicleID":"CANCEL","name":"CANCEL","timeunitclear":"2026-11-01 09:40:41","timedispatch":"2026-11-01 09:13:19","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-11 15:41:50] [INFO] Number of extracted fields: 23
[2026-01-11 15:41:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-11 15:41:50] [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-01-11 15:41:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-11 15:41:50] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-11 15:41:50] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-11 15:41:50] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-11 15:41:50] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-11 15:41:50] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-11 15:41:50] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e868e55c0c
[2026-01-11 15:41:52] [INFO] Created new Dispatches record with ID: 6963c4bebf71b3edd
[2026-01-11 15:41:52] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01040.xml
[2026-01-11 15:41:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01040.xml
[2026-01-11 16:28:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:28:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:28:05] [INFO] File size: 13008 bytes
[2026-01-11 16:28:05] [INFO] Created FTPFiles record with ID: 6963cf9558b8644a7
[2026-01-11 16:28:05] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:28:05] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:28:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:28:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:28:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:28:09] [INFO] File size: 13989 bytes
[2026-01-11 16:28:09] [INFO] Created FTPFiles record with ID: 6963cf995acce02a1
[2026-01-11 16:28:09] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:28:09] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:28:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:29:19] [INFO] File size: 14951 bytes
[2026-01-11 16:29:19] [INFO] Created FTPFiles record with ID: 6963cfdf7297c249e
[2026-01-11 16:29:19] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:29:19] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:29:29] [INFO] File size: 17195 bytes
[2026-01-11 16:29:29] [INFO] Created FTPFiles record with ID: 6963cfe9a027d54fb
[2026-01-11 16:29:29] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:29:29] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:29:58] [INFO] File size: 19439 bytes
[2026-01-11 16:29:58] [INFO] Created FTPFiles record with ID: 6963d006c81932638
[2026-01-11 16:29:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:29:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:29:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:30:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:30:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:30:31] [INFO] File size: 20384 bytes
[2026-01-11 16:30:31] [INFO] Created FTPFiles record with ID: 6963d027b63baab02
[2026-01-11 16:30:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:30:31] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:30:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:30:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:30:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:30:43] [INFO] File size: 21312 bytes
[2026-01-11 16:30:44] [INFO] Created FTPFiles record with ID: 6963d033f33a18a34
[2026-01-11 16:30:44] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:30:44] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:30:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:31:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:31:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:31:23] [INFO] File size: 22931 bytes
[2026-01-11 16:31:26] [INFO] Created FTPFiles record with ID: 6963d05e3b4c9fa38
[2026-01-11 16:31:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:31:26] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:31:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:37:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:37:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:37:27] [INFO] File size: 24553 bytes
[2026-01-11 16:37:28] [INFO] Created FTPFiles record with ID: 6963d1c82694dc7ca
[2026-01-11 16:37:28] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:37:28] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:37:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:40:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:40:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:40:47] [INFO] File size: 25566 bytes
[2026-01-11 16:40:48] [INFO] Created FTPFiles record with ID: 6963d2904b3b78d30
[2026-01-11 16:40:48] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:40:48] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:40:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:40:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:40:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml for user: 69320e6a9e3e5ef71
[2026-01-11 16:40:56] [INFO] File size: 27160 bytes
[2026-01-11 16:40:56] [INFO] Created FTPFiles record with ID: 6963d29896a58ace5
[2026-01-11 16:40:56] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-11 16:40:56] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 16:40:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002279.xml
[2026-01-11 17:36:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003788_20260111_173658.XML
[2026-01-11 17:36:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003788_20260111_173658.XML for user: 68f1466aed072ad4a
[2026-01-11 17:36:58] [INFO] File size: 4986 bytes
[2026-01-11 17:36:58] [INFO] Created FTPFiles record with ID: 6963dfba8366a6512
[2026-01-11 17:36:58] [INFO] About to extract fields from XML. File size: 4986 bytes
[2026-01-11 17:36:58] [INFO] Number of mappings: 28
[2026-01-11 17:36:58] [INFO] Starting XML parsing. Content length: 4986
[2026-01-11 17:36:58] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 17:36:58] [INFO] Processing 28 field mappings
[2026-01-11 17:36:58] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 17:36:58] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 17:36:58] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 17:36:58] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-11 17:36:58] [INFO]   -> Found value: PCFD
PCSO
[2026-01-11 17:36:58] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-01-11 17:36:58] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 17:36:58] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-11 17:36:58] [INFO]   -> Found value: 2026000090
[2026-01-11 17:36:58] [INFO]   -> Set field 'incidentInternalId' = "2026000090"
[2026-01-11 17:36:58] [INFO]   -> Set field 'dispatchRunNumber' = "2026000090"
[2026-01-11 17:36:58] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 17:36:58] [INFO]   -> Found value: FIRE ALARM
[2026-01-11 17:36:58] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-01-11 17:36:58] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 17:36:58] [INFO]   -> Found value: 818
[2026-01-11 17:36:58] [INFO]   -> Set field 'incidentLocationStreetNumber' = 818
[2026-01-11 17:36:58] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 17:36:58] [INFO]   -> Found value: TN
[2026-01-11 17:36:58] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 17:36:58] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 17:36:58] [INFO]   -> Found value: 38544
[2026-01-11 17:36:58] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-11 17:36:58] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 17:36:58] [INFO]   -> Found value: DANNY ROBERTS
[2026-01-11 17:36:58] [INFO]   -> Set field 'businessName' = "DANNY ROBERTS"
[2026-01-11 17:36:58] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 17:36:58] [INFO]   -> Found value: 36.18082
[2026-01-11 17:36:58] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1808199999999970941644278354942798614501953125
[2026-01-11 17:36:58] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 17:36:58] [INFO]   -> Found value: -85.62283
[2026-01-11 17:36:58] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.622829999999993333403836004436016082763671875
[2026-01-11 17:36:58] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 17:36:58] [INFO]   -> Found value: 2026-01-11 11:35:20
[2026-01-11 17:36:58] [INFO]   -> Set field 'alarm' = "2026-01-11 11:35:20"
[2026-01-11 17:36:58] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 17:36:58] [INFO]   -> Found value: 2026-01-11 11:36:46
[2026-01-11 17:36:58] [INFO]   -> Set field 'dispatched' = "2026-01-11 11:36:46"
[2026-01-11 17:36:58] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 17:36:58] [INFO]   -> Found value: HULON FERRELL RD/OLD GAINESBORO RD
[2026-01-11 17:36:58] [INFO]   -> Set field 'incidentLocationCross' = "HULON FERRELL RD\/OLD GAINESBORO RD"
[2026-01-11 17:36:58] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 17:36:58] [INFO]   -> Found value: TK31
[2026-01-11 17:36:58] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-01-11 17:36:58] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 17:36:58] [INFO]   -> Found value: 2026-01-11 11:36:46
[2026-01-11 17:36:58] [INFO]   -> Set field 'timedispatch' = "2026-01-11 11:36:46"
[2026-01-11 17:36:58] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 17:36:58] [INFO]   -> No value found (null or empty)
[2026-01-11 17:36:58] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 17:36:58] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 17:36:58] [INFO]   -> Found value: 20260003788
[2026-01-11 17:36:58] [INFO]   -> Set field 'policeReportNumber' = "20260003788"
[2026-01-11 17:36:58] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 17:36:58] [INFO]   -> Found value: PREMISE******EXTREME CAUTION****  [01/11/26 11:36:40 KMORGAN2] ZONE 995 KEY PAD  [01/11/26 11:36:02 ...
[2026-01-11 17:36:58] [INFO]   -> Set field 'dispatchNotes' = "PREMISE******EXTREME CAUTION****  [01\/11\/26 11:36:40 KMORGAN2] ZONE 995 KEY PAD  [01\/11\/26 11:36:02 DSTEPHENS]"
[2026-01-11 17:36:58] [INFO]   -> Set field 'cADLog' = "PREMISE******EXTREME CAUTION****  [01\/11\/26 11:36:40 KMORGAN2] ZONE 995 KEY PAD  [01\/11\/26 11:36:02 DSTEPHENS]"
[2026-01-11 17:36:58] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 17:36:58] [INFO]   -> Found value: BAXTER
[2026-01-11 17:36:58] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-11 17:36:58] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 17:36:58] [INFO]   -> Found value: GAINESBORO
[2026-01-11 17:36:58] [INFO]   -> Set field 'streetName' = "GAINESBORO"
[2026-01-11 17:36:58] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 17:36:58] [INFO]   -> Found value: HWY
[2026-01-11 17:36:58] [INFO]   -> Set field 'streetType' = "HWY"
[2026-01-11 17:36:58] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 17:36:58] [INFO]   -> Found value: 818 GAINESBORO HWY
[2026-01-11 17:36:58] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "818 GAINESBORO HWY"
[2026-01-11 17:36:58] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 17:36:58] [INFO] Concatenating street name and type
[2026-01-11 17:36:58] [INFO]   -> Combined street name: GAINESBORO HWY
[2026-01-11 17:36:58] [INFO] Built locationCoordinates from lat/lng: 36.18082,-85.62283
[2026-01-11 17:36:58] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000090","dispatchRunNumber":"2026000090","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":818,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"DANNY ROBERTS","nERISIncidentLatitude":36.1808199999999970941644278354942798614501953125,"nERISIncidentLongitude":-85.622829999999993333403836004436016082763671875,"alarm":"2026-01-11 11:35:20","dispatched":"2026-01-11 11:36:46","incidentLocationCross":"HULON FERRELL RD\/OLD GAINESBORO RD","cADVehicleID":"TK31","timedispatch":"2026-01-11 11:36:46","policeReportNumber":"20260003788","dispatchNotes":"PREMISE******EXTREME CAUTION****  [01\/11\/26 11:36:40 KMORGAN2] ZONE 995 KEY PAD  [01\/11\/26 11:36:02 DSTEPHENS]","cADLog":"PREMISE******EXTREME CAUTION****  [01\/11\/26 11:36:40 KMORGAN2] ZONE 995 KEY PAD  [01\/11\/26 11:36:02 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"GAINESBORO HWY","incidentAddressTextVersionStreet":"818 GAINESBORO HWY","locationCoordinates":"36.18082,-85.62283"}
[2026-01-11 17:36:58] [INFO] Number of extracted fields: 22
[2026-01-11 17:36:58] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-01-11 17:36:58] [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-01-11 17:36:58] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-01-11 17:36:58] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 17:36:58] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 17:36:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-01-11 17:36:58] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 17:36:58] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 17:36:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-11 17:36:58] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 17:36:58] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 17:36:59] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-01-11 17:37:07] [INFO] Created new Dispatches record with ID: 6963dfbb4a3f42051
[2026-01-11 17:37:07] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003788_20260111_173658.XML
[2026-01-11 17:37:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003788_20260111_173658.XML
[2026-01-11 18:31:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003808_20260111_183158.XML
[2026-01-11 18:31:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003808_20260111_183158.XML for user: 68f1466aed072ad4a
[2026-01-11 18:31:58] [INFO] File size: 5101 bytes
[2026-01-11 18:31:59] [INFO] Created FTPFiles record with ID: 6963ec9f4b8afd7a7
[2026-01-11 18:31:59] [INFO] About to extract fields from XML. File size: 5101 bytes
[2026-01-11 18:31:59] [INFO] Number of mappings: 28
[2026-01-11 18:31:59] [INFO] Starting XML parsing. Content length: 5101
[2026-01-11 18:31:59] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 18:31:59] [INFO] Processing 28 field mappings
[2026-01-11 18:31:59] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 18:31:59] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 18:31:59] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 18:31:59] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-11 18:31:59] [INFO]   -> Found value: AFD
EMS
[2026-01-11 18:31:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-01-11 18:31:59] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 18:31:59] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-11 18:31:59] [INFO]   -> Found value: 2026000013
[2026-01-11 18:31:59] [INFO]   -> Set field 'incidentInternalId' = "2026000013"
[2026-01-11 18:31:59] [INFO]   -> Set field 'dispatchRunNumber' = "2026000013"
[2026-01-11 18:31:59] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 18:31:59] [INFO]   -> Found value: FALL VICTIM
[2026-01-11 18:31:59] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-01-11 18:31:59] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 18:31:59] [INFO]   -> Found value: 310
[2026-01-11 18:31:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 310
[2026-01-11 18:31:59] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 18:31:59] [INFO]   -> Found value: TN
[2026-01-11 18:31:59] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 18:31:59] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 18:31:59] [INFO]   -> Found value: 38506
[2026-01-11 18:31:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-11 18:31:59] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 18:31:59] [INFO]   -> Found value: ALGOOD TACO BELL
[2026-01-11 18:31:59] [INFO]   -> Set field 'businessName' = "ALGOOD TACO BELL"
[2026-01-11 18:31:59] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 18:31:59] [INFO]   -> Found value: 36.18258
[2026-01-11 18:31:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.182580000000001518856151960790157318115234375
[2026-01-11 18:31:59] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 18:31:59] [INFO]   -> Found value: -85.46096
[2026-01-11 18:31:59] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4609600000000000363797880709171295166015625
[2026-01-11 18:31:59] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 18:31:59] [INFO]   -> Found value: 2026-01-11 12:30:48
[2026-01-11 18:31:59] [INFO]   -> Set field 'alarm' = "2026-01-11 12:30:48"
[2026-01-11 18:31:59] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 18:31:59] [INFO]   -> Found value: 2026-01-11 12:31:49
[2026-01-11 18:31:59] [INFO]   -> Set field 'dispatched' = "2026-01-11 12:31:49"
[2026-01-11 18:31:59] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 18:31:59] [INFO]   -> Found value: W MAIN ST
[2026-01-11 18:31:59] [INFO]   -> Set field 'incidentLocationCross' = "W MAIN ST"
[2026-01-11 18:31:59] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 18:31:59] [INFO]   -> Found value: AFR
[2026-01-11 18:31:59] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-01-11 18:31:59] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 18:31:59] [INFO]   -> Found value: 2026-01-11 12:31:49
[2026-01-11 18:31:59] [INFO]   -> Set field 'timedispatch' = "2026-01-11 12:31:49"
[2026-01-11 18:31:59] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 18:31:59] [INFO]   -> No value found (null or empty)
[2026-01-11 18:31:59] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 18:31:59] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 18:31:59] [INFO]   -> Found value: 20260003808
[2026-01-11 18:31:59] [INFO]   -> Set field 'policeReportNumber' = "20260003808"
[2026-01-11 18:31:59] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 18:31:59] [INFO]   -> Found value: [EMS] CUTS TO HEAD  [01/11/26 12:31:22 DSTEPHENS] [EMS] KNIGHT  BARBARA   12/10/1943  [01/11/26 12:3...
[2026-01-11 18:31:59] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CUTS TO HEAD  [01\/11\/26 12:31:22 DSTEPHENS] [EMS] KNIGHT  BARBARA   12\/10\/1943  [01\/11\/26 12:31:11 DSTEPHENS] Event spawned from FALL VICTIM.  [01\/11\/2026 12:30:48 DSTEPHENS]"
[2026-01-11 18:31:59] [INFO]   -> Set field 'cADLog' = "[EMS] CUTS TO HEAD  [01\/11\/26 12:31:22 DSTEPHENS] [EMS] KNIGHT  BARBARA   12\/10\/1943  [01\/11\/26 12:31:11 DSTEPHENS] Event spawned from FALL VICTIM.  [01\/11\/2026 12:30:48 DSTEPHENS]"
[2026-01-11 18:31:59] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 18:31:59] [INFO]   -> Found value: ALGOOD
[2026-01-11 18:31:59] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-11 18:31:59] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 18:31:59] [INFO]   -> Found value: BIG MAC
[2026-01-11 18:31:59] [INFO]   -> Set field 'streetName' = "BIG MAC"
[2026-01-11 18:31:59] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 18:31:59] [INFO]   -> Found value: DR
[2026-01-11 18:31:59] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-11 18:31:59] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 18:31:59] [INFO]   -> Found value: 310 BIG MAC DR
[2026-01-11 18:31:59] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "310 BIG MAC DR"
[2026-01-11 18:31:59] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 18:31:59] [INFO] Concatenating street name and type
[2026-01-11 18:31:59] [INFO]   -> Combined street name: BIG MAC DR
[2026-01-11 18:31:59] [INFO] Built locationCoordinates from lat/lng: 36.18258,-85.46096
[2026-01-11 18:31:59] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000013","dispatchRunNumber":"2026000013","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":310,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"ALGOOD TACO BELL","nERISIncidentLatitude":36.182580000000001518856151960790157318115234375,"nERISIncidentLongitude":-85.4609600000000000363797880709171295166015625,"alarm":"2026-01-11 12:30:48","dispatched":"2026-01-11 12:31:49","incidentLocationCross":"W MAIN ST","cADVehicleID":"AFR","timedispatch":"2026-01-11 12:31:49","policeReportNumber":"20260003808","dispatchNotes":"[EMS] CUTS TO HEAD  [01\/11\/26 12:31:22 DSTEPHENS] [EMS] KNIGHT  BARBARA   12\/10\/1943  [01\/11\/26 12:31:11 DSTEPHENS] Event spawned from FALL VICTIM.  [01\/11\/2026 12:30:48 DSTEPHENS]","cADLog":"[EMS] CUTS TO HEAD  [01\/11\/26 12:31:22 DSTEPHENS] [EMS] KNIGHT  BARBARA   12\/10\/1943  [01\/11\/26 12:31:11 DSTEPHENS] Event spawned from FALL VICTIM.  [01\/11\/2026 12:30:48 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"BIG MAC DR","incidentAddressTextVersionStreet":"310 BIG MAC DR","locationCoordinates":"36.18258,-85.46096"}
[2026-01-11 18:31:59] [INFO] Number of extracted fields: 22
[2026-01-11 18:31:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-01-11 18:31:59] [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-01-11 18:31:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-01-11 18:31:59] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-11 18:31:59] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-11 18:31:59] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-11 18:31:59] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-11 18:31:59] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-11 18:31:59] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-11 18:31:59] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-01-11 18:31:59] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-11 18:31:59] [INFO] Found existing IncidentTypeMapping with ID: 6952a99bba1f92574
[2026-01-11 18:32:05] [INFO] Created new Dispatches record with ID: 6963eca02b2f72c33
[2026-01-11 18:32:05] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003808_20260111_183158.XML
[2026-01-11 18:32:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003808_20260111_183158.XML
[2026-01-11 18:53:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003817_20260111_185309.XML
[2026-01-11 18:53:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003817_20260111_185309.XML for user: 68f1466aed072ad4a
[2026-01-11 18:53:09] [INFO] File size: 5083 bytes
[2026-01-11 18:53:09] [INFO] Created FTPFiles record with ID: 6963f1955fa2de77f
[2026-01-11 18:53:09] [INFO] About to extract fields from XML. File size: 5083 bytes
[2026-01-11 18:53:09] [INFO] Number of mappings: 28
[2026-01-11 18:53:09] [INFO] Starting XML parsing. Content length: 5083
[2026-01-11 18:53:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 18:53:09] [INFO] Processing 28 field mappings
[2026-01-11 18:53:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 18:53:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 18:53:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 18:53:09] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-11 18:53:09] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-11 18:53:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-11 18:53:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 18:53:09] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-11 18:53:09] [INFO]   -> Found value: 2026000091
[2026-01-11 18:53:09] [INFO]   -> Set field 'incidentInternalId' = "2026000091"
[2026-01-11 18:53:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000091"
[2026-01-11 18:53:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 18:53:09] [INFO]   -> Found value: TRAUMATIC INJURY
[2026-01-11 18:53:09] [INFO]   -> Set field 'incidentTypeValue1' = "TRAUMATIC INJURY"
[2026-01-11 18:53:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 18:53:09] [INFO]   -> Found value: 4499
[2026-01-11 18:53:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4499
[2026-01-11 18:53:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 18:53:09] [INFO]   -> Found value: TN
[2026-01-11 18:53:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 18:53:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 18:53:09] [INFO]   -> Found value: 38506
[2026-01-11 18:53:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-11 18:53:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 18:53:09] [INFO]   -> Found value: 36.22793
[2026-01-11 18:53:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2279300000000006320988177321851253509521484375
[2026-01-11 18:53:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 18:53:09] [INFO]   -> Found value: -85.47709
[2026-01-11 18:53:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.477090000000004010871634818613529205322265625
[2026-01-11 18:53:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 18:53:09] [INFO]   -> Found value: 2026-01-11 12:51:54
[2026-01-11 18:53:09] [INFO]   -> Set field 'alarm' = "2026-01-11 12:51:54"
[2026-01-11 18:53:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 18:53:09] [INFO]   -> Found value: 2026-01-11 12:53:02
[2026-01-11 18:53:09] [INFO]   -> Set field 'dispatched' = "2026-01-11 12:53:02"
[2026-01-11 18:53:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 18:53:09] [INFO]   -> Found value: PCFR
[2026-01-11 18:53:09] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-11 18:53:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 18:53:09] [INFO]   -> Found value: 2026-01-11 12:53:02
[2026-01-11 18:53:09] [INFO]   -> Set field 'timedispatch' = "2026-01-11 12:53:02"
[2026-01-11 18:53:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 18:53:09] [INFO]   -> No value found (null or empty)
[2026-01-11 18:53:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 18:53:09] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 18:53:09] [INFO]   -> Found value: 20260003817
[2026-01-11 18:53:09] [INFO]   -> Set field 'policeReportNumber' = "20260003817"
[2026-01-11 18:53:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 18:53:09] [INFO]   -> Found value: Event spawned from TRAUMATIC INJURY.  [01/11/2026 12:51:54 DSTEPHENS]
[2026-01-11 18:53:09] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from TRAUMATIC INJURY.  [01\/11\/2026 12:51:54 DSTEPHENS]"
[2026-01-11 18:53:09] [INFO]   -> Set field 'cADLog' = "Event spawned from TRAUMATIC INJURY.  [01\/11\/2026 12:51:54 DSTEPHENS]"
[2026-01-11 18:53:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 18:53:09] [INFO]   -> Found value: COOKEVILLE
[2026-01-11 18:53:09] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-11 18:53:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 18:53:09] [INFO]   -> Found value: HILHAM
[2026-01-11 18:53:09] [INFO]   -> Set field 'streetName' = "HILHAM"
[2026-01-11 18:53:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 18:53:09] [INFO]   -> Found value: RD
[2026-01-11 18:53:09] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-11 18:53:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 18:53:09] [INFO]   -> Found value: HILHAM RD/BEAR CREEK RD
[2026-01-11 18:53:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "HILHAM RD\/BEAR CREEK RD"
[2026-01-11 18:53:09] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-11 18:53:09] [INFO] Concatenating street name and type
[2026-01-11 18:53:09] [INFO]   -> Combined street name: HILHAM RD
[2026-01-11 18:53:09] [INFO] Built locationCoordinates from lat/lng: 36.22793,-85.47709
[2026-01-11 18:53:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000091","dispatchRunNumber":"2026000091","incidentTypeValue1":"TRAUMATIC INJURY","incidentLocationStreetNumber":4499,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.2279300000000006320988177321851253509521484375,"nERISIncidentLongitude":-85.477090000000004010871634818613529205322265625,"alarm":"2026-01-11 12:51:54","dispatched":"2026-01-11 12:53:02","cADVehicleID":"PCFR","timedispatch":"2026-01-11 12:53:02","policeReportNumber":"20260003817","dispatchNotes":"Event spawned from TRAUMATIC INJURY.  [01\/11\/2026 12:51:54 DSTEPHENS]","cADLog":"Event spawned from TRAUMATIC INJURY.  [01\/11\/2026 12:51:54 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"HILHAM RD","incidentAddressTextVersionStreet":"HILHAM RD\/BEAR CREEK RD","locationCoordinates":"36.22793,-85.47709"}
[2026-01-11 18:53:09] [INFO] Number of extracted fields: 20
[2026-01-11 18:53:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-11 18:53:09] [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-01-11 18:53:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-11 18:53:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 18:53:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 18:53:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-11 18:53:09] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 18:53:09] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 18:53:09] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-11 18:53:09] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 18:53:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 18:53:09] [INFO] Found existing IncidentTypeMapping with ID: 6941c65c8ef52a305
[2026-01-11 18:53:18] [INFO] Created new Dispatches record with ID: 6963f196208e1801d
[2026-01-11 18:53:18] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003817_20260111_185309.XML
[2026-01-11 18:53:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003817_20260111_185309.XML
[2026-01-11 21:29:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003847_20260111_212912.XML
[2026-01-11 21:29:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003847_20260111_212912.XML for user: 68f1466aed072ad4a
[2026-01-11 21:29:12] [INFO] File size: 5390 bytes
[2026-01-11 21:29:12] [INFO] Created FTPFiles record with ID: 696416285a7f29830
[2026-01-11 21:29:12] [INFO] About to extract fields from XML. File size: 5390 bytes
[2026-01-11 21:29:12] [INFO] Number of mappings: 28
[2026-01-11 21:29:12] [INFO] Starting XML parsing. Content length: 5390
[2026-01-11 21:29:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 21:29:12] [INFO] Processing 28 field mappings
[2026-01-11 21:29:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 21:29:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 21:29:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 21:29:12] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-11 21:29:12] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-11 21:29:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-11 21:29:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 21:29:12] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-11 21:29:12] [INFO]   -> Found value: 2026000092
[2026-01-11 21:29:12] [INFO]   -> Set field 'incidentInternalId' = "2026000092"
[2026-01-11 21:29:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000092"
[2026-01-11 21:29:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 21:29:12] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-01-11 21:29:12] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-01-11 21:29:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 21:29:12] [INFO]   -> Found value: 405
[2026-01-11 21:29:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 405
[2026-01-11 21:29:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 21:29:12] [INFO]   -> Found value: TN
[2026-01-11 21:29:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 21:29:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 21:29:12] [INFO]   -> Found value: 38506
[2026-01-11 21:29:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-11 21:29:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 21:29:12] [INFO]   -> No value found (null or empty)
[2026-01-11 21:29:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 21:29:12] [INFO]   -> No value found (null or empty)
[2026-01-11 21:29:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 21:29:12] [INFO]   -> Found value: 36.17466
[2026-01-11 21:29:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1746600000000029240254661999642848968505859375
[2026-01-11 21:29:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 21:29:12] [INFO]   -> Found value: -85.43909
[2026-01-11 21:29:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.439089999999993096935213543474674224853515625
[2026-01-11 21:29:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 21:29:12] [INFO]   -> Found value: 2026-01-11 15:26:49
[2026-01-11 21:29:12] [INFO]   -> Set field 'alarm' = "2026-01-11 15:26:49"
[2026-01-11 21:29:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 21:29:12] [INFO]   -> Found value: 2026-01-11 15:29:03
[2026-01-11 21:29:12] [INFO]   -> Set field 'dispatched' = "2026-01-11 15:29:03"
[2026-01-11 21:29:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 21:29:12] [INFO]   -> Found value: 2026-01-11 15:29:03
[2026-01-11 21:29:12] [INFO]   -> Set field 'enroute' = "2026-01-11 15:29:03"
[2026-01-11 21:29:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 21:29:12] [INFO]   -> No value found (null or empty)
[2026-01-11 21:29:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 21:29:12] [INFO]   -> No value found (null or empty)
[2026-01-11 21:29:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 21:29:12] [INFO]   -> Found value: SHANNON VILLAGE RD
[2026-01-11 21:29:12] [INFO]   -> Set field 'incidentLocationCross' = "SHANNON VILLAGE RD"
[2026-01-11 21:29:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 21:29:12] [INFO]   -> Found value: TK12
[2026-01-11 21:29:12] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-01-11 21:29:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 21:29:12] [INFO]   -> Found value: 2026-01-11 15:29:03
[2026-01-11 21:29:12] [INFO]   -> Set field 'timedispatch' = "2026-01-11 15:29:03"
[2026-01-11 21:29:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 21:29:12] [INFO]   -> Found value: 2026-01-11 15:29:03
[2026-01-11 21:29:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-11 15:29:03"
[2026-01-11 21:29:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 21:29:12] [INFO]   -> No value found (null or empty)
[2026-01-11 21:29:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 21:29:12] [INFO]   -> No value found (null or empty)
[2026-01-11 21:29:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 21:29:12] [INFO]   -> No value found (null or empty)
[2026-01-11 21:29:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 21:29:12] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 21:29:12] [INFO]   -> Found value: 20260003847
[2026-01-11 21:29:12] [INFO]   -> Set field 'policeReportNumber' = "20260003847"
[2026-01-11 21:29:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 21:29:12] [INFO]   -> Found value: [EMS] TEMPERATURE  [01/11/26 15:28:55 DSTEPHENS] [EMS] PERRON  PATRICIA   11/15/1945  [01/11/26 15:2...
[2026-01-11 21:29:12] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TEMPERATURE  [01\/11\/26 15:28:55 DSTEPHENS] [EMS] PERRON  PATRICIA   11\/15\/1945  [01\/11\/26 15:27:41 DSTEPHENS] [EMS] WEAK  [01\/11\/26 15:27:08 DSTEPHENS] Event spawned from MENTAL STATUS CHANGES.  [01\/11\/2026 15:26:49 DSTEPHENS]"
[2026-01-11 21:29:12] [INFO]   -> Set field 'cADLog' = "[EMS] TEMPERATURE  [01\/11\/26 15:28:55 DSTEPHENS] [EMS] PERRON  PATRICIA   11\/15\/1945  [01\/11\/26 15:27:41 DSTEPHENS] [EMS] WEAK  [01\/11\/26 15:27:08 DSTEPHENS] Event spawned from MENTAL STATUS CHANGES.  [01\/11\/2026 15:26:49 DSTEPHENS]"
[2026-01-11 21:29:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 21:29:12] [INFO]   -> Found value: COOKEVILLE
[2026-01-11 21:29:12] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-11 21:29:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 21:29:12] [INFO]   -> Found value: GEESEWAY
[2026-01-11 21:29:12] [INFO]   -> Set field 'streetName' = "GEESEWAY"
[2026-01-11 21:29:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 21:29:12] [INFO]   -> Found value: DR
[2026-01-11 21:29:12] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-11 21:29:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 21:29:12] [INFO]   -> Found value: 405 GEESEWAY DR
[2026-01-11 21:29:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "405 GEESEWAY DR"
[2026-01-11 21:29:12] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-11 21:29:12] [INFO] Concatenating street name and type
[2026-01-11 21:29:12] [INFO]   -> Combined street name: GEESEWAY DR
[2026-01-11 21:29:12] [INFO] Built locationCoordinates from lat/lng: 36.17466,-85.43909
[2026-01-11 21:29:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000092","dispatchRunNumber":"2026000092","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":405,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1746600000000029240254661999642848968505859375,"nERISIncidentLongitude":-85.439089999999993096935213543474674224853515625,"alarm":"2026-01-11 15:26:49","dispatched":"2026-01-11 15:29:03","enroute":"2026-01-11 15:29:03","incidentLocationCross":"SHANNON VILLAGE RD","cADVehicleID":"TK12","timedispatch":"2026-01-11 15:29:03","timeenroutetoscene":"2026-01-11 15:29:03","policeReportNumber":"20260003847","dispatchNotes":"[EMS] TEMPERATURE  [01\/11\/26 15:28:55 DSTEPHENS] [EMS] PERRON  PATRICIA   11\/15\/1945  [01\/11\/26 15:27:41 DSTEPHENS] [EMS] WEAK  [01\/11\/26 15:27:08 DSTEPHENS] Event spawned from MENTAL STATUS CHANGES.  [01\/11\/2026 15:26:49 DSTEPHENS]","cADLog":"[EMS] TEMPERATURE  [01\/11\/26 15:28:55 DSTEPHENS] [EMS] PERRON  PATRICIA   11\/15\/1945  [01\/11\/26 15:27:41 DSTEPHENS] [EMS] WEAK  [01\/11\/26 15:27:08 DSTEPHENS] Event spawned from MENTAL STATUS CHANGES.  [01\/11\/2026 15:26:49 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"GEESEWAY DR","incidentAddressTextVersionStreet":"405 GEESEWAY DR","locationCoordinates":"36.17466,-85.43909"}
[2026-01-11 21:29:12] [INFO] Number of extracted fields: 23
[2026-01-11 21:29:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-11 21:29:12] [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-01-11 21:29:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-11 21:29:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-11 21:29:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-11 21:29:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-11 21:29:12] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-11 21:29:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-11 21:29:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-11 21:29:12] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-11 21:29:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-11 21:29:12] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-01-11 21:29:20] [INFO] Created new Dispatches record with ID: 69641629241a8cf52
[2026-01-11 21:29:20] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003847_20260111_212912.XML
[2026-01-11 21:29:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003847_20260111_212912.XML
[2026-01-11 21:43:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003857_20260111_214342.XML
[2026-01-11 21:43:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003857_20260111_214342.XML for user: 68f1466aed072ad4a
[2026-01-11 21:43:42] [INFO] File size: 5120 bytes
[2026-01-11 21:43:42] [INFO] Created FTPFiles record with ID: 6964198e85db189a6
[2026-01-11 21:43:42] [INFO] About to extract fields from XML. File size: 5120 bytes
[2026-01-11 21:43:42] [INFO] Number of mappings: 28
[2026-01-11 21:43:42] [INFO] Starting XML parsing. Content length: 5120
[2026-01-11 21:43:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-11 21:43:42] [INFO] Processing 28 field mappings
[2026-01-11 21:43:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-11 21:43:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-11 21:43:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-11 21:43:42] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-11 21:43:42] [INFO]   -> Found value: AFD
APD
[2026-01-11 21:43:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nAPD"
[2026-01-11 21:43:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-11 21:43:42] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-11 21:43:42] [INFO]   -> Found value: 2026000014
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentInternalId' = "2026000014"
[2026-01-11 21:43:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000014"
[2026-01-11 21:43:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-11 21:43:42] [INFO]   -> Found value: FIRE INVESTIGATION
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE INVESTIGATION"
[2026-01-11 21:43:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-11 21:43:42] [INFO]   -> Found value: 450
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 450
[2026-01-11 21:43:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-11 21:43:42] [INFO]   -> Found value: TN
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-11 21:43:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-11 21:43:42] [INFO]   -> Found value: 38506
[2026-01-11 21:43:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-11 21:43:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-11 21:43:42] [INFO]   -> Found value: B
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentLocationApt' = "B"
[2026-01-11 21:43:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-11 21:43:42] [INFO]   -> Found value: 36.20116
[2026-01-11 21:43:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2011600000000015597834135405719280242919921875
[2026-01-11 21:43:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-11 21:43:42] [INFO]   -> Found value: -85.44011
[2026-01-11 21:43:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.44011000000000422005541622638702392578125
[2026-01-11 21:43:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-11 21:43:42] [INFO]   -> Found value: 2026-01-11 15:41:11
[2026-01-11 21:43:42] [INFO]   -> Set field 'alarm' = "2026-01-11 15:41:11"
[2026-01-11 21:43:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-11 21:43:42] [INFO]   -> Found value: 2026-01-11 15:43:30
[2026-01-11 21:43:42] [INFO]   -> Set field 'dispatched' = "2026-01-11 15:43:30"
[2026-01-11 21:43:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-11 21:43:42] [INFO]   -> Found value: DURANT ST/HWY 111 N
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentLocationCross' = "DURANT ST\/HWY 111 N"
[2026-01-11 21:43:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-11 21:43:42] [INFO]   -> Found value: A1200
[2026-01-11 21:43:42] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-01-11 21:43:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-11 21:43:42] [INFO]   -> Found value: 2026-01-11 15:43:30
[2026-01-11 21:43:42] [INFO]   -> Set field 'timedispatch' = "2026-01-11 15:43:30"
[2026-01-11 21:43:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-11 21:43:42] [INFO]   -> No value found (null or empty)
[2026-01-11 21:43:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-11 21:43:42] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-11 21:43:42] [INFO]   -> Found value: 20260003857
[2026-01-11 21:43:42] [INFO]   -> Set field 'policeReportNumber' = "20260003857"
[2026-01-11 21:43:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-11 21:43:42] [INFO]   -> Found value: 2 COUCHES  [01/11/26 15:42:57 DSTEPHENS] BEHIND BUILDING  LIGHTING COUCHES ON FIRE  [01/11/26 15:42:...
[2026-01-11 21:43:42] [INFO]   -> Set field 'dispatchNotes' = "2 COUCHES  [01\/11\/26 15:42:57 DSTEPHENS] BEHIND BUILDING  LIGHTING COUCHES ON FIRE  [01\/11\/26 15:42:19 DSTEPHENS]"
[2026-01-11 21:43:42] [INFO]   -> Set field 'cADLog' = "2 COUCHES  [01\/11\/26 15:42:57 DSTEPHENS] BEHIND BUILDING  LIGHTING COUCHES ON FIRE  [01\/11\/26 15:42:19 DSTEPHENS]"
[2026-01-11 21:43:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-11 21:43:42] [INFO]   -> Found value: ALGOOD
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-11 21:43:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-11 21:43:42] [INFO]   -> Found value: MAIN
[2026-01-11 21:43:42] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-01-11 21:43:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-11 21:43:42] [INFO]   -> Found value: ST
[2026-01-11 21:43:42] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-11 21:43:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-11 21:43:42] [INFO]   -> Found value: 450-B E MAIN ST
[2026-01-11 21:43:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "450-B E MAIN ST"
[2026-01-11 21:43:42] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-11 21:43:42] [INFO] Concatenating street name and type
[2026-01-11 21:43:42] [INFO]   -> Combined street name: MAIN ST
[2026-01-11 21:43:42] [INFO] Built locationCoordinates from lat/lng: 36.20116,-85.44011
[2026-01-11 21:43:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nAPD","incidentInternalId":"2026000014","dispatchRunNumber":"2026000014","incidentTypeValue1":"FIRE INVESTIGATION","incidentLocationStreetNumber":450,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B","nERISIncidentLatitude":36.2011600000000015597834135405719280242919921875,"nERISIncidentLongitude":-85.44011000000000422005541622638702392578125,"alarm":"2026-01-11 15:41:11","dispatched":"2026-01-11 15:43:30","incidentLocationCross":"DURANT ST\/HWY 111 N","cADVehicleID":"A1200","timedispatch":"2026-01-11 15:43:30","policeReportNumber":"20260003857","dispatchNotes":"2 COUCHES  [01\/11\/26 15:42:57 DSTEPHENS] BEHIND BUILDING  LIGHTING COUCHES ON FIRE  [01\/11\/26 15:42:19 DSTEPHENS]","cADLog":"2 COUCHES  [01\/11\/26 15:42:57 DSTEPHENS] BEHIND BUILDING  LIGHTING COUCHES ON FIRE  [01\/11\/26 15:42:19 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"MAIN ST","incidentAddressTextVersionStreet":"450-B E MAIN ST","locationCoordinates":"36.20116,-85.44011"}
[2026-01-11 21:43:42] [INFO] Number of extracted fields: 22
[2026-01-11 21:43:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
APD'
[2026-01-11 21:43:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
APD', Parsed IDs = ["AFD","APD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-11 21:43:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","APD"]
[2026-01-11 21:43:42] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-11 21:43:42] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-11 21:43:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["APD"]
[2026-01-11 21:43:42] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-11 21:43:42] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-11 21:43:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-11 21:43:42] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-01-11 21:43:43] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-11 21:43:43] [INFO] Found existing IncidentTypeMapping with ID: 6944cc762a114ef22
[2026-01-11 21:43:48] [INFO] Created new Dispatches record with ID: 6964198f6ce2606b2
[2026-01-11 21:43:48] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003857_20260111_214342.XML
[2026-01-11 21:43:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003857_20260111_214342.XML
[2026-01-11 23:45:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml
[2026-01-11 23:45:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml for user: 68d56363ec1209189
[2026-01-11 23:45:15] [INFO] File size: 2292 bytes
[2026-01-11 23:45:16] [INFO] Created FTPFiles record with ID: 6964360c43234732e
[2026-01-11 23:45:16] [INFO] About to extract fields from XML. File size: 2292 bytes
[2026-01-11 23:45:16] [INFO] Number of mappings: 21
[2026-01-11 23:45:16] [INFO] Starting XML parsing. Content length: 2292
[2026-01-11 23:45:16] [INFO] XML parsed successfully. Root element: Incident
[2026-01-11 23:45:16] [INFO] Processing 21 field mappings
[2026-01-11 23:45:16] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-11 23:45:16] [INFO]   -> Found value: 26-01075
[2026-01-11 23:45:16] [INFO]   -> Set field 'dispatchRunNumber' = "26-01075"
[2026-01-11 23:45:16] [INFO]   -> Set field 'cADNumber' = "26-01075"
[2026-01-11 23:45:16] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-11 23:45:16] [INFO]   -> Found value: 412
[2026-01-11 23:45:16] [INFO]   -> Set field 'incidentLocationStreetNumber' = 412
[2026-01-11 23:45:16] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-11 23:45:16] [INFO]   -> Found value: N INGRAM RD
[2026-01-11 23:45:16] [INFO]   -> Set field 'streetName' = "N INGRAM RD"
[2026-01-11 23:45:16] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-11 23:45:16] [INFO]   -> No value found (null or empty)
[2026-01-11 23:45:16] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-11 23:45:16] [INFO]   -> Found value: SIKESTON
[2026-01-11 23:45:16] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-11 23:45:16] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-11 23:45:16] [INFO]   -> No value found (null or empty)
[2026-01-11 23:45:16] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-11 23:45:16] [INFO]   -> Found value: MO
[2026-01-11 23:45:16] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-11 23:45:16] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-11 23:45:16] [INFO]   -> Found value: 63801
[2026-01-11 23:45:16] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-11 23:45:16] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-11 23:45:16] [INFO]   -> Found value: 0
[2026-01-11 23:45:16] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-11 23:45:16] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-11 23:45:16] [INFO]   -> Found value: 0
[2026-01-11 23:45:16] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-11 23:45:16] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-11 23:45:16] [INFO]   -> Found value: FIRE-GAS LEAK
[2026-01-11 23:45:16] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2026-01-11 23:45:16] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE...
[2026-01-11 23:45:16] [INFO]   -> Set field 'dispatchNotes' = "01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF"
[2026-01-11 23:45:16] [INFO]   -> Set field 'cADLog' = "01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF"
[2026-01-11 23:45:16] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026T17:29:09
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:29:09
[2026-01-11 23:45:16] [INFO]   -> Set field 'alarm' = "2026-11-01 17:29:09"
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:29:09
[2026-01-11 23:45:16] [INFO]   -> Set field 'dispatched' = "2026-11-01 17:29:09"
[2026-01-11 23:45:16] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026T17:33:25
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:33:25
[2026-01-11 23:45:16] [INFO]   -> Set field 'onScene' = "2026-11-01 17:33:25"
[2026-01-11 23:45:16] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026T17:44:50
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:44:50
[2026-01-11 23:45:16] [INFO]   -> Set field 'cleared' = "2026-11-01 17:44:50"
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:44:50
[2026-01-11 23:45:16] [INFO]   -> Set field 'inService' = "2026-11-01 17:44:50"
[2026-01-11 23:45:16] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-11 23:45:16] [INFO]   -> Found value: ENG2
[2026-01-11 23:45:16] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-11 23:45:16] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-11 23:45:16] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026T17:31:30
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:31:30
[2026-01-11 23:45:16] [INFO]   -> Set field 'timeenroutetoscene' = "2026-11-01 17:31:30"
[2026-01-11 23:45:16] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026T17:33:27
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:33:27
[2026-01-11 23:45:16] [INFO]   -> Set field 'timeonscene' = "2026-11-01 17:33:27"
[2026-01-11 23:45:16] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026T17:44:50
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:44:50
[2026-01-11 23:45:16] [INFO]   -> Set field 'timeunitclear' = "2026-11-01 17:44:50"
[2026-01-11 23:45:16] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-11 23:45:16] [INFO]   -> Found value: 01-11-2026T17:31:28
[2026-01-11 23:45:16] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:31:28
[2026-01-11 23:45:16] [INFO]   -> Set field 'timedispatch' = "2026-11-01 17:31:28"
[2026-01-11 23:45:16] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-11 23:45:16] [INFO]   -> Found value: SDPSFD
[2026-01-11 23:45:16] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-11 23:45:16] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-11 23:45:16] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-11 23:45:16] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01075","cADNumber":"26-01075","incidentLocationStreetNumber":412,"streetName":"N INGRAM RD","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF","cADLog":"01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF","alarm":"2026-11-01 17:29:09","dispatched":"2026-11-01 17:29:09","onScene":"2026-11-01 17:33:25","cleared":"2026-11-01 17:44:50","inService":"2026-11-01 17:44:50","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-11-01 17:31:30","timeonscene":"2026-11-01 17:33:27","timeunitclear":"2026-11-01 17:44:50","timedispatch":"2026-11-01 17:31:28","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-11 23:45:16] [INFO] Number of extracted fields: 25
[2026-01-11 23:45:16] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-11 23:45:16] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-11 23:45:16] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-11 23:45:16] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-11 23:45:16] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-11 23:45:16] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-11 23:45:16] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-11 23:45:16] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-11 23:45:16] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2026-01-11 23:45:19] [INFO] Created new Dispatches record with ID: 6964360da7a90ec9f
[2026-01-11 23:45:19] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml
[2026-01-11 23:45:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml
[2026-01-11 23:59:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml
[2026-01-11 23:59:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml for user: 68d56363ec1209189
[2026-01-11 23:59:25] [INFO] File size: 2496 bytes
[2026-01-11 23:59:26] [INFO] Created FTPFiles record with ID: 6964395e22af7902e
[2026-01-11 23:59:26] [INFO] About to extract fields from XML. File size: 2496 bytes
[2026-01-11 23:59:26] [INFO] Number of mappings: 21
[2026-01-11 23:59:26] [INFO] Starting XML parsing. Content length: 2496
[2026-01-11 23:59:26] [INFO] XML parsed successfully. Root element: Incident
[2026-01-11 23:59:26] [INFO] Processing 21 field mappings
[2026-01-11 23:59:26] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-11 23:59:26] [INFO]   -> Found value: 26-01075
[2026-01-11 23:59:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-01075"
[2026-01-11 23:59:26] [INFO]   -> Set field 'cADNumber' = "26-01075"
[2026-01-11 23:59:26] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-11 23:59:26] [INFO]   -> Found value: 412
[2026-01-11 23:59:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 412
[2026-01-11 23:59:26] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-11 23:59:26] [INFO]   -> Found value: N INGRAM RD
[2026-01-11 23:59:26] [INFO]   -> Set field 'streetName' = "N INGRAM RD"
[2026-01-11 23:59:26] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-11 23:59:26] [INFO]   -> No value found (null or empty)
[2026-01-11 23:59:26] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-11 23:59:26] [INFO]   -> Found value: SIKESTON
[2026-01-11 23:59:26] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-11 23:59:26] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-11 23:59:26] [INFO]   -> No value found (null or empty)
[2026-01-11 23:59:26] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-11 23:59:26] [INFO]   -> Found value: MO
[2026-01-11 23:59:26] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-11 23:59:26] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-11 23:59:26] [INFO]   -> Found value: 63801
[2026-01-11 23:59:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-11 23:59:26] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-11 23:59:26] [INFO]   -> Found value: 0
[2026-01-11 23:59:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-11 23:59:26] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-11 23:59:26] [INFO]   -> Found value: 0
[2026-01-11 23:59:26] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-11 23:59:26] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-11 23:59:26] [INFO]   -> Found value: FIRE-GAS LEAK
[2026-01-11 23:59:26] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2026-01-11 23:59:26] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE...
[2026-01-11 23:59:26] [INFO]   -> Set field 'dispatchNotes' = "01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF 01-11-2026 17:44:57|Disposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN 01-11-2026 17:58:09|***Notes added after incident was closed***\nPRIORTY TO ST FRANCIS 01-11-2026 17:58:50|DISRGARD ST FRANCIS"
[2026-01-11 23:59:26] [INFO]   -> Set field 'cADLog' = "01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF 01-11-2026 17:44:57|Disposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN 01-11-2026 17:58:09|***Notes added after incident was closed***\nPRIORTY TO ST FRANCIS 01-11-2026 17:58:50|DISRGARD ST FRANCIS"
[2026-01-11 23:59:26] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026T17:29:09
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:29:09
[2026-01-11 23:59:26] [INFO]   -> Set field 'alarm' = "2026-11-01 17:29:09"
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:29:09
[2026-01-11 23:59:26] [INFO]   -> Set field 'dispatched' = "2026-11-01 17:29:09"
[2026-01-11 23:59:26] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026T17:33:25
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:33:25
[2026-01-11 23:59:26] [INFO]   -> Set field 'onScene' = "2026-11-01 17:33:25"
[2026-01-11 23:59:26] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026T17:44:50
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:44:50
[2026-01-11 23:59:26] [INFO]   -> Set field 'cleared' = "2026-11-01 17:44:50"
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:44:50
[2026-01-11 23:59:26] [INFO]   -> Set field 'inService' = "2026-11-01 17:44:50"
[2026-01-11 23:59:26] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-11 23:59:26] [INFO]   -> Found value: ENG2
[2026-01-11 23:59:26] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-11 23:59:26] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-11 23:59:26] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026T17:31:30
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:31:30
[2026-01-11 23:59:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-11-01 17:31:30"
[2026-01-11 23:59:26] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026T17:33:27
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:33:27
[2026-01-11 23:59:26] [INFO]   -> Set field 'timeonscene' = "2026-11-01 17:33:27"
[2026-01-11 23:59:26] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026T17:44:50
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:44:50
[2026-01-11 23:59:26] [INFO]   -> Set field 'timeunitclear' = "2026-11-01 17:44:50"
[2026-01-11 23:59:26] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-11 23:59:26] [INFO]   -> Found value: 01-11-2026T17:31:28
[2026-01-11 23:59:26] [INFO] Reformatted DD-MM-YYYY date '01-11-2026' (day=01, month=11) to ISO: 2026-11-01T17:31:28
[2026-01-11 23:59:26] [INFO]   -> Set field 'timedispatch' = "2026-11-01 17:31:28"
[2026-01-11 23:59:26] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-11 23:59:26] [INFO]   -> Found value: SDPSFD
[2026-01-11 23:59:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-11 23:59:26] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-11 23:59:26] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-11 23:59:26] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01075","cADNumber":"26-01075","incidentLocationStreetNumber":412,"streetName":"N INGRAM RD","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF 01-11-2026 17:44:57|Disposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN 01-11-2026 17:58:09|***Notes added after incident was closed***\nPRIORTY TO ST FRANCIS 01-11-2026 17:58:50|DISRGARD ST FRANCIS","cADLog":"01-11-2026 17:27:47|CALLER SAID THEIR GENERATOR WAS LEAKING GASOLINE IN THE GARAGE AND NOW FUMES ARE STRONG\nTHEY DO NOT WANT TO RAISE GARAGE DOOR CAUSE DO NOT WANT TO USE ELECTRIC 01-11-2026 17:33:21|SINGLE STORY STRUCTURE NOTHING SHOWING 01-11-2026 17:39:04|AIR EVAC ON GROUND STANDBY, POSSIBLE ETA OF 10 MIN 01-11-2026 17:41:15|DISREGRAD AIR EVAC 01-11-2026 17:44:48|TAKEN CARE OF 01-11-2026 17:44:57|Disposition - SDPS FD:  RPT\nDisposition - SDPS PD:  NRN 01-11-2026 17:58:09|***Notes added after incident was closed***\nPRIORTY TO ST FRANCIS 01-11-2026 17:58:50|DISRGARD ST FRANCIS","alarm":"2026-11-01 17:29:09","dispatched":"2026-11-01 17:29:09","onScene":"2026-11-01 17:33:25","cleared":"2026-11-01 17:44:50","inService":"2026-11-01 17:44:50","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-11-01 17:31:30","timeonscene":"2026-11-01 17:33:27","timeunitclear":"2026-11-01 17:44:50","timedispatch":"2026-11-01 17:31:28","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-11 23:59:26] [INFO] Number of extracted fields: 25
[2026-01-11 23:59:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-11 23:59:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-11 23:59:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-11 23:59:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-11 23:59:26] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-11 23:59:26] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-11 23:59:26] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-11 23:59:26] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-11 23:59:26] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2026-01-11 23:59:26] [INFO] Found existing Dispatch with cADNumber '26-01075', ID: 6964360da7a90ec9f - will update instead of create
[2026-01-11 23:59:26] [INFO] Updated existing Dispatches record with ID: 6964360da7a90ec9f
[2026-01-11 23:59:26] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml
[2026-01-11 23:59:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01075.xml
