[2026-01-07 05:15:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002083_20260107_051549.XML
[2026-01-07 05:15:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002083_20260107_051549.XML for user: 68f1466aed072ad4a
[2026-01-07 05:15:49] [INFO] File size: 5616 bytes
[2026-01-07 05:15:50] [INFO] Created FTPFiles record with ID: 695dec062549d2998
[2026-01-07 05:15:50] [INFO] About to extract fields from XML. File size: 5616 bytes
[2026-01-07 05:15:50] [INFO] Number of mappings: 28
[2026-01-07 05:15:50] [INFO] Starting XML parsing. Content length: 5616
[2026-01-07 05:15:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 05:15:50] [INFO] Processing 28 field mappings
[2026-01-07 05:15:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 05:15:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 05:15:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 05:15:50] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-07 05:15:50] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-07 05:15:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-07 05:15:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 05:15:50] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-07 05:15:50] [INFO]   -> Found value: 2026000045
[2026-01-07 05:15:50] [INFO]   -> Set field 'incidentInternalId' = "2026000045"
[2026-01-07 05:15:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000045"
[2026-01-07 05:15:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 05:15:50] [INFO]   -> Found value: SEIZURE
[2026-01-07 05:15:50] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2026-01-07 05:15:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 05:15:50] [INFO]   -> Found value: 483
[2026-01-07 05:15:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 483
[2026-01-07 05:15:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 05:15:50] [INFO]   -> Found value: TN
[2026-01-07 05:15:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 05:15:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 05:15:50] [INFO]   -> Found value: 38501
[2026-01-07 05:15:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-07 05:15:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 05:15:50] [INFO]   -> Found value: 36.21783
[2026-01-07 05:15:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21782999999999930196281638927757740020751953125
[2026-01-07 05:15:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 05:15:50] [INFO]   -> Found value: -85.50233
[2026-01-07 05:15:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.502330000000000609361450187861919403076171875
[2026-01-07 05:15:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 05:15:50] [INFO]   -> Found value: 2026-01-06 23:15:10
[2026-01-07 05:15:50] [INFO]   -> Set field 'alarm' = "2026-01-06 23:15:10"
[2026-01-07 05:15:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 05:15:50] [INFO]   -> Found value: 2026-01-06 23:15:43
[2026-01-07 05:15:50] [INFO]   -> Set field 'dispatched' = "2026-01-06 23:15:43"
[2026-01-07 05:15:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 05:15:50] [INFO]   -> Found value: FREEHILL RD/PINEWOOD DR
[2026-01-07 05:15:50] [INFO]   -> Set field 'incidentLocationCross' = "FREEHILL RD\/PINEWOOD DR"
[2026-01-07 05:15:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 05:15:50] [INFO]   -> Found value: PCFR
[2026-01-07 05:15:50] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 05:15:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 05:15:50] [INFO]   -> Found value: 2026-01-06 23:15:43
[2026-01-07 05:15:50] [INFO]   -> Set field 'timedispatch' = "2026-01-06 23:15:43"
[2026-01-07 05:15:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 05:15:50] [INFO]   -> No value found (null or empty)
[2026-01-07 05:15:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 05:15:50] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 05:15:50] [INFO]   -> Found value: 20260002083
[2026-01-07 05:15:50] [INFO]   -> Set field 'policeReportNumber' = "20260002083"
[2026-01-07 05:15:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 05:15:50] [INFO]   -> Found value: [APCO INTELLICOMM] Case ID: BeN_AfkUg_ Caller Phone: 9315288213 Caller Name: ALLEN GARY Incident Loc...
[2026-01-07 05:15:50] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Case ID: BeN_AfkUg_ Caller Phone: 9315288213 Caller Name: ALLEN GARY Incident Location: 483 EDGEWOOD DR Incident Location Detail: FREEHILL RD\/PINEWOOD DR Nature: SEIZURE Incident #: 20260002081 CAD Call Taker: JDICK Chief Complaint: (empty)  [01\/06\/26 23:15:13 PSUTIL01] [EMS] 39 YO  [01\/06\/26 23:15:12 JDICK] Event spawned from SEIZURE.  [01\/06\/2026 23:15:10 JDICK]"
[2026-01-07 05:15:50] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Case ID: BeN_AfkUg_ Caller Phone: 9315288213 Caller Name: ALLEN GARY Incident Location: 483 EDGEWOOD DR Incident Location Detail: FREEHILL RD\/PINEWOOD DR Nature: SEIZURE Incident #: 20260002081 CAD Call Taker: JDICK Chief Complaint: (empty)  [01\/06\/26 23:15:13 PSUTIL01] [EMS] 39 YO  [01\/06\/26 23:15:12 JDICK] Event spawned from SEIZURE.  [01\/06\/2026 23:15:10 JDICK]"
[2026-01-07 05:15:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 05:15:50] [INFO]   -> Found value: COOKEVILLE
[2026-01-07 05:15:50] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-07 05:15:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 05:15:50] [INFO]   -> Found value: EDGEWOOD
[2026-01-07 05:15:50] [INFO]   -> Set field 'streetName' = "EDGEWOOD"
[2026-01-07 05:15:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 05:15:50] [INFO]   -> Found value: DR
[2026-01-07 05:15:50] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-07 05:15:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 05:15:50] [INFO]   -> Found value: 483 EDGEWOOD DR
[2026-01-07 05:15:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "483 EDGEWOOD DR"
[2026-01-07 05:15:50] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 05:15:50] [INFO] Concatenating street name and type
[2026-01-07 05:15:50] [INFO]   -> Combined street name: EDGEWOOD DR
[2026-01-07 05:15:50] [INFO] Built locationCoordinates from lat/lng: 36.21783,-85.50233
[2026-01-07 05:15:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000045","dispatchRunNumber":"2026000045","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":483,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21782999999999930196281638927757740020751953125,"nERISIncidentLongitude":-85.502330000000000609361450187861919403076171875,"alarm":"2026-01-06 23:15:10","dispatched":"2026-01-06 23:15:43","incidentLocationCross":"FREEHILL RD\/PINEWOOD DR","cADVehicleID":"PCFR","timedispatch":"2026-01-06 23:15:43","policeReportNumber":"20260002083","dispatchNotes":"[APCO INTELLICOMM] Case ID: BeN_AfkUg_ Caller Phone: 9315288213 Caller Name: ALLEN GARY Incident Location: 483 EDGEWOOD DR Incident Location Detail: FREEHILL RD\/PINEWOOD DR Nature: SEIZURE Incident #: 20260002081 CAD Call Taker: JDICK Chief Complaint: (empty)  [01\/06\/26 23:15:13 PSUTIL01] [EMS] 39 YO  [01\/06\/26 23:15:12 JDICK] Event spawned from SEIZURE.  [01\/06\/2026 23:15:10 JDICK]","cADLog":"[APCO INTELLICOMM] Case ID: BeN_AfkUg_ Caller Phone: 9315288213 Caller Name: ALLEN GARY Incident Location: 483 EDGEWOOD DR Incident Location Detail: FREEHILL RD\/PINEWOOD DR Nature: SEIZURE Incident #: 20260002081 CAD Call Taker: JDICK Chief Complaint: (empty)  [01\/06\/26 23:15:13 PSUTIL01] [EMS] 39 YO  [01\/06\/26 23:15:12 JDICK] Event spawned from SEIZURE.  [01\/06\/2026 23:15:10 JDICK]","incidentLocationCity":"COOKEVILLE","streetName":"EDGEWOOD DR","incidentAddressTextVersionStreet":"483 EDGEWOOD DR","locationCoordinates":"36.21783,-85.50233"}
[2026-01-07 05:15:50] [INFO] Number of extracted fields: 21
[2026-01-07 05:15:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-07 05:15:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-07 05:15:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-07 05:15:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 05:15:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 05:15:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-07 05:15:50] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-07 05:15:50] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 05:15:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-07 05:15:50] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 05:15:50] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 05:15:50] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2026-01-07 05:15:58] [INFO] Created new Dispatches record with ID: 695dec06d34f78451
[2026-01-07 05:15:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002083_20260107_051549.XML
[2026-01-07 05:15:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002083_20260107_051549.XML
[2026-01-07 06:32:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00618.xml
[2026-01-07 06:32:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00618.xml for user: 68d56363ec1209189
[2026-01-07 06:32:18] [INFO] File size: 2603 bytes
[2026-01-07 06:32:18] [INFO] Created FTPFiles record with ID: 695dfdf2dc204cdac
[2026-01-07 06:32:18] [INFO] About to extract fields from XML. File size: 2603 bytes
[2026-01-07 06:32:18] [INFO] Number of mappings: 21
[2026-01-07 06:32:18] [INFO] Starting XML parsing. Content length: 2603
[2026-01-07 06:32:18] [INFO] XML parsed successfully. Root element: Incident
[2026-01-07 06:32:18] [INFO] Processing 21 field mappings
[2026-01-07 06:32:18] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-07 06:32:18] [INFO]   -> Found value: 26-00618
[2026-01-07 06:32:18] [INFO]   -> Set field 'dispatchRunNumber' = "26-00618"
[2026-01-07 06:32:18] [INFO]   -> Set field 'cADNumber' = "26-00618"
[2026-01-07 06:32:18] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-07 06:32:18] [INFO]   -> Found value: 830
[2026-01-07 06:32:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 830
[2026-01-07 06:32:18] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-07 06:32:18] [INFO]   -> Found value: S WEST ST
[2026-01-07 06:32:18] [INFO]   -> Set field 'streetName' = "S WEST ST"
[2026-01-07 06:32:18] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-07 06:32:18] [INFO]   -> No value found (null or empty)
[2026-01-07 06:32:18] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-07 06:32:18] [INFO]   -> Found value: SIKESTON
[2026-01-07 06:32:18] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-07 06:32:18] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-07 06:32:18] [INFO]   -> Found value: ALAN WIRE CO
[2026-01-07 06:32:18] [INFO]   -> Set field 'businessName' = "ALAN WIRE CO"
[2026-01-07 06:32:18] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-07 06:32:18] [INFO]   -> Found value: MO
[2026-01-07 06:32:18] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-07 06:32:18] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-07 06:32:18] [INFO]   -> Found value: 63801
[2026-01-07 06:32:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-07 06:32:18] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-07 06:32:18] [INFO]   -> Found value: 0
[2026-01-07 06:32:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-07 06:32:18] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-07 06:32:18] [INFO]   -> Found value: 0
[2026-01-07 06:32:18] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-07 06:32:18] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-07 06:32:18] [INFO]   -> Found value: FIRE-ALARM MECH
[2026-01-07 06:32:18] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-ALARM MECH"
[2026-01-07 06:32:18] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026 00:22:15|ZONE 5 GENERAL FIRE ALARM
KEY HOLDER DOUG WATSON 573-380-9328 01-07-2026 00:26:0...
[2026-01-07 06:32:18] [INFO]   -> Set field 'dispatchNotes' = "01-07-2026 00:22:15|ZONE 5 GENERAL FIRE ALARM\nKEY HOLDER DOUG WATSON 573-380-9328 01-07-2026 00:26:02|C87 ADVISED A BARREL WAS BURNING EARLIER THEY DID SEPARATED IT FROM THE BUILDING THEN 01-07-2026 00:27:34|C87 ON SCENE WITH COMMAND 01-07-2026 00:27:57|C87 MAKING CONTACT AT OFFICE 01-07-2026 00:28:36|TWR 1 STAGING AT HYDRANT 01-07-2026 00:30:14|VAPE PEN SET OFF ALARM 01-07-2026 00:30:59|COMMAND CANCELED ALL UNITS"
[2026-01-07 06:32:18] [INFO]   -> Set field 'cADLog' = "01-07-2026 00:22:15|ZONE 5 GENERAL FIRE ALARM\nKEY HOLDER DOUG WATSON 573-380-9328 01-07-2026 00:26:02|C87 ADVISED A BARREL WAS BURNING EARLIER THEY DID SEPARATED IT FROM THE BUILDING THEN 01-07-2026 00:27:34|C87 ON SCENE WITH COMMAND 01-07-2026 00:27:57|C87 MAKING CONTACT AT OFFICE 01-07-2026 00:28:36|TWR 1 STAGING AT HYDRANT 01-07-2026 00:30:14|VAPE PEN SET OFF ALARM 01-07-2026 00:30:59|COMMAND CANCELED ALL UNITS"
[2026-01-07 06:32:18] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026T00:23:44
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:23:44
[2026-01-07 06:32:18] [INFO]   -> Set field 'alarm' = "2026-07-01 00:23:44"
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:23:44
[2026-01-07 06:32:18] [INFO]   -> Set field 'dispatched' = "2026-07-01 00:23:44"
[2026-01-07 06:32:18] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026T00:27:37
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:27:37
[2026-01-07 06:32:18] [INFO]   -> Set field 'onScene' = "2026-07-01 00:27:37"
[2026-01-07 06:32:18] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026T00:31:10
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:31:10
[2026-01-07 06:32:18] [INFO]   -> Set field 'cleared' = "2026-07-01 00:31:10"
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:31:10
[2026-01-07 06:32:18] [INFO]   -> Set field 'inService' = "2026-07-01 00:31:10"
[2026-01-07 06:32:18] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-07 06:32:18] [INFO]   -> Found value: ENG2
[2026-01-07 06:32:18] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-07 06:32:18] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-07 06:32:18] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026T00:25:28
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:25:28
[2026-01-07 06:32:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-07-01 00:25:28"
[2026-01-07 06:32:18] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026T00:28:04
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:28:04
[2026-01-07 06:32:18] [INFO]   -> Set field 'timeonscene' = "2026-07-01 00:28:04"
[2026-01-07 06:32:18] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026T00:31:10
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:31:10
[2026-01-07 06:32:18] [INFO]   -> Set field 'timeunitclear' = "2026-07-01 00:31:10"
[2026-01-07 06:32:18] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-07 06:32:18] [INFO]   -> Found value: 01-07-2026T00:25:26
[2026-01-07 06:32:18] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T00:25:26
[2026-01-07 06:32:18] [INFO]   -> Set field 'timedispatch' = "2026-07-01 00:25:26"
[2026-01-07 06:32:18] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-07 06:32:18] [INFO]   -> Found value: SDPSFD
[2026-01-07 06:32:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-07 06:32:18] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-01-07 06:32:18] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-07 06:32:18] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00618","cADNumber":"26-00618","incidentLocationStreetNumber":830,"streetName":"S WEST ST","incidentLocationCity":"SIKESTON","businessName":"ALAN WIRE CO","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-ALARM MECH","dispatchNotes":"01-07-2026 00:22:15|ZONE 5 GENERAL FIRE ALARM\nKEY HOLDER DOUG WATSON 573-380-9328 01-07-2026 00:26:02|C87 ADVISED A BARREL WAS BURNING EARLIER THEY DID SEPARATED IT FROM THE BUILDING THEN 01-07-2026 00:27:34|C87 ON SCENE WITH COMMAND 01-07-2026 00:27:57|C87 MAKING CONTACT AT OFFICE 01-07-2026 00:28:36|TWR 1 STAGING AT HYDRANT 01-07-2026 00:30:14|VAPE PEN SET OFF ALARM 01-07-2026 00:30:59|COMMAND CANCELED ALL UNITS","cADLog":"01-07-2026 00:22:15|ZONE 5 GENERAL FIRE ALARM\nKEY HOLDER DOUG WATSON 573-380-9328 01-07-2026 00:26:02|C87 ADVISED A BARREL WAS BURNING EARLIER THEY DID SEPARATED IT FROM THE BUILDING THEN 01-07-2026 00:27:34|C87 ON SCENE WITH COMMAND 01-07-2026 00:27:57|C87 MAKING CONTACT AT OFFICE 01-07-2026 00:28:36|TWR 1 STAGING AT HYDRANT 01-07-2026 00:30:14|VAPE PEN SET OFF ALARM 01-07-2026 00:30:59|COMMAND CANCELED ALL UNITS","alarm":"2026-07-01 00:23:44","dispatched":"2026-07-01 00:23:44","onScene":"2026-07-01 00:27:37","cleared":"2026-07-01 00:31:10","inService":"2026-07-01 00:31:10","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-07-01 00:25:28","timeonscene":"2026-07-01 00:28:04","timeunitclear":"2026-07-01 00:31:10","timedispatch":"2026-07-01 00:25:26","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-07 06:32:18] [INFO] Number of extracted fields: 26
[2026-01-07 06:32:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-07 06:32:18] [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-07 06:32:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-07 06:32:18] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-07 06:32:19] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-07 06:32:19] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-07 06:32:19] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-07 06:32:19] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-07 06:32:19] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e872e5ae13
[2026-01-07 06:32:21] [INFO] Created new Dispatches record with ID: 695dfdf3a159ecdf3
[2026-01-07 06:32:21] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00618.xml
[2026-01-07 06:32:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00618.xml
[2026-01-07 06:50:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:50:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:50:45] [INFO] File size: 11884 bytes
[2026-01-07 06:50:45] [INFO] Created FTPFiles record with ID: 695e02456c8bd6231
[2026-01-07 06:50:45] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:50:45] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:50:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:51:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:51:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:51:05] [INFO] File size: 12860 bytes
[2026-01-07 06:51:06] [INFO] Created FTPFiles record with ID: 695e025a3478874c2
[2026-01-07 06:51:06] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:51:06] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:51:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:51:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:51:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:51:27] [INFO] File size: 14105 bytes
[2026-01-07 06:51:27] [INFO] Created FTPFiles record with ID: 695e026f55001286f
[2026-01-07 06:51:27] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:51:27] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:51:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:52:38] [INFO] File size: 16340 bytes
[2026-01-07 06:52:38] [INFO] Created FTPFiles record with ID: 695e02b6d70a9313b
[2026-01-07 06:52:38] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:52:38] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:52:41] [INFO] File size: 17926 bytes
[2026-01-07 06:52:41] [INFO] Created FTPFiles record with ID: 695e02b9afc6e128d
[2026-01-07 06:52:41] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:52:41] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:52:54] [INFO] File size: 20161 bytes
[2026-01-07 06:52:54] [INFO] Created FTPFiles record with ID: 695e02c6c00b2aca7
[2026-01-07 06:52:54] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:52:54] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:52:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:56:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:56:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:56:02] [INFO] File size: 21818 bytes
[2026-01-07 06:56:03] [INFO] Created FTPFiles record with ID: 695e038336ed397e5
[2026-01-07 06:56:03] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:56:03] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:56:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:59:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:59:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 06:59:28] [INFO] File size: 23431 bytes
[2026-01-07 06:59:29] [INFO] Created FTPFiles record with ID: 695e0451e55c44b2f
[2026-01-07 06:59:29] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 06:59:29] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 06:59:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:00:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:00:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 07:00:08] [INFO] File size: 25038 bytes
[2026-01-07 07:00:09] [INFO] Created FTPFiles record with ID: 695e0478f035f0c31
[2026-01-07 07:00:09] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 07:00:09] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:00:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:16:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:16:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 07:16:26] [INFO] File size: 26144 bytes
[2026-01-07 07:16:26] [INFO] Created FTPFiles record with ID: 695e084a8eca6b518
[2026-01-07 07:16:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 07:16:26] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:16:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:16:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:16:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml for user: 69320e6a9e3e5ef71
[2026-01-07 07:16:30] [INFO] File size: 26409 bytes
[2026-01-07 07:16:30] [INFO] Created FTPFiles record with ID: 695e084e77d0bb189
[2026-01-07 07:16:30] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 07:16:30] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 07:16:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001210.xml
[2026-01-07 10:54:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002122_20260107_105430.XML
[2026-01-07 10:54:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002122_20260107_105430.XML for user: 68f1466aed072ad4a
[2026-01-07 10:54:30] [INFO] File size: 5566 bytes
[2026-01-07 10:54:30] [INFO] Created FTPFiles record with ID: 695e3b66cd13b338d
[2026-01-07 10:54:30] [INFO] About to extract fields from XML. File size: 5566 bytes
[2026-01-07 10:54:30] [INFO] Number of mappings: 28
[2026-01-07 10:54:30] [INFO] Starting XML parsing. Content length: 5566
[2026-01-07 10:54:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 10:54:30] [INFO] Processing 28 field mappings
[2026-01-07 10:54:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 10:54:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 10:54:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 10:54:30] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-07 10:54:30] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-07 10:54:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-07 10:54:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 10:54:30] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-07 10:54:30] [INFO]   -> Found value: 2026000046
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentInternalId' = "2026000046"
[2026-01-07 10:54:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000046"
[2026-01-07 10:54:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 10:54:30] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-07 10:54:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 10:54:30] [INFO]   -> Found value: 2356
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2356
[2026-01-07 10:54:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 10:54:30] [INFO]   -> Found value: TN
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 10:54:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 10:54:30] [INFO]   -> Found value: 38506
[2026-01-07 10:54:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-07 10:54:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 10:54:30] [INFO]   -> Found value: 2
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentLocationApt' = 2
[2026-01-07 10:54:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 10:54:30] [INFO]   -> Found value: 36.12121
[2026-01-07 10:54:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.12120999999999781948645249940454959869384765625
[2026-01-07 10:54:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 10:54:30] [INFO]   -> Found value: -85.44933
[2026-01-07 10:54:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.449330000000003337845555506646633148193359375
[2026-01-07 10:54:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 10:54:30] [INFO]   -> Found value: 2026-01-07 04:53:51
[2026-01-07 10:54:30] [INFO]   -> Set field 'alarm' = "2026-01-07 04:53:51"
[2026-01-07 10:54:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 10:54:30] [INFO]   -> Found value: 2026-01-07 04:54:27
[2026-01-07 10:54:30] [INFO]   -> Set field 'dispatched' = "2026-01-07 04:54:27"
[2026-01-07 10:54:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 10:54:30] [INFO]   -> Found value: DAVE DIETZ RD/LAKE SHORE DR
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentLocationCross' = "DAVE DIETZ RD\/LAKE SHORE DR"
[2026-01-07 10:54:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 10:54:30] [INFO]   -> Found value: PCFR
[2026-01-07 10:54:30] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 10:54:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 10:54:30] [INFO]   -> Found value: 2026-01-07 04:54:27
[2026-01-07 10:54:30] [INFO]   -> Set field 'timedispatch' = "2026-01-07 04:54:27"
[2026-01-07 10:54:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 10:54:30] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 10:54:30] [INFO]   -> Found value: 20260002122
[2026-01-07 10:54:30] [INFO]   -> Set field 'policeReportNumber' = "20260002122"
[2026-01-07 10:54:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 10:54:30] [INFO]   -> Found value: [APCO INTELLICOMM] Case ID: -vwkbVWqTs Caller Phone: 9312615076 Caller Name: VERIZON Incident Locati...
[2026-01-07 10:54:30] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Case ID: -vwkbVWqTs Caller Phone: 9312615076 Caller Name: VERIZON Incident Location: 2356-2 HWY 70 E Incident Location Detail: DAVE DIETZ RD\/LAKE SHORE DR Nature: BREATHING PROBLEMS Incident #: 20260002121 CAD Call Taker: MCLAYBURN2 Chief Complaint: (empty)  [01\/07\/26 04:53:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 04:53:51 MCLAYBURN2] UNABLE TO BREATHE  [01\/07\/26 04:53:48 MCLAYBURN2]]"
[2026-01-07 10:54:30] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Case ID: -vwkbVWqTs Caller Phone: 9312615076 Caller Name: VERIZON Incident Location: 2356-2 HWY 70 E Incident Location Detail: DAVE DIETZ RD\/LAKE SHORE DR Nature: BREATHING PROBLEMS Incident #: 20260002121 CAD Call Taker: MCLAYBURN2 Chief Complaint: (empty)  [01\/07\/26 04:53:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 04:53:51 MCLAYBURN2] UNABLE TO BREATHE  [01\/07\/26 04:53:48 MCLAYBURN2]]"
[2026-01-07 10:54:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 10:54:30] [INFO]   -> Found value: COOKEVILLE
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-07 10:54:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 10:54:30] [INFO]   -> Found value: HWY 70
[2026-01-07 10:54:30] [INFO]   -> Set field 'streetName' = "HWY 70"
[2026-01-07 10:54:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 10:54:30] [INFO]   -> No value found (null or empty)
[2026-01-07 10:54:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 10:54:30] [INFO]   -> Found value: 2356-2 HWY 70 E
[2026-01-07 10:54:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2356-2 HWY 70 E"
[2026-01-07 10:54:30] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 10:54:30] [INFO] Built locationCoordinates from lat/lng: 36.12121,-85.44933
[2026-01-07 10:54:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000046","dispatchRunNumber":"2026000046","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":2356,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":2,"nERISIncidentLatitude":36.12120999999999781948645249940454959869384765625,"nERISIncidentLongitude":-85.449330000000003337845555506646633148193359375,"alarm":"2026-01-07 04:53:51","dispatched":"2026-01-07 04:54:27","incidentLocationCross":"DAVE DIETZ RD\/LAKE SHORE DR","cADVehicleID":"PCFR","timedispatch":"2026-01-07 04:54:27","policeReportNumber":"20260002122","dispatchNotes":"[APCO INTELLICOMM] Case ID: -vwkbVWqTs Caller Phone: 9312615076 Caller Name: VERIZON Incident Location: 2356-2 HWY 70 E Incident Location Detail: DAVE DIETZ RD\/LAKE SHORE DR Nature: BREATHING PROBLEMS Incident #: 20260002121 CAD Call Taker: MCLAYBURN2 Chief Complaint: (empty)  [01\/07\/26 04:53:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 04:53:51 MCLAYBURN2] UNABLE TO BREATHE  [01\/07\/26 04:53:48 MCLAYBURN2]]","cADLog":"[APCO INTELLICOMM] Case ID: -vwkbVWqTs Caller Phone: 9312615076 Caller Name: VERIZON Incident Location: 2356-2 HWY 70 E Incident Location Detail: DAVE DIETZ RD\/LAKE SHORE DR Nature: BREATHING PROBLEMS Incident #: 20260002121 CAD Call Taker: MCLAYBURN2 Chief Complaint: (empty)  [01\/07\/26 04:53:53 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 04:53:51 MCLAYBURN2] UNABLE TO BREATHE  [01\/07\/26 04:53:48 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"HWY 70","incidentAddressTextVersionStreet":"2356-2 HWY 70 E","locationCoordinates":"36.12121,-85.44933"}
[2026-01-07 10:54:30] [INFO] Number of extracted fields: 22
[2026-01-07 10:54:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-07 10:54:30] [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-07 10:54:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-07 10:54:30] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 10:54:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 10:54:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-07 10:54:31] [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-07 10:54:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 10:54:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-07 10:54:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 10:54:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 10:54:31] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-07 10:54:38] [INFO] Created new Dispatches record with ID: 695e3b67b91b6872d
[2026-01-07 10:54:38] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002122_20260107_105430.XML
[2026-01-07 10:54:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002122_20260107_105430.XML
[2026-01-07 12:48:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002137_20260107_124810.XML
[2026-01-07 12:48:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002137_20260107_124810.XML for user: 68f1466aed072ad4a
[2026-01-07 12:48:10] [INFO] File size: 5711 bytes
[2026-01-07 12:48:11] [INFO] Created FTPFiles record with ID: 695e560b305c4b13a
[2026-01-07 12:48:11] [INFO] About to extract fields from XML. File size: 5711 bytes
[2026-01-07 12:48:11] [INFO] Number of mappings: 28
[2026-01-07 12:48:11] [INFO] Starting XML parsing. Content length: 5711
[2026-01-07 12:48:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 12:48:11] [INFO] Processing 28 field mappings
[2026-01-07 12:48:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 12:48:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 12:48:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 12:48:11] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-07 12:48:11] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-07 12:48:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-07 12:48:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 12:48:11] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-07 12:48:11] [INFO]   -> Found value: 2026000047
[2026-01-07 12:48:11] [INFO]   -> Set field 'incidentInternalId' = "2026000047"
[2026-01-07 12:48:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000047"
[2026-01-07 12:48:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 12:48:11] [INFO]   -> Found value: UNCONSCIOUS
[2026-01-07 12:48:11] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-01-07 12:48:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 12:48:11] [INFO]   -> Found value: 9249
[2026-01-07 12:48:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9249
[2026-01-07 12:48:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 12:48:11] [INFO]   -> Found value: TN
[2026-01-07 12:48:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 12:48:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 12:48:11] [INFO]   -> Found value: 38544
[2026-01-07 12:48:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-07 12:48:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 12:48:11] [INFO]   -> Found value: 36.04248
[2026-01-07 12:48:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0424799999999976307663018815219402313232421875
[2026-01-07 12:48:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 12:48:11] [INFO]   -> Found value: -85.62865
[2026-01-07 12:48:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6286499999999932697392068803310394287109375
[2026-01-07 12:48:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 12:48:11] [INFO]   -> Found value: 2026-01-07 06:46:59
[2026-01-07 12:48:11] [INFO]   -> Set field 'alarm' = "2026-01-07 06:46:59"
[2026-01-07 12:48:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 12:48:11] [INFO]   -> Found value: 2026-01-07 06:48:03
[2026-01-07 12:48:11] [INFO]   -> Set field 'dispatched' = "2026-01-07 06:48:03"
[2026-01-07 12:48:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 12:48:11] [INFO]   -> Found value: NASH RD/CANOE WAY
[2026-01-07 12:48:11] [INFO]   -> Set field 'incidentLocationCross' = "NASH RD\/CANOE WAY"
[2026-01-07 12:48:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 12:48:11] [INFO]   -> Found value: PCFR
[2026-01-07 12:48:11] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 12:48:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 12:48:11] [INFO]   -> Found value: 2026-01-07 06:48:03
[2026-01-07 12:48:11] [INFO]   -> Set field 'timedispatch' = "2026-01-07 06:48:03"
[2026-01-07 12:48:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 12:48:11] [INFO]   -> No value found (null or empty)
[2026-01-07 12:48:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 12:48:11] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 12:48:11] [INFO]   -> Found value: 20260002137
[2026-01-07 12:48:11] [INFO]   -> Set field 'policeReportNumber' = "20260002137"
[2026-01-07 12:48:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 12:48:11] [INFO]   -> Found value: [EMS] FEMALE STATING I THINK HE DIED  [01/07/26 06:48:04 KBURTON] [EMS] 71 YOM  [01/07/26 06:47:53 K...
[2026-01-07 12:48:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FEMALE STATING I THINK HE DIED  [01\/07\/26 06:48:04 KBURTON] [EMS] 71 YOM  [01\/07\/26 06:47:53 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 06:47:46 RJGIPSON] [APCO INTELLICOMM] Case ID: 2QVGaPj5wD Caller Phone: 9312390090 Caller Name: VERIZON Incident Location: 9249 MEDLIN RD Incident Location Detail: NASH RD\/CANOE WAY Nature: UNCONSCIOUS Incident #: 20260002135 CAD Call Taker: KBURTON Chief Complaint: (empty)  [01\/07\/26 06:47:01 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 06:46:59 KBURTON] LARRY HARRIS  [01\/07\/26 06:46:55 KBURTON]]"
[2026-01-07 12:48:11] [INFO]   -> Set field 'cADLog' = "[EMS] FEMALE STATING I THINK HE DIED  [01\/07\/26 06:48:04 KBURTON] [EMS] 71 YOM  [01\/07\/26 06:47:53 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 06:47:46 RJGIPSON] [APCO INTELLICOMM] Case ID: 2QVGaPj5wD Caller Phone: 9312390090 Caller Name: VERIZON Incident Location: 9249 MEDLIN RD Incident Location Detail: NASH RD\/CANOE WAY Nature: UNCONSCIOUS Incident #: 20260002135 CAD Call Taker: KBURTON Chief Complaint: (empty)  [01\/07\/26 06:47:01 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 06:46:59 KBURTON] LARRY HARRIS  [01\/07\/26 06:46:55 KBURTON]]"
[2026-01-07 12:48:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 12:48:11] [INFO]   -> Found value: BAXTER
[2026-01-07 12:48:11] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-07 12:48:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 12:48:11] [INFO]   -> Found value: MEDLIN
[2026-01-07 12:48:11] [INFO]   -> Set field 'streetName' = "MEDLIN"
[2026-01-07 12:48:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 12:48:11] [INFO]   -> Found value: RD
[2026-01-07 12:48:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-07 12:48:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 12:48:11] [INFO]   -> Found value: 9249 MEDLIN RD
[2026-01-07 12:48:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "9249 MEDLIN RD"
[2026-01-07 12:48:11] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 12:48:11] [INFO] Concatenating street name and type
[2026-01-07 12:48:11] [INFO]   -> Combined street name: MEDLIN RD
[2026-01-07 12:48:11] [INFO] Built locationCoordinates from lat/lng: 36.04248,-85.62865
[2026-01-07 12:48:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000047","dispatchRunNumber":"2026000047","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":9249,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.0424799999999976307663018815219402313232421875,"nERISIncidentLongitude":-85.6286499999999932697392068803310394287109375,"alarm":"2026-01-07 06:46:59","dispatched":"2026-01-07 06:48:03","incidentLocationCross":"NASH RD\/CANOE WAY","cADVehicleID":"PCFR","timedispatch":"2026-01-07 06:48:03","policeReportNumber":"20260002137","dispatchNotes":"[EMS] FEMALE STATING I THINK HE DIED  [01\/07\/26 06:48:04 KBURTON] [EMS] 71 YOM  [01\/07\/26 06:47:53 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 06:47:46 RJGIPSON] [APCO INTELLICOMM] Case ID: 2QVGaPj5wD Caller Phone: 9312390090 Caller Name: VERIZON Incident Location: 9249 MEDLIN RD Incident Location Detail: NASH RD\/CANOE WAY Nature: UNCONSCIOUS Incident #: 20260002135 CAD Call Taker: KBURTON Chief Complaint: (empty)  [01\/07\/26 06:47:01 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 06:46:59 KBURTON] LARRY HARRIS  [01\/07\/26 06:46:55 KBURTON]]","cADLog":"[EMS] FEMALE STATING I THINK HE DIED  [01\/07\/26 06:48:04 KBURTON] [EMS] 71 YOM  [01\/07\/26 06:47:53 KBURTON] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 06:47:46 RJGIPSON] [APCO INTELLICOMM] Case ID: 2QVGaPj5wD Caller Phone: 9312390090 Caller Name: VERIZON Incident Location: 9249 MEDLIN RD Incident Location Detail: NASH RD\/CANOE WAY Nature: UNCONSCIOUS Incident #: 20260002135 CAD Call Taker: KBURTON Chief Complaint: (empty)  [01\/07\/26 06:47:01 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 06:46:59 KBURTON] LARRY HARRIS  [01\/07\/26 06:46:55 KBURTON]]","incidentLocationCity":"BAXTER","streetName":"MEDLIN RD","incidentAddressTextVersionStreet":"9249 MEDLIN RD","locationCoordinates":"36.04248,-85.62865"}
[2026-01-07 12:48:11] [INFO] Number of extracted fields: 21
[2026-01-07 12:48:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-07 12:48:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-07 12:48:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-07 12:48:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 12:48:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 12:48:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-07 12:48:13] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-07 12:48:13] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 12:48:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-07 12:48:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 12:48:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 12:48:13] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-01-07 12:48:22] [INFO] Created new Dispatches record with ID: 695e560d70c97dc8b
[2026-01-07 12:48:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002137_20260107_124810.XML
[2026-01-07 12:48:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002137_20260107_124810.XML
[2026-01-07 15:23:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002181_20260107_152330.XML
[2026-01-07 15:23:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002181_20260107_152330.XML for user: 68f1466aed072ad4a
[2026-01-07 15:23:30] [INFO] File size: 5368 bytes
[2026-01-07 15:23:30] [INFO] Created FTPFiles record with ID: 695e7a72ee931e007
[2026-01-07 15:23:30] [INFO] About to extract fields from XML. File size: 5368 bytes
[2026-01-07 15:23:30] [INFO] Number of mappings: 28
[2026-01-07 15:23:30] [INFO] Starting XML parsing. Content length: 5368
[2026-01-07 15:23:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 15:23:30] [INFO] Processing 28 field mappings
[2026-01-07 15:23:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 15:23:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 15:23:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 15:23:30] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-07 15:23:30] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-07 15:23:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-07 15:23:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 15:23:30] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-07 15:23:30] [INFO]   -> Found value: 2026000048
[2026-01-07 15:23:30] [INFO]   -> Set field 'incidentInternalId' = "2026000048"
[2026-01-07 15:23:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000048"
[2026-01-07 15:23:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 15:23:30] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-07 15:23:30] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-07 15:23:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 15:23:30] [INFO]   -> Found value: 1552
[2026-01-07 15:23:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1552
[2026-01-07 15:23:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 15:23:30] [INFO]   -> Found value: TN
[2026-01-07 15:23:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 15:23:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 15:23:30] [INFO]   -> Found value: 38574
[2026-01-07 15:23:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-07 15:23:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 15:23:30] [INFO]   -> Found value: 36.15738
[2026-01-07 15:23:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1573800000000034060576581396162509918212890625
[2026-01-07 15:23:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 15:23:30] [INFO]   -> Found value: -85.24509
[2026-01-07 15:23:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2450900000000046929926611483097076416015625
[2026-01-07 15:23:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 15:23:30] [INFO]   -> Found value: 2026-01-07 09:22:43
[2026-01-07 15:23:30] [INFO]   -> Set field 'alarm' = "2026-01-07 09:22:43"
[2026-01-07 15:23:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 15:23:30] [INFO]   -> Found value: 2026-01-07 09:23:21
[2026-01-07 15:23:30] [INFO]   -> Set field 'dispatched' = "2026-01-07 09:23:21"
[2026-01-07 15:23:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 15:23:30] [INFO]   -> Found value: HANGING LIMB RD
[2026-01-07 15:23:30] [INFO]   -> Set field 'incidentLocationCross' = "HANGING LIMB RD"
[2026-01-07 15:23:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 15:23:30] [INFO]   -> Found value: PCFR
[2026-01-07 15:23:30] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 15:23:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 15:23:30] [INFO]   -> Found value: 2026-01-07 09:23:21
[2026-01-07 15:23:30] [INFO]   -> Set field 'timedispatch' = "2026-01-07 09:23:21"
[2026-01-07 15:23:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 15:23:30] [INFO]   -> No value found (null or empty)
[2026-01-07 15:23:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 15:23:30] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 15:23:30] [INFO]   -> Found value: 20260002181
[2026-01-07 15:23:30] [INFO]   -> Set field 'policeReportNumber' = "20260002181"
[2026-01-07 15:23:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 15:23:31] [INFO]   -> Found value: [EMS] BRENDA LEE  [01/07/26 09:22:57 KBEATY] [APCO INTELLICOMM] Case ID: YCWPQoG54n Caller Phone: (e...
[2026-01-07 15:23:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BRENDA LEE  [01\/07\/26 09:22:57 KBEATY] [APCO INTELLICOMM] Case ID: YCWPQoG54n Caller Phone: (empty) Caller Name: (empty) Incident Location: 1552 APPLE TREE LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20260002180 CAD Call Taker: KBEATY Chief Complaint: (empty)  [01\/07\/26 09:22:45 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 09:22:43 KBEATY]"
[2026-01-07 15:23:31] [INFO]   -> Set field 'cADLog' = "[EMS] BRENDA LEE  [01\/07\/26 09:22:57 KBEATY] [APCO INTELLICOMM] Case ID: YCWPQoG54n Caller Phone: (empty) Caller Name: (empty) Incident Location: 1552 APPLE TREE LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20260002180 CAD Call Taker: KBEATY Chief Complaint: (empty)  [01\/07\/26 09:22:45 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 09:22:43 KBEATY]"
[2026-01-07 15:23:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 15:23:31] [INFO]   -> Found value: MONTEREY
[2026-01-07 15:23:31] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-07 15:23:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 15:23:31] [INFO]   -> Found value: APPLE TREE
[2026-01-07 15:23:31] [INFO]   -> Set field 'streetName' = "APPLE TREE"
[2026-01-07 15:23:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 15:23:31] [INFO]   -> Found value: LN
[2026-01-07 15:23:31] [INFO]   -> Set field 'streetType' = "LN"
[2026-01-07 15:23:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 15:23:31] [INFO]   -> Found value: 1552 APPLE TREE LN
[2026-01-07 15:23:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1552 APPLE TREE LN"
[2026-01-07 15:23:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 15:23:31] [INFO] Concatenating street name and type
[2026-01-07 15:23:31] [INFO]   -> Combined street name: APPLE TREE LN
[2026-01-07 15:23:31] [INFO] Built locationCoordinates from lat/lng: 36.15738,-85.24509
[2026-01-07 15:23:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000048","dispatchRunNumber":"2026000048","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1552,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.1573800000000034060576581396162509918212890625,"nERISIncidentLongitude":-85.2450900000000046929926611483097076416015625,"alarm":"2026-01-07 09:22:43","dispatched":"2026-01-07 09:23:21","incidentLocationCross":"HANGING LIMB RD","cADVehicleID":"PCFR","timedispatch":"2026-01-07 09:23:21","policeReportNumber":"20260002181","dispatchNotes":"[EMS] BRENDA LEE  [01\/07\/26 09:22:57 KBEATY] [APCO INTELLICOMM] Case ID: YCWPQoG54n Caller Phone: (empty) Caller Name: (empty) Incident Location: 1552 APPLE TREE LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20260002180 CAD Call Taker: KBEATY Chief Complaint: (empty)  [01\/07\/26 09:22:45 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 09:22:43 KBEATY]","cADLog":"[EMS] BRENDA LEE  [01\/07\/26 09:22:57 KBEATY] [APCO INTELLICOMM] Case ID: YCWPQoG54n Caller Phone: (empty) Caller Name: (empty) Incident Location: 1552 APPLE TREE LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20260002180 CAD Call Taker: KBEATY Chief Complaint: (empty)  [01\/07\/26 09:22:45 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [01\/07\/2026 09:22:43 KBEATY]","incidentLocationCity":"MONTEREY","streetName":"APPLE TREE LN","incidentAddressTextVersionStreet":"1552 APPLE TREE LN","locationCoordinates":"36.15738,-85.24509"}
[2026-01-07 15:23:31] [INFO] Number of extracted fields: 21
[2026-01-07 15:23:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-07 15:23:31] [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-07 15:23:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-07 15:23:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 15:23:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 15:23:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-07 15:23:31] [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-07 15:23:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 15:23:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-07 15:23:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 15:23:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 15:23:31] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-07 15:23:39] [INFO] Created new Dispatches record with ID: 695e7a73c79be07b6
[2026-01-07 15:23:39] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002181_20260107_152330.XML
[2026-01-07 15:23:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002181_20260107_152330.XML
[2026-01-07 16:41:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002226_20260107_164102.XML
[2026-01-07 16:41:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002226_20260107_164102.XML for user: 68f1466aed072ad4a
[2026-01-07 16:41:02] [INFO] File size: 5345 bytes
[2026-01-07 16:41:03] [INFO] Created FTPFiles record with ID: 695e8c9f419a54dff
[2026-01-07 16:41:03] [INFO] About to extract fields from XML. File size: 5345 bytes
[2026-01-07 16:41:03] [INFO] Number of mappings: 28
[2026-01-07 16:41:03] [INFO] Starting XML parsing. Content length: 5345
[2026-01-07 16:41:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 16:41:03] [INFO] Processing 28 field mappings
[2026-01-07 16:41:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 16:41:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 16:41:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 16:41:03] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-07 16:41:03] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-07 16:41:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-07 16:41:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 16:41:03] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-07 16:41:03] [INFO]   -> Found value: 2026000049
[2026-01-07 16:41:03] [INFO]   -> Set field 'incidentInternalId' = "2026000049"
[2026-01-07 16:41:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000049"
[2026-01-07 16:41:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 16:41:03] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-01-07 16:41:03] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-01-07 16:41:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 16:41:03] [INFO]   -> Found value: 8188
[2026-01-07 16:41:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 8188
[2026-01-07 16:41:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 16:41:03] [INFO]   -> Found value: TN
[2026-01-07 16:41:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 16:41:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 16:41:03] [INFO]   -> Found value: 38544
[2026-01-07 16:41:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-07 16:41:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 16:41:03] [INFO]   -> Found value: 36.06368
[2026-01-07 16:41:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.06367999999999796045813127420842647552490234375
[2026-01-07 16:41:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 16:41:03] [INFO]   -> Found value: -85.66489
[2026-01-07 16:41:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6648899999999997589839040301740169525146484375
[2026-01-07 16:41:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 16:41:03] [INFO]   -> Found value: 2026-01-07 10:40:19
[2026-01-07 16:41:03] [INFO]   -> Set field 'alarm' = "2026-01-07 10:40:19"
[2026-01-07 16:41:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 16:41:03] [INFO]   -> Found value: 2026-01-07 10:40:54
[2026-01-07 16:41:03] [INFO]   -> Set field 'dispatched' = "2026-01-07 10:40:54"
[2026-01-07 16:41:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 16:41:03] [INFO]   -> Found value: COOKEVILLE BOAT DOCK RD/BYRD LN
[2026-01-07 16:41:03] [INFO]   -> Set field 'incidentLocationCross' = "COOKEVILLE BOAT DOCK RD\/BYRD LN"
[2026-01-07 16:41:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 16:41:03] [INFO]   -> Found value: PCFR
[2026-01-07 16:41:03] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 16:41:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 16:41:03] [INFO]   -> Found value: 2026-01-07 10:40:54
[2026-01-07 16:41:03] [INFO]   -> Set field 'timedispatch' = "2026-01-07 10:40:54"
[2026-01-07 16:41:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 16:41:03] [INFO]   -> No value found (null or empty)
[2026-01-07 16:41:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 16:41:03] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 16:41:03] [INFO]   -> Found value: 20260002226
[2026-01-07 16:41:03] [INFO]   -> Set field 'policeReportNumber' = "20260002226"
[2026-01-07 16:41:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 16:41:03] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [01/07/2026 10:40:19 EROACH] SEMI RESPONSIVE// LOST CONTACT ...
[2026-01-07 16:41:03] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 10:40:19 EROACH] SEMI RESPONSIVE\/\/ LOST CONTACT WITH CALLER CALLER IS THE DAUGHTER  [01\/07\/26 10:40:10 EROACH] MOTHER IS NOT ACTING RIGHT\/\/ IN A WHOLE LOT OF PAIN  [01\/07\/26 10:39:32 EROACH]"
[2026-01-07 16:41:03] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 10:40:19 EROACH] SEMI RESPONSIVE\/\/ LOST CONTACT WITH CALLER CALLER IS THE DAUGHTER  [01\/07\/26 10:40:10 EROACH] MOTHER IS NOT ACTING RIGHT\/\/ IN A WHOLE LOT OF PAIN  [01\/07\/26 10:39:32 EROACH]"
[2026-01-07 16:41:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 16:41:03] [INFO]   -> Found value: BAXTER
[2026-01-07 16:41:03] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-07 16:41:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 16:41:03] [INFO]   -> Found value: HENLEY
[2026-01-07 16:41:03] [INFO]   -> Set field 'streetName' = "HENLEY"
[2026-01-07 16:41:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 16:41:03] [INFO]   -> Found value: RD
[2026-01-07 16:41:03] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-07 16:41:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 16:41:03] [INFO]   -> Found value: 8188 HENLEY RD
[2026-01-07 16:41:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "8188 HENLEY RD"
[2026-01-07 16:41:03] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 16:41:03] [INFO] Concatenating street name and type
[2026-01-07 16:41:03] [INFO]   -> Combined street name: HENLEY RD
[2026-01-07 16:41:03] [INFO] Built locationCoordinates from lat/lng: 36.06368,-85.66489
[2026-01-07 16:41:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000049","dispatchRunNumber":"2026000049","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":8188,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.06367999999999796045813127420842647552490234375,"nERISIncidentLongitude":-85.6648899999999997589839040301740169525146484375,"alarm":"2026-01-07 10:40:19","dispatched":"2026-01-07 10:40:54","incidentLocationCross":"COOKEVILLE BOAT DOCK RD\/BYRD LN","cADVehicleID":"PCFR","timedispatch":"2026-01-07 10:40:54","policeReportNumber":"20260002226","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 10:40:19 EROACH] SEMI RESPONSIVE\/\/ LOST CONTACT WITH CALLER CALLER IS THE DAUGHTER  [01\/07\/26 10:40:10 EROACH] MOTHER IS NOT ACTING RIGHT\/\/ IN A WHOLE LOT OF PAIN  [01\/07\/26 10:39:32 EROACH]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 10:40:19 EROACH] SEMI RESPONSIVE\/\/ LOST CONTACT WITH CALLER CALLER IS THE DAUGHTER  [01\/07\/26 10:40:10 EROACH] MOTHER IS NOT ACTING RIGHT\/\/ IN A WHOLE LOT OF PAIN  [01\/07\/26 10:39:32 EROACH]","incidentLocationCity":"BAXTER","streetName":"HENLEY RD","incidentAddressTextVersionStreet":"8188 HENLEY RD","locationCoordinates":"36.06368,-85.66489"}
[2026-01-07 16:41:03] [INFO] Number of extracted fields: 21
[2026-01-07 16:41:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-07 16:41:03] [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-07 16:41:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-07 16:41:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 16:41:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 16:41:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-07 16:41:03] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-07 16:41:03] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 16:41:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-07 16:41:03] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 16:41:03] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 16:41:03] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-01-07 16:41:11] [INFO] Created new Dispatches record with ID: 695e8ca017c11cc7f
[2026-01-07 16:41:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002226_20260107_164102.XML
[2026-01-07 16:41:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002226_20260107_164102.XML
[2026-01-07 17:12:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121243349.xml
[2026-01-07 17:12:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121243349.xml for user: 68920395733981a47
[2026-01-07 17:12:45] [INFO] File size: 5264 bytes
[2026-01-07 17:12:46] [INFO] Created FTPFiles record with ID: 695e940e10ef509d6
[2026-01-07 17:12:46] [INFO] About to extract fields from XML. File size: 5264 bytes
[2026-01-07 17:12:46] [INFO] Number of mappings: 24
[2026-01-07 17:12:46] [INFO] Starting XML parsing. Content length: 5264
[2026-01-07 17:12:46] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-07 17:12:46] [INFO] Processing 24 field mappings
[2026-01-07 17:12:46] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-07 17:12:46] [INFO]   -> Found value: FTEST-Fire Test Call
[2026-01-07 17:12:46] [INFO]   -> Set field 'incidentTypeValue1' = "FTEST-Fire Test Call"
[2026-01-07 17:12:46] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-07 17:12:46] [INFO]   -> Found value: @MVFD Station 1 (@Mowbray Fire Station 1)
[2026-01-07 17:12:46] [INFO]   -> Set field 'businessName' = "@MVFD Station 1 (@Mowbray Fire Station 1)"
[2026-01-07 17:12:46] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-07 17:12:46] [INFO]   -> Found value: 37379
[2026-01-07 17:12:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-07 17:12:46] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-07 17:12:46] [INFO]   -> Found value: 1705
[2026-01-07 17:12:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1705
[2026-01-07 17:12:46] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-07 17:12:46] [INFO]   -> Found value: MOWBRAY
[2026-01-07 17:12:46] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-01-07 17:12:46] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-07 17:12:46] [INFO]   -> Found value: CAREY RD/ARNAT DR
[2026-01-07 17:12:46] [INFO]   -> Set field 'incidentLocationCross' = "CAREY RD\/ARNAT DR"
[2026-01-07 17:12:46] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-07 17:12:46] [INFO]   -> Found value: 2026-01-07T12:12:17.257-05:00
[2026-01-07 17:12:46] [INFO]   -> Set field 'alarm' = "2026-01-07 17:12:17"
[2026-01-07 17:12:46] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-07 17:12:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:46] [INFO]   -> Set field 'enroute' = null
[2026-01-07 17:12:46] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-07 17:12:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:46] [INFO]   -> Set field 'onScene' = null
[2026-01-07 17:12:46] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-07 17:12:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:46] [INFO]   -> Set field 'cleared' = null
[2026-01-07 17:12:46] [INFO]   -> Set field 'inService' = null
[2026-01-07 17:12:46] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-07 17:12:46] [INFO]   -> Found value: 35.274781
[2026-01-07 17:12:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27478099999999727742761024273931980133056640625
[2026-01-07 17:12:46] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-07 17:12:46] [INFO]   -> Found value: -85.218002
[2026-01-07 17:12:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2180019999999984747773851267993450164794921875
[2026-01-07 17:12:46] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-07 17:12:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:46] [INFO]   -> Set field 'dispatched' = null
[2026-01-07 17:12:46] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-07 17:12:46] [INFO]   -> Found value: PIKE
[2026-01-07 17:12:46] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-01-07 17:12:46] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-07 17:12:46] [INFO]   -> Found value: 2026-01-08611
[2026-01-07 17:12:46] [INFO]   -> Set field 'policeReportNumber' = "2026-01-08611"
[2026-01-07 17:12:46] [INFO]   -> Set field 'cADNumber' = "2026-01-08611"
[2026-01-07 17:12:46] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-07 17:12:46] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:46] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-07 17:12:46] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-07 17:12:46] [INFO]   -> Found value: MFD
[2026-01-07 17:12:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-07 17:12:46] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-07 17:12:46] [INFO] Concatenating street name and type
[2026-01-07 17:12:46] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-01-07 17:12:46] [INFO] Built locationCoordinates from lat/lng: 35.274781,-85.218002
[2026-01-07 17:12:46] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FTEST-Fire Test Call","businessName":"@MVFD Station 1 (@Mowbray Fire Station 1)","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1705,"streetName":"MOWBRAY PIKE","incidentLocationCross":"CAREY RD\/ARNAT DR","alarm":"2026-01-07 17:12:17","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27478099999999727742761024273931980133056640625,"nERISIncidentLongitude":-85.2180019999999984747773851267993450164794921875,"dispatched":null,"policeReportNumber":"2026-01-08611","cADNumber":"2026-01-08611","cADAgencyIdentifier":"MFD","locationCoordinates":"35.274781,-85.218002"}
[2026-01-07 17:12:46] [INFO] Number of extracted fields: 18
[2026-01-07 17:12:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-07 17:12:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 17:12:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-07 17:12:46] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-07 17:12:46] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-07 17:12:46] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-07 17:12:46] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-07 17:12:46] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-07 17:12:46] [INFO] Found existing IncidentTypeMapping with ID: 690b740bbb3108fbf
[2026-01-07 17:12:55] [INFO] Created new Dispatches record with ID: 695e940ed5c82d686
[2026-01-07 17:12:55] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121243349.xml
[2026-01-07 17:12:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121243349.xml
[2026-01-07 17:12:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121253490.xml
[2026-01-07 17:12:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121253490.xml for user: 68920395733981a47
[2026-01-07 17:12:55] [INFO] File size: 5350 bytes
[2026-01-07 17:12:55] [INFO] Created FTPFiles record with ID: 695e94176f41fd7aa
[2026-01-07 17:12:55] [INFO] About to extract fields from XML. File size: 5350 bytes
[2026-01-07 17:12:55] [INFO] Number of mappings: 24
[2026-01-07 17:12:55] [INFO] Starting XML parsing. Content length: 5350
[2026-01-07 17:12:55] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-07 17:12:55] [INFO] Processing 24 field mappings
[2026-01-07 17:12:55] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-07 17:12:55] [INFO]   -> Found value: FTEST-Fire Test Call
[2026-01-07 17:12:55] [INFO]   -> Set field 'incidentTypeValue1' = "FTEST-Fire Test Call"
[2026-01-07 17:12:55] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-07 17:12:55] [INFO]   -> Found value: @MVFD Station 1 (@Mowbray Fire Station 1)
[2026-01-07 17:12:55] [INFO]   -> Set field 'businessName' = "@MVFD Station 1 (@Mowbray Fire Station 1)"
[2026-01-07 17:12:55] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-07 17:12:55] [INFO]   -> Found value: 37379
[2026-01-07 17:12:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-07 17:12:55] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-07 17:12:55] [INFO]   -> Found value: 1705
[2026-01-07 17:12:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1705
[2026-01-07 17:12:55] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-07 17:12:55] [INFO]   -> Found value: MOWBRAY
[2026-01-07 17:12:55] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-01-07 17:12:55] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-07 17:12:55] [INFO]   -> Found value: CAREY RD/ARNAT DR
[2026-01-07 17:12:55] [INFO]   -> Set field 'incidentLocationCross' = "CAREY RD\/ARNAT DR"
[2026-01-07 17:12:55] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-07 17:12:55] [INFO]   -> Found value: 2026-01-07T12:12:17.257-05:00
[2026-01-07 17:12:55] [INFO]   -> Set field 'alarm' = "2026-01-07 17:12:17"
[2026-01-07 17:12:55] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-07 17:12:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:55] [INFO]   -> Set field 'enroute' = null
[2026-01-07 17:12:55] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-07 17:12:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:55] [INFO]   -> Set field 'onScene' = null
[2026-01-07 17:12:55] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-07 17:12:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:55] [INFO]   -> Set field 'cleared' = null
[2026-01-07 17:12:55] [INFO]   -> Set field 'inService' = null
[2026-01-07 17:12:55] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-07 17:12:55] [INFO]   -> Found value: 35.274781
[2026-01-07 17:12:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27478099999999727742761024273931980133056640625
[2026-01-07 17:12:55] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-07 17:12:55] [INFO]   -> Found value: -85.218002
[2026-01-07 17:12:55] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2180019999999984747773851267993450164794921875
[2026-01-07 17:12:55] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-07 17:12:55] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:12:55] [INFO]   -> Set field 'dispatched' = null
[2026-01-07 17:12:55] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-07 17:12:55] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:55] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-07 17:12:55] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:55] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-07 17:12:55] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:55] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-07 17:12:55] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:55] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-07 17:12:55] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:55] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-07 17:12:55] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:55] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-07 17:12:55] [INFO]   -> Found value: PIKE
[2026-01-07 17:12:55] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-01-07 17:12:55] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 17:12:55] [INFO]   -> No value found (null or empty)
[2026-01-07 17:12:55] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-07 17:12:55] [INFO]   -> Found value: 2026-01-08611
[2026-01-07 17:12:55] [INFO]   -> Set field 'policeReportNumber' = "2026-01-08611"
[2026-01-07 17:12:55] [INFO]   -> Set field 'cADNumber' = "2026-01-08611"
[2026-01-07 17:12:55] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-07 17:12:55] [INFO]   -> Found value: 01/07/2026 12:12:48 BEDELL_K                [1] TEST TEST
[2026-01-07 17:12:55] [INFO]   -> Set field 'dispatchNotes' = "01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST"
[2026-01-07 17:12:55] [INFO]   -> Set field 'cADLog' = "01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST"
[2026-01-07 17:12:55] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-07 17:12:55] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-07 17:12:55] [INFO]   -> Found value: MFD
[2026-01-07 17:12:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-07 17:12:55] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-07 17:12:55] [INFO] Concatenating street name and type
[2026-01-07 17:12:55] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-01-07 17:12:55] [INFO] Built locationCoordinates from lat/lng: 35.274781,-85.218002
[2026-01-07 17:12:55] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FTEST-Fire Test Call","businessName":"@MVFD Station 1 (@Mowbray Fire Station 1)","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1705,"streetName":"MOWBRAY PIKE","incidentLocationCross":"CAREY RD\/ARNAT DR","alarm":"2026-01-07 17:12:17","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27478099999999727742761024273931980133056640625,"nERISIncidentLongitude":-85.2180019999999984747773851267993450164794921875,"dispatched":null,"policeReportNumber":"2026-01-08611","cADNumber":"2026-01-08611","dispatchNotes":"01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST","cADLog":"01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST","cADAgencyIdentifier":"MFD","locationCoordinates":"35.274781,-85.218002"}
[2026-01-07 17:12:55] [INFO] Number of extracted fields: 20
[2026-01-07 17:12:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-07 17:12:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 17:12:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-07 17:12:55] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-07 17:12:55] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-07 17:12:55] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-07 17:12:55] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-07 17:12:55] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-07 17:12:55] [INFO] Found existing IncidentTypeMapping with ID: 690b740bbb3108fbf
[2026-01-07 17:12:56] [INFO] Found existing Dispatch with cADNumber '2026-01-08611', ID: 695e940ed5c82d686 - will update instead of create
[2026-01-07 17:12:56] [INFO] Updated existing Dispatches record with ID: 695e940ed5c82d686
[2026-01-07 17:12:56] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121253490.xml
[2026-01-07 17:12:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121253490.xml
[2026-01-07 17:13:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121303585.xml
[2026-01-07 17:13:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121303585.xml for user: 68920395733981a47
[2026-01-07 17:13:03] [INFO] File size: 5709 bytes
[2026-01-07 17:13:04] [INFO] Created FTPFiles record with ID: 695e941ff0c9d60dc
[2026-01-07 17:13:04] [INFO] About to extract fields from XML. File size: 5709 bytes
[2026-01-07 17:13:04] [INFO] Number of mappings: 24
[2026-01-07 17:13:04] [INFO] Starting XML parsing. Content length: 5709
[2026-01-07 17:13:04] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-07 17:13:04] [INFO] Processing 24 field mappings
[2026-01-07 17:13:04] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-07 17:13:04] [INFO]   -> Found value: FTEST-Fire Test Call
[2026-01-07 17:13:04] [INFO]   -> Set field 'incidentTypeValue1' = "FTEST-Fire Test Call"
[2026-01-07 17:13:04] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-07 17:13:04] [INFO]   -> Found value: @MVFD Station 1 (@Mowbray Fire Station 1)
[2026-01-07 17:13:04] [INFO]   -> Set field 'businessName' = "@MVFD Station 1 (@Mowbray Fire Station 1)"
[2026-01-07 17:13:04] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-07 17:13:04] [INFO]   -> Found value: 37379
[2026-01-07 17:13:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-07 17:13:04] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-07 17:13:04] [INFO]   -> Found value: 1705
[2026-01-07 17:13:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1705
[2026-01-07 17:13:04] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-07 17:13:04] [INFO]   -> Found value: MOWBRAY
[2026-01-07 17:13:04] [INFO]   -> Set field 'streetName' = "MOWBRAY"
[2026-01-07 17:13:04] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-07 17:13:04] [INFO]   -> Found value: CAREY RD/ARNAT DR
[2026-01-07 17:13:04] [INFO]   -> Set field 'incidentLocationCross' = "CAREY RD\/ARNAT DR"
[2026-01-07 17:13:04] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-07 17:13:04] [INFO]   -> Found value: 2026-01-07T12:12:17.257-05:00
[2026-01-07 17:13:04] [INFO]   -> Set field 'alarm' = "2026-01-07 17:12:17"
[2026-01-07 17:13:04] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-07 17:13:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:13:04] [INFO]   -> Set field 'enroute' = null
[2026-01-07 17:13:04] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-07 17:13:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:13:04] [INFO]   -> Set field 'onScene' = null
[2026-01-07 17:13:04] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-07 17:13:04] [INFO]   -> Found value: 2026-01-07T12:13:01.003-05:00
[2026-01-07 17:13:04] [INFO]   -> Set field 'cleared' = "2026-01-07 17:13:01"
[2026-01-07 17:13:04] [INFO]   -> Set field 'inService' = "2026-01-07 17:13:01"
[2026-01-07 17:13:04] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-07 17:13:04] [INFO]   -> Found value: 35.274781
[2026-01-07 17:13:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27478099999999727742761024273931980133056640625
[2026-01-07 17:13:04] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-07 17:13:04] [INFO]   -> Found value: -85.218002
[2026-01-07 17:13:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2180019999999984747773851267993450164794921875
[2026-01-07 17:13:04] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-07 17:13:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 17:13:04] [INFO]   -> Set field 'dispatched' = null
[2026-01-07 17:13:04] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-07 17:13:04] [INFO]   -> No value found (null or empty)
[2026-01-07 17:13:04] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-07 17:13:04] [INFO]   -> No value found (null or empty)
[2026-01-07 17:13:04] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-07 17:13:04] [INFO]   -> No value found (null or empty)
[2026-01-07 17:13:04] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-07 17:13:04] [INFO]   -> No value found (null or empty)
[2026-01-07 17:13:04] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-07 17:13:04] [INFO]   -> No value found (null or empty)
[2026-01-07 17:13:04] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-07 17:13:04] [INFO]   -> No value found (null or empty)
[2026-01-07 17:13:04] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-07 17:13:04] [INFO]   -> Found value: PIKE
[2026-01-07 17:13:04] [INFO]   -> Set field 'streetType' = "PIKE"
[2026-01-07 17:13:04] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 17:13:04] [INFO]   -> No value found (null or empty)
[2026-01-07 17:13:04] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-07 17:13:04] [INFO]   -> Found value: 2026-01-08611
[2026-01-07 17:13:04] [INFO]   -> Set field 'policeReportNumber' = "2026-01-08611"
[2026-01-07 17:13:04] [INFO]   -> Set field 'cADNumber' = "2026-01-08611"
[2026-01-07 17:13:04] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-07 17:13:04] [INFO]   -> Found value: 01/07/2026 12:12:48 BEDELL_K                [1] TEST TEST
[2026-01-07 17:13:04] [INFO]   -> Set field 'dispatchNotes' = "01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST"
[2026-01-07 17:13:04] [INFO]   -> Set field 'cADLog' = "01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST"
[2026-01-07 17:13:04] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-07 17:13:04] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-07 17:13:04] [INFO]   -> Found value: MFD
[2026-01-07 17:13:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-07 17:13:04] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-07 17:13:04] [INFO] Concatenating street name and type
[2026-01-07 17:13:04] [INFO]   -> Combined street name: MOWBRAY PIKE
[2026-01-07 17:13:04] [INFO] Built locationCoordinates from lat/lng: 35.274781,-85.218002
[2026-01-07 17:13:04] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FTEST-Fire Test Call","businessName":"@MVFD Station 1 (@Mowbray Fire Station 1)","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1705,"streetName":"MOWBRAY PIKE","incidentLocationCross":"CAREY RD\/ARNAT DR","alarm":"2026-01-07 17:12:17","enroute":null,"onScene":null,"cleared":"2026-01-07 17:13:01","inService":"2026-01-07 17:13:01","nERISIncidentLatitude":35.27478099999999727742761024273931980133056640625,"nERISIncidentLongitude":-85.2180019999999984747773851267993450164794921875,"dispatched":null,"policeReportNumber":"2026-01-08611","cADNumber":"2026-01-08611","dispatchNotes":"01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST","cADLog":"01\/07\/2026 12:12:48 BEDELL_K                [1] TEST TEST","cADAgencyIdentifier":"MFD","locationCoordinates":"35.274781,-85.218002"}
[2026-01-07 17:13:04] [INFO] Number of extracted fields: 20
[2026-01-07 17:13:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-07 17:13:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 17:13:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-07 17:13:04] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-07 17:13:04] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-07 17:13:04] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-07 17:13:04] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-07 17:13:04] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-07 17:13:04] [INFO] Found existing IncidentTypeMapping with ID: 690b740bbb3108fbf
[2026-01-07 17:13:04] [INFO] Found existing Dispatch with cADNumber '2026-01-08611', ID: 695e940ed5c82d686 - will update instead of create
[2026-01-07 17:13:04] [INFO] Updated existing Dispatches record with ID: 695e940ed5c82d686
[2026-01-07 17:13:04] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121303585.xml
[2026-01-07 17:13:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08611_20260107121303585.xml
[2026-01-07 17:28:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002244_20260107_172851.XML
[2026-01-07 17:28:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002244_20260107_172851.XML for user: 68f1466aed072ad4a
[2026-01-07 17:28:51] [INFO] File size: 5133 bytes
[2026-01-07 17:28:51] [INFO] Created FTPFiles record with ID: 695e97d39e31a85b1
[2026-01-07 17:28:51] [INFO] About to extract fields from XML. File size: 5133 bytes
[2026-01-07 17:28:51] [INFO] Number of mappings: 28
[2026-01-07 17:28:51] [INFO] Starting XML parsing. Content length: 5133
[2026-01-07 17:28:51] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 17:28:51] [INFO] Processing 28 field mappings
[2026-01-07 17:28:51] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 17:28:51] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 17:28:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 17:28:51] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-07 17:28:51] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-07 17:28:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-07 17:28:51] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 17:28:51] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-07 17:28:51] [INFO]   -> Found value: 2026000050
[2026-01-07 17:28:51] [INFO]   -> Set field 'incidentInternalId' = "2026000050"
[2026-01-07 17:28:51] [INFO]   -> Set field 'dispatchRunNumber' = "2026000050"
[2026-01-07 17:28:51] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 17:28:51] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-01-07 17:28:51] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-01-07 17:28:51] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 17:28:51] [INFO]   -> Found value: 1824
[2026-01-07 17:28:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1824
[2026-01-07 17:28:51] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 17:28:51] [INFO]   -> Found value: TN
[2026-01-07 17:28:51] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 17:28:51] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 17:28:51] [INFO]   -> Found value: 38506
[2026-01-07 17:28:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-07 17:28:51] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 17:28:51] [INFO]   -> Found value: 36.10950
[2026-01-07 17:28:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.109499999999997044142219237983226776123046875
[2026-01-07 17:28:51] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 17:28:51] [INFO]   -> Found value: -85.54567
[2026-01-07 17:28:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.545670000000001209627953357994556427001953125
[2026-01-07 17:28:51] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 17:28:51] [INFO]   -> Found value: 2026-01-07 11:28:11
[2026-01-07 17:28:51] [INFO]   -> Set field 'alarm' = "2026-01-07 11:28:11"
[2026-01-07 17:28:51] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 17:28:51] [INFO]   -> Found value: 2026-01-07 11:28:39
[2026-01-07 17:28:51] [INFO]   -> Set field 'dispatched' = "2026-01-07 11:28:39"
[2026-01-07 17:28:51] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 17:28:51] [INFO]   -> Found value: JOE RAWLINGS RD
[2026-01-07 17:28:51] [INFO]   -> Set field 'incidentLocationCross' = "JOE RAWLINGS RD"
[2026-01-07 17:28:51] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 17:28:51] [INFO]   -> Found value: PCFR
[2026-01-07 17:28:51] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 17:28:51] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 17:28:51] [INFO]   -> Found value: 2026-01-07 11:28:39
[2026-01-07 17:28:51] [INFO]   -> Set field 'timedispatch' = "2026-01-07 11:28:39"
[2026-01-07 17:28:51] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 17:28:51] [INFO]   -> No value found (null or empty)
[2026-01-07 17:28:51] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 17:28:51] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 17:28:51] [INFO]   -> Found value: 20260002244
[2026-01-07 17:28:51] [INFO]   -> Set field 'policeReportNumber' = "20260002244"
[2026-01-07 17:28:51] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 17:28:51] [INFO]   -> Found value: Event spawned from FAINTING / SYNCOPE.  [01/07/2026 11:28:11 JBOHANNON]
[2026-01-07 17:28:51] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 11:28:11 JBOHANNON]"
[2026-01-07 17:28:51] [INFO]   -> Set field 'cADLog' = "Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 11:28:11 JBOHANNON]"
[2026-01-07 17:28:51] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 17:28:51] [INFO]   -> Found value: COOKEVILLE
[2026-01-07 17:28:51] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-07 17:28:51] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 17:28:51] [INFO]   -> Found value: SLIM BRAY
[2026-01-07 17:28:51] [INFO]   -> Set field 'streetName' = "SLIM BRAY"
[2026-01-07 17:28:51] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 17:28:51] [INFO]   -> Found value: RD
[2026-01-07 17:28:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-07 17:28:51] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 17:28:51] [INFO]   -> Found value: 1824 SLIM BRAY RD
[2026-01-07 17:28:51] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1824 SLIM BRAY RD"
[2026-01-07 17:28:51] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 17:28:51] [INFO] Concatenating street name and type
[2026-01-07 17:28:51] [INFO]   -> Combined street name: SLIM BRAY RD
[2026-01-07 17:28:51] [INFO] Built locationCoordinates from lat/lng: 36.1095,-85.54567
[2026-01-07 17:28:51] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000050","dispatchRunNumber":"2026000050","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":1824,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.109499999999997044142219237983226776123046875,"nERISIncidentLongitude":-85.545670000000001209627953357994556427001953125,"alarm":"2026-01-07 11:28:11","dispatched":"2026-01-07 11:28:39","incidentLocationCross":"JOE RAWLINGS RD","cADVehicleID":"PCFR","timedispatch":"2026-01-07 11:28:39","policeReportNumber":"20260002244","dispatchNotes":"Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 11:28:11 JBOHANNON]","cADLog":"Event spawned from FAINTING \/ SYNCOPE.  [01\/07\/2026 11:28:11 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"SLIM BRAY RD","incidentAddressTextVersionStreet":"1824 SLIM BRAY RD","locationCoordinates":"36.1095,-85.54567"}
[2026-01-07 17:28:51] [INFO] Number of extracted fields: 21
[2026-01-07 17:28:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-07 17:28:51] [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-07 17:28:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-07 17:28:51] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 17:28:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 17:28:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-07 17:28:51] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-07 17:28:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 17:28:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-07 17:28:51] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 17:28:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 17:28:52] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-01-07 17:29:00] [INFO] Created new Dispatches record with ID: 695e97d4704b1ded0
[2026-01-07 17:29:00] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002244_20260107_172851.XML
[2026-01-07 17:29:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002244_20260107_172851.XML
[2026-01-07 17:39:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002249_20260107_173901.XML
[2026-01-07 17:39:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002249_20260107_173901.XML for user: 68f1466aed072ad4a
[2026-01-07 17:39:01] [INFO] File size: 5705 bytes
[2026-01-07 17:39:01] [INFO] Created FTPFiles record with ID: 695e9a35b86954424
[2026-01-07 17:39:01] [INFO] About to extract fields from XML. File size: 5705 bytes
[2026-01-07 17:39:01] [INFO] Number of mappings: 28
[2026-01-07 17:39:01] [INFO] Starting XML parsing. Content length: 5705
[2026-01-07 17:39:01] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 17:39:01] [INFO] Processing 28 field mappings
[2026-01-07 17:39:01] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 17:39:01] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 17:39:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 17:39:01] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-07 17:39:01] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-07 17:39:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-07 17:39:01] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 17:39:01] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-07 17:39:01] [INFO]   -> Found value: 2026000051
[2026-01-07 17:39:01] [INFO]   -> Set field 'incidentInternalId' = "2026000051"
[2026-01-07 17:39:01] [INFO]   -> Set field 'dispatchRunNumber' = "2026000051"
[2026-01-07 17:39:01] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 17:39:01] [INFO]   -> Found value: FALL VICTIM
[2026-01-07 17:39:01] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-01-07 17:39:01] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 17:39:01] [INFO]   -> Found value: 2639
[2026-01-07 17:39:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2639
[2026-01-07 17:39:01] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 17:39:01] [INFO]   -> Found value: TN
[2026-01-07 17:39:01] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 17:39:01] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 17:39:01] [INFO]   -> Found value: 38506
[2026-01-07 17:39:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-07 17:39:01] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 17:39:01] [INFO]   -> Found value: 36.11861
[2026-01-07 17:39:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11860999999999677356754546053707599639892578125
[2026-01-07 17:39:01] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 17:39:01] [INFO]   -> Found value: -85.55846
[2026-01-07 17:39:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.558459999999996625774656422436237335205078125
[2026-01-07 17:39:01] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 17:39:01] [INFO]   -> Found value: 2026-01-07 11:38:13
[2026-01-07 17:39:01] [INFO]   -> Set field 'alarm' = "2026-01-07 11:38:13"
[2026-01-07 17:39:01] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 17:39:01] [INFO]   -> Found value: 2026-01-07 11:38:51
[2026-01-07 17:39:01] [INFO]   -> Set field 'dispatched' = "2026-01-07 11:38:51"
[2026-01-07 17:39:01] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 17:39:01] [INFO]   -> Found value: OLD SALEM DR/CONCORD LN
[2026-01-07 17:39:01] [INFO]   -> Set field 'incidentLocationCross' = "OLD SALEM DR\/CONCORD LN"
[2026-01-07 17:39:01] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 17:39:01] [INFO]   -> Found value: PCFR
[2026-01-07 17:39:01] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 17:39:01] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 17:39:01] [INFO]   -> Found value: 2026-01-07 11:38:51
[2026-01-07 17:39:01] [INFO]   -> Set field 'timedispatch' = "2026-01-07 11:38:51"
[2026-01-07 17:39:01] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 17:39:01] [INFO]   -> No value found (null or empty)
[2026-01-07 17:39:01] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 17:39:01] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 17:39:01] [INFO]   -> Found value: 20260002249
[2026-01-07 17:39:01] [INFO]   -> Set field 'policeReportNumber' = "20260002249"
[2026-01-07 17:39:01] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 17:39:01] [INFO]   -> Found value: [EMS] 93 YO FEMALE  [01/07/26 11:38:20 EROACH] [APCO INTELLICOMM] Case ID: vrqCBkjGyW Caller Phone: ...
[2026-01-07 17:39:01] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 93 YO FEMALE  [01\/07\/26 11:38:20 EROACH] [APCO INTELLICOMM] Case ID: vrqCBkjGyW Caller Phone: 9314321407 Caller Name: JAMES COWAN Incident Location: 2639 NEW LONDON DR Incident Location Detail: OLD SALEM DR\/CONCORD LN Nature: FALL VICTIM Incident #: 20260002248 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 11:38:15 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 11:38:13 EROACH] SHE WAS LIFTING SOMETHING AND HEARD SOMETHING POP  [01\/07\/26 11:37:38 EROACH] BULA   PUPINES  COME THROUGH THE GARAGE DOOR  FELL COMING BACK INSIDE  [01\/07\/26 11:37:14 EROACH] FALL VICTIM\/\/ COMPLAINING OF BACK PAIN  [01\/07\/26 11:36:30 EROACH]"
[2026-01-07 17:39:01] [INFO]   -> Set field 'cADLog' = "[EMS] 93 YO FEMALE  [01\/07\/26 11:38:20 EROACH] [APCO INTELLICOMM] Case ID: vrqCBkjGyW Caller Phone: 9314321407 Caller Name: JAMES COWAN Incident Location: 2639 NEW LONDON DR Incident Location Detail: OLD SALEM DR\/CONCORD LN Nature: FALL VICTIM Incident #: 20260002248 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 11:38:15 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 11:38:13 EROACH] SHE WAS LIFTING SOMETHING AND HEARD SOMETHING POP  [01\/07\/26 11:37:38 EROACH] BULA   PUPINES  COME THROUGH THE GARAGE DOOR  FELL COMING BACK INSIDE  [01\/07\/26 11:37:14 EROACH] FALL VICTIM\/\/ COMPLAINING OF BACK PAIN  [01\/07\/26 11:36:30 EROACH]"
[2026-01-07 17:39:01] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 17:39:01] [INFO]   -> Found value: COOKEVILLE
[2026-01-07 17:39:01] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-07 17:39:01] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 17:39:01] [INFO]   -> Found value: NEW LONDON
[2026-01-07 17:39:01] [INFO]   -> Set field 'streetName' = "NEW LONDON"
[2026-01-07 17:39:01] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 17:39:01] [INFO]   -> Found value: DR
[2026-01-07 17:39:01] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-07 17:39:01] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 17:39:01] [INFO]   -> Found value: 2639 NEW LONDON DR
[2026-01-07 17:39:01] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2639 NEW LONDON DR"
[2026-01-07 17:39:01] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 17:39:01] [INFO] Concatenating street name and type
[2026-01-07 17:39:01] [INFO]   -> Combined street name: NEW LONDON DR
[2026-01-07 17:39:01] [INFO] Built locationCoordinates from lat/lng: 36.11861,-85.55846
[2026-01-07 17:39:01] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000051","dispatchRunNumber":"2026000051","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2639,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11860999999999677356754546053707599639892578125,"nERISIncidentLongitude":-85.558459999999996625774656422436237335205078125,"alarm":"2026-01-07 11:38:13","dispatched":"2026-01-07 11:38:51","incidentLocationCross":"OLD SALEM DR\/CONCORD LN","cADVehicleID":"PCFR","timedispatch":"2026-01-07 11:38:51","policeReportNumber":"20260002249","dispatchNotes":"[EMS] 93 YO FEMALE  [01\/07\/26 11:38:20 EROACH] [APCO INTELLICOMM] Case ID: vrqCBkjGyW Caller Phone: 9314321407 Caller Name: JAMES COWAN Incident Location: 2639 NEW LONDON DR Incident Location Detail: OLD SALEM DR\/CONCORD LN Nature: FALL VICTIM Incident #: 20260002248 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 11:38:15 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 11:38:13 EROACH] SHE WAS LIFTING SOMETHING AND HEARD SOMETHING POP  [01\/07\/26 11:37:38 EROACH] BULA   PUPINES  COME THROUGH THE GARAGE DOOR  FELL COMING BACK INSIDE  [01\/07\/26 11:37:14 EROACH] FALL VICTIM\/\/ COMPLAINING OF BACK PAIN  [01\/07\/26 11:36:30 EROACH]","cADLog":"[EMS] 93 YO FEMALE  [01\/07\/26 11:38:20 EROACH] [APCO INTELLICOMM] Case ID: vrqCBkjGyW Caller Phone: 9314321407 Caller Name: JAMES COWAN Incident Location: 2639 NEW LONDON DR Incident Location Detail: OLD SALEM DR\/CONCORD LN Nature: FALL VICTIM Incident #: 20260002248 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 11:38:15 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 11:38:13 EROACH] SHE WAS LIFTING SOMETHING AND HEARD SOMETHING POP  [01\/07\/26 11:37:38 EROACH] BULA   PUPINES  COME THROUGH THE GARAGE DOOR  FELL COMING BACK INSIDE  [01\/07\/26 11:37:14 EROACH] FALL VICTIM\/\/ COMPLAINING OF BACK PAIN  [01\/07\/26 11:36:30 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"NEW LONDON DR","incidentAddressTextVersionStreet":"2639 NEW LONDON DR","locationCoordinates":"36.11861,-85.55846"}
[2026-01-07 17:39:01] [INFO] Number of extracted fields: 21
[2026-01-07 17:39:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-07 17:39:01] [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-07 17:39:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-07 17:39:01] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 17:39:01] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 17:39:01] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-07 17:39:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-07 17:39:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 17:39:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-07 17:39:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 17:39:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 17:39:02] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-01-07 17:39:10] [INFO] Created new Dispatches record with ID: 695e9a3699c545b07
[2026-01-07 17:39:10] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002249_20260107_173901.XML
[2026-01-07 17:39:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002249_20260107_173901.XML
[2026-01-07 18:30:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133021547.xml
[2026-01-07 18:30:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133021547.xml for user: 68920395733981a47
[2026-01-07 18:30:23] [INFO] File size: 4969 bytes
[2026-01-07 18:30:24] [INFO] Created FTPFiles record with ID: 695ea64039ed87c7d
[2026-01-07 18:30:24] [INFO] About to extract fields from XML. File size: 4969 bytes
[2026-01-07 18:30:24] [INFO] Number of mappings: 24
[2026-01-07 18:30:24] [INFO] Starting XML parsing. Content length: 4969
[2026-01-07 18:30:24] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-07 18:30:24] [INFO] Processing 24 field mappings
[2026-01-07 18:30:24] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-07 18:30:24] [INFO]   -> Found value: FTEST-Fire Test Call
[2026-01-07 18:30:24] [INFO]   -> Set field 'incidentTypeValue1' = "FTEST-Fire Test Call"
[2026-01-07 18:30:24] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-07 18:30:24] [INFO]   -> Found value: 37379
[2026-01-07 18:30:24] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-07 18:30:24] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-07 18:30:24] [INFO]   -> Found value: 9805
[2026-01-07 18:30:24] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9805
[2026-01-07 18:30:24] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-07 18:30:24] [INFO]   -> Found value: SOUR MASH
[2026-01-07 18:30:24] [INFO]   -> Set field 'streetName' = "SOUR MASH"
[2026-01-07 18:30:24] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-07 18:30:24] [INFO]   -> Found value: No Cross Street/POE RD
[2026-01-07 18:30:24] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/POE RD"
[2026-01-07 18:30:24] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-07 18:30:24] [INFO]   -> Found value: 2026-01-07T13:28:51.137-05:00
[2026-01-07 18:30:24] [INFO]   -> Set field 'alarm' = "2026-01-07 18:28:51"
[2026-01-07 18:30:24] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-07 18:30:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:30:24] [INFO]   -> Set field 'enroute' = null
[2026-01-07 18:30:24] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-07 18:30:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:30:24] [INFO]   -> Set field 'onScene' = null
[2026-01-07 18:30:24] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-07 18:30:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:30:24] [INFO]   -> Set field 'cleared' = null
[2026-01-07 18:30:24] [INFO]   -> Set field 'inService' = null
[2026-01-07 18:30:24] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-07 18:30:24] [INFO]   -> Found value: 35.279576
[2026-01-07 18:30:24] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27957599999999871442923904396593570709228515625
[2026-01-07 18:30:24] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-07 18:30:24] [INFO]   -> Found value: -85.255342
[2026-01-07 18:30:24] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2553419999999988476702128536999225616455078125
[2026-01-07 18:30:24] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-07 18:30:24] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:30:24] [INFO]   -> Set field 'dispatched' = null
[2026-01-07 18:30:24] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-07 18:30:24] [INFO]   -> Found value: LN
[2026-01-07 18:30:24] [INFO]   -> Set field 'streetType' = "LN"
[2026-01-07 18:30:24] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 18:30:24] [INFO]   -> No value found (null or empty)
[2026-01-07 18:30:24] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-07 18:30:24] [INFO]   -> Found value: 2026-01-08739
[2026-01-07 18:30:24] [INFO]   -> Set field 'policeReportNumber' = "2026-01-08739"
[2026-01-07 18:30:24] [INFO]   -> Set field 'cADNumber' = "2026-01-08739"
[2026-01-07 18:30:24] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-07 18:30:24] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-07 18:30:24] [INFO] Found 2 elements for 'Comment', concatenating 2 non-empty values
[2026-01-07 18:30:24] [INFO]   -> Found value: 01/07/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36
01/07/20...
[2026-01-07 18:30:24] [INFO]   -> Set field 'dispatchNotes' = "01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED"
[2026-01-07 18:30:24] [INFO]   -> Set field 'cADLog' = "01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED"
[2026-01-07 18:30:24] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-07 18:30:24] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-07 18:30:24] [INFO]   -> Found value: MFD
[2026-01-07 18:30:24] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-07 18:30:24] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-01-07 18:30:24] [INFO] Concatenating street name and type
[2026-01-07 18:30:24] [INFO]   -> Combined street name: SOUR MASH LN
[2026-01-07 18:30:24] [INFO] Built locationCoordinates from lat/lng: 35.279576,-85.255342
[2026-01-07 18:30:24] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FTEST-Fire Test Call","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9805,"streetName":"SOUR MASH LN","incidentLocationCross":"No Cross Street\/POE RD","alarm":"2026-01-07 18:28:51","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27957599999999871442923904396593570709228515625,"nERISIncidentLongitude":-85.2553419999999988476702128536999225616455078125,"dispatched":null,"policeReportNumber":"2026-01-08739","cADNumber":"2026-01-08739","dispatchNotes":"01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED","cADLog":"01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED","cADAgencyIdentifier":"MFD","locationCoordinates":"35.279576,-85.255342"}
[2026-01-07 18:30:24] [INFO] Number of extracted fields: 19
[2026-01-07 18:30:24] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-07 18:30:24] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 18:30:24] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-07 18:30:24] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-07 18:30:24] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-07 18:30:24] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-07 18:30:24] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-07 18:30:24] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-07 18:30:25] [INFO] Found existing IncidentTypeMapping with ID: 690b740bbb3108fbf
[2026-01-07 18:30:32] [INFO] Created new Dispatches record with ID: 695ea641667cf4482
[2026-01-07 18:30:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133021547.xml
[2026-01-07 18:30:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133021547.xml
[2026-01-07 18:34:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133439624.xml
[2026-01-07 18:34:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133439624.xml for user: 68920395733981a47
[2026-01-07 18:34:39] [INFO] File size: 4992 bytes
[2026-01-07 18:34:41] [INFO] Created FTPFiles record with ID: 695ea74184154fc32
[2026-01-07 18:34:41] [INFO] About to extract fields from XML. File size: 4992 bytes
[2026-01-07 18:34:41] [INFO] Number of mappings: 24
[2026-01-07 18:34:41] [INFO] Starting XML parsing. Content length: 4992
[2026-01-07 18:34:41] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-07 18:34:41] [INFO] Processing 24 field mappings
[2026-01-07 18:34:41] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-07 18:34:41] [INFO]   -> Found value: SIREN-Sequoyah Siren
[2026-01-07 18:34:41] [INFO]   -> Set field 'incidentTypeValue1' = "SIREN-Sequoyah Siren"
[2026-01-07 18:34:41] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-07 18:34:41] [INFO]   -> Found value: 37379
[2026-01-07 18:34:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-07 18:34:41] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-07 18:34:41] [INFO]   -> Found value: 9805
[2026-01-07 18:34:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9805
[2026-01-07 18:34:41] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-07 18:34:41] [INFO]   -> Found value: SOUR MASH
[2026-01-07 18:34:41] [INFO]   -> Set field 'streetName' = "SOUR MASH"
[2026-01-07 18:34:41] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-07 18:34:41] [INFO]   -> Found value: No Cross Street/POE RD
[2026-01-07 18:34:41] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/POE RD"
[2026-01-07 18:34:41] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-07 18:34:41] [INFO]   -> Found value: 2026-01-07T13:28:51.137-05:00
[2026-01-07 18:34:41] [INFO]   -> Set field 'alarm' = "2026-01-07 18:28:51"
[2026-01-07 18:34:41] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-07 18:34:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:34:41] [INFO]   -> Set field 'enroute' = null
[2026-01-07 18:34:41] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-07 18:34:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:34:41] [INFO]   -> Set field 'onScene' = null
[2026-01-07 18:34:41] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-07 18:34:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:34:41] [INFO]   -> Set field 'cleared' = null
[2026-01-07 18:34:41] [INFO]   -> Set field 'inService' = null
[2026-01-07 18:34:41] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-07 18:34:41] [INFO]   -> Found value: 35.279576
[2026-01-07 18:34:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27957599999999871442923904396593570709228515625
[2026-01-07 18:34:41] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-07 18:34:41] [INFO]   -> Found value: -85.255342
[2026-01-07 18:34:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2553419999999988476702128536999225616455078125
[2026-01-07 18:34:41] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-07 18:34:41] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:34:41] [INFO]   -> Set field 'dispatched' = null
[2026-01-07 18:34:41] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-07 18:34:41] [INFO]   -> Found value: LN
[2026-01-07 18:34:41] [INFO]   -> Set field 'streetType' = "LN"
[2026-01-07 18:34:41] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 18:34:41] [INFO]   -> No value found (null or empty)
[2026-01-07 18:34:41] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-07 18:34:41] [INFO]   -> Found value: 2026-01-08739
[2026-01-07 18:34:41] [INFO]   -> Set field 'policeReportNumber' = "2026-01-08739"
[2026-01-07 18:34:41] [INFO]   -> Set field 'cADNumber' = "2026-01-08739"
[2026-01-07 18:34:41] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-07 18:34:41] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-07 18:34:41] [INFO] Found 2 elements for 'Comment', concatenating 2 non-empty values
[2026-01-07 18:34:41] [INFO]   -> Found value: 01/07/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36
01/07/20...
[2026-01-07 18:34:41] [INFO]   -> Set field 'dispatchNotes' = "01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED"
[2026-01-07 18:34:41] [INFO]   -> Set field 'cADLog' = "01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED"
[2026-01-07 18:34:41] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-07 18:34:41] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-07 18:34:41] [INFO]   -> Found value: MFD
[2026-01-07 18:34:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-07 18:34:41] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-01-07 18:34:41] [INFO] Concatenating street name and type
[2026-01-07 18:34:41] [INFO]   -> Combined street name: SOUR MASH LN
[2026-01-07 18:34:41] [INFO] Built locationCoordinates from lat/lng: 35.279576,-85.255342
[2026-01-07 18:34:41] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SIREN-Sequoyah Siren","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9805,"streetName":"SOUR MASH LN","incidentLocationCross":"No Cross Street\/POE RD","alarm":"2026-01-07 18:28:51","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.27957599999999871442923904396593570709228515625,"nERISIncidentLongitude":-85.2553419999999988476702128536999225616455078125,"dispatched":null,"policeReportNumber":"2026-01-08739","cADNumber":"2026-01-08739","dispatchNotes":"01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED","cADLog":"01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED","cADAgencyIdentifier":"MFD","locationCoordinates":"35.279576,-85.255342"}
[2026-01-07 18:34:41] [INFO] Number of extracted fields: 19
[2026-01-07 18:34:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-07 18:34:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 18:34:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-07 18:34:41] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-07 18:34:42] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-07 18:34:42] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-07 18:34:42] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-07 18:34:42] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-07 18:34:42] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"SIREN-Sequoyah Siren","saasclientId":"681942a25bc58c3ab","name":"SIREN-Sequoyah Siren"}
[2026-01-07 18:34:42] [INFO] Created new IncidentTypeMapping with ID: 695ea742cbb04f989
[2026-01-07 18:34:43] [INFO] Found existing Dispatch with cADNumber '2026-01-08739', ID: 695ea641667cf4482 - will update instead of create
[2026-01-07 18:34:43] [INFO] Updated existing Dispatches record with ID: 695ea641667cf4482
[2026-01-07 18:34:43] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133439624.xml
[2026-01-07 18:34:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133439624.xml
[2026-01-07 18:37:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133757166.xml
[2026-01-07 18:37:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133757166.xml for user: 68920395733981a47
[2026-01-07 18:37:57] [INFO] File size: 5351 bytes
[2026-01-07 18:37:57] [INFO] Created FTPFiles record with ID: 695ea805b509c9f98
[2026-01-07 18:37:57] [INFO] About to extract fields from XML. File size: 5351 bytes
[2026-01-07 18:37:57] [INFO] Number of mappings: 24
[2026-01-07 18:37:57] [INFO] Starting XML parsing. Content length: 5351
[2026-01-07 18:37:57] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-07 18:37:57] [INFO] Processing 24 field mappings
[2026-01-07 18:37:57] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-07 18:37:57] [INFO]   -> Found value: SIREN-Sequoyah Siren
[2026-01-07 18:37:57] [INFO]   -> Set field 'incidentTypeValue1' = "SIREN-Sequoyah Siren"
[2026-01-07 18:37:57] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-07 18:37:57] [INFO]   -> Found value: 37379
[2026-01-07 18:37:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-07 18:37:57] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-07 18:37:57] [INFO]   -> Found value: 9805
[2026-01-07 18:37:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9805
[2026-01-07 18:37:57] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-07 18:37:57] [INFO]   -> Found value: SOUR MASH
[2026-01-07 18:37:57] [INFO]   -> Set field 'streetName' = "SOUR MASH"
[2026-01-07 18:37:57] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-07 18:37:57] [INFO]   -> Found value: No Cross Street/POE RD
[2026-01-07 18:37:57] [INFO]   -> Set field 'incidentLocationCross' = "No Cross Street\/POE RD"
[2026-01-07 18:37:57] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-07 18:37:57] [INFO]   -> Found value: 2026-01-07T13:28:51.137-05:00
[2026-01-07 18:37:57] [INFO]   -> Set field 'alarm' = "2026-01-07 18:28:51"
[2026-01-07 18:37:57] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-07 18:37:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:37:57] [INFO]   -> Set field 'enroute' = null
[2026-01-07 18:37:57] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-07 18:37:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:37:57] [INFO]   -> Set field 'onScene' = null
[2026-01-07 18:37:57] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-07 18:37:57] [INFO]   -> Found value: 2026-01-07T13:37:55.023-05:00
[2026-01-07 18:37:57] [INFO]   -> Set field 'cleared' = "2026-01-07 18:37:55"
[2026-01-07 18:37:57] [INFO]   -> Set field 'inService' = "2026-01-07 18:37:55"
[2026-01-07 18:37:57] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-07 18:37:57] [INFO]   -> Found value: 35.279576
[2026-01-07 18:37:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.27957599999999871442923904396593570709228515625
[2026-01-07 18:37:57] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-07 18:37:57] [INFO]   -> Found value: -85.255342
[2026-01-07 18:37:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2553419999999988476702128536999225616455078125
[2026-01-07 18:37:57] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-07 18:37:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-07 18:37:57] [INFO]   -> Set field 'dispatched' = null
[2026-01-07 18:37:57] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-07 18:37:57] [INFO]   -> Found value: LN
[2026-01-07 18:37:57] [INFO]   -> Set field 'streetType' = "LN"
[2026-01-07 18:37:57] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 18:37:57] [INFO]   -> No value found (null or empty)
[2026-01-07 18:37:57] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-07 18:37:57] [INFO]   -> Found value: 2026-01-08739
[2026-01-07 18:37:57] [INFO]   -> Set field 'policeReportNumber' = "2026-01-08739"
[2026-01-07 18:37:57] [INFO]   -> Set field 'cADNumber' = "2026-01-08739"
[2026-01-07 18:37:57] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-07 18:37:57] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-07 18:37:57] [INFO] Found 2 elements for 'Comment', concatenating 2 non-empty values
[2026-01-07 18:37:57] [INFO]   -> Found value: 01/07/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36
01/07/20...
[2026-01-07 18:37:57] [INFO]   -> Set field 'dispatchNotes' = "01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED"
[2026-01-07 18:37:57] [INFO]   -> Set field 'cADLog' = "01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED"
[2026-01-07 18:37:57] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-07 18:37:57] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-07 18:37:57] [INFO]   -> Found value: MFD
[2026-01-07 18:37:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-07 18:37:57] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-01-07 18:37:57] [INFO] Concatenating street name and type
[2026-01-07 18:37:57] [INFO]   -> Combined street name: SOUR MASH LN
[2026-01-07 18:37:57] [INFO] Built locationCoordinates from lat/lng: 35.279576,-85.255342
[2026-01-07 18:37:57] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"SIREN-Sequoyah Siren","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":9805,"streetName":"SOUR MASH LN","incidentLocationCross":"No Cross Street\/POE RD","alarm":"2026-01-07 18:28:51","enroute":null,"onScene":null,"cleared":"2026-01-07 18:37:55","inService":"2026-01-07 18:37:55","nERISIncidentLatitude":35.27957599999999871442923904396593570709228515625,"nERISIncidentLongitude":-85.2553419999999988476702128536999225616455078125,"dispatched":null,"policeReportNumber":"2026-01-08739","cADNumber":"2026-01-08739","dispatchNotes":"01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED","cADLog":"01\/07\/2026 13:29:18 WILSON_J                [1] TVA ADV THEY WILL BE GROWL TESTING SIREN 36\n01\/07\/2026 13:29:58 WILSON_J                [2] WILL CALL BACK WHEN FINISHED","cADAgencyIdentifier":"MFD","locationCoordinates":"35.279576,-85.255342"}
[2026-01-07 18:37:57] [INFO] Number of extracted fields: 19
[2026-01-07 18:37:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-07 18:37:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 18:37:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-07 18:37:57] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-07 18:37:57] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-07 18:37:58] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-07 18:37:58] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-07 18:37:58] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-07 18:37:58] [INFO] Found existing IncidentTypeMapping with ID: 695ea742cbb04f989
[2026-01-07 18:37:58] [INFO] Found existing Dispatch with cADNumber '2026-01-08739', ID: 695ea641667cf4482 - will update instead of create
[2026-01-07 18:37:58] [INFO] Updated existing Dispatches record with ID: 695ea641667cf4482
[2026-01-07 18:37:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133757166.xml
[2026-01-07 18:37:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-08739_20260107133757166.xml
[2026-01-07 19:19:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:19:23Z.xml
[2026-01-07 19:19:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:19:23Z.xml
[2026-01-07 19:19:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:19:29Z.xml
[2026-01-07 19:19:32] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:19:29Z.xml
[2026-01-07 19:19:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:19:40Z.xml
[2026-01-07 19:19:43] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:19:40Z.xml
[2026-01-07 19:20:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:20:06Z.xml
[2026-01-07 19:20:09] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001096_2026-01-07 13:20:06Z.xml
[2026-01-07 19:30:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002301_20260107_193031.XML
[2026-01-07 19:30:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002301_20260107_193031.XML for user: 68f1466aed072ad4a
[2026-01-07 19:30:31] [INFO] File size: 5378 bytes
[2026-01-07 19:30:31] [INFO] Created FTPFiles record with ID: 695eb4578f3d03543
[2026-01-07 19:30:31] [INFO] About to extract fields from XML. File size: 5378 bytes
[2026-01-07 19:30:31] [INFO] Number of mappings: 28
[2026-01-07 19:30:31] [INFO] Starting XML parsing. Content length: 5378
[2026-01-07 19:30:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 19:30:31] [INFO] Processing 28 field mappings
[2026-01-07 19:30:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 19:30:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 19:30:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 19:30:31] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-07 19:30:31] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-07 19:30:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-07 19:30:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 19:30:31] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-07 19:30:31] [INFO]   -> Found value: 2026000052
[2026-01-07 19:30:31] [INFO]   -> Set field 'incidentInternalId' = "2026000052"
[2026-01-07 19:30:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000052"
[2026-01-07 19:30:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 19:30:31] [INFO]   -> Found value: FALL VICTIM
[2026-01-07 19:30:31] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-01-07 19:30:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 19:30:31] [INFO]   -> Found value: 2984
[2026-01-07 19:30:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2984
[2026-01-07 19:30:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 19:30:31] [INFO]   -> Found value: TN
[2026-01-07 19:30:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 19:30:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 19:30:31] [INFO]   -> Found value: 38506
[2026-01-07 19:30:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-07 19:30:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 19:30:31] [INFO]   -> Found value: 36.13105
[2026-01-07 19:30:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1310500000000018872015061788260936737060546875
[2026-01-07 19:30:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 19:30:31] [INFO]   -> Found value: -85.60092
[2026-01-07 19:30:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.600920000000002119122655130922794342041015625
[2026-01-07 19:30:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 19:30:31] [INFO]   -> Found value: 2026-01-07 13:29:45
[2026-01-07 19:30:31] [INFO]   -> Set field 'alarm' = "2026-01-07 13:29:45"
[2026-01-07 19:30:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 19:30:31] [INFO]   -> Found value: 2026-01-07 13:30:28
[2026-01-07 19:30:31] [INFO]   -> Set field 'dispatched' = "2026-01-07 13:30:28"
[2026-01-07 19:30:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 19:30:31] [INFO]   -> Found value: /ACADEMY RD
[2026-01-07 19:30:31] [INFO]   -> Set field 'incidentLocationCross' = "\/ACADEMY RD"
[2026-01-07 19:30:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 19:30:31] [INFO]   -> Found value: PCFR
[2026-01-07 19:30:31] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 19:30:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 19:30:31] [INFO]   -> Found value: 2026-01-07 13:30:28
[2026-01-07 19:30:31] [INFO]   -> Set field 'timedispatch' = "2026-01-07 13:30:28"
[2026-01-07 19:30:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 19:30:31] [INFO]   -> No value found (null or empty)
[2026-01-07 19:30:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 19:30:31] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 19:30:31] [INFO]   -> Found value: 20260002301
[2026-01-07 19:30:31] [INFO]   -> Set field 'policeReportNumber' = "20260002301"
[2026-01-07 19:30:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 19:30:31] [INFO]   -> Found value: [APCO INTELLICOMM] Case ID: ryppySM62k Caller Phone: 9312396705 Caller Name: VERIZON Incident Locati...
[2026-01-07 19:30:31] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Case ID: ryppySM62k Caller Phone: 9312396705 Caller Name: VERIZON Incident Location: 2984 DOWNING ST Incident Location Detail: \/ACADEMY RD Nature: FALL VICTIM Incident #: 20260002300 CAD Call Taker: JBOHANNON Chief Complaint: (empty)  [01\/07\/26 13:29:47 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 13:29:45 JBOHANNON]"
[2026-01-07 19:30:31] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Case ID: ryppySM62k Caller Phone: 9312396705 Caller Name: VERIZON Incident Location: 2984 DOWNING ST Incident Location Detail: \/ACADEMY RD Nature: FALL VICTIM Incident #: 20260002300 CAD Call Taker: JBOHANNON Chief Complaint: (empty)  [01\/07\/26 13:29:47 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 13:29:45 JBOHANNON]"
[2026-01-07 19:30:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 19:30:31] [INFO]   -> Found value: COOKEVILLE
[2026-01-07 19:30:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-07 19:30:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 19:30:31] [INFO]   -> Found value: DOWNING
[2026-01-07 19:30:31] [INFO]   -> Set field 'streetName' = "DOWNING"
[2026-01-07 19:30:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 19:30:31] [INFO]   -> Found value: ST
[2026-01-07 19:30:31] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-07 19:30:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 19:30:31] [INFO]   -> Found value: 2984 DOWNING ST
[2026-01-07 19:30:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2984 DOWNING ST"
[2026-01-07 19:30:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 19:30:31] [INFO] Concatenating street name and type
[2026-01-07 19:30:31] [INFO]   -> Combined street name: DOWNING ST
[2026-01-07 19:30:31] [INFO] Built locationCoordinates from lat/lng: 36.13105,-85.60092
[2026-01-07 19:30:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000052","dispatchRunNumber":"2026000052","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":2984,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1310500000000018872015061788260936737060546875,"nERISIncidentLongitude":-85.600920000000002119122655130922794342041015625,"alarm":"2026-01-07 13:29:45","dispatched":"2026-01-07 13:30:28","incidentLocationCross":"\/ACADEMY RD","cADVehicleID":"PCFR","timedispatch":"2026-01-07 13:30:28","policeReportNumber":"20260002301","dispatchNotes":"[APCO INTELLICOMM] Case ID: ryppySM62k Caller Phone: 9312396705 Caller Name: VERIZON Incident Location: 2984 DOWNING ST Incident Location Detail: \/ACADEMY RD Nature: FALL VICTIM Incident #: 20260002300 CAD Call Taker: JBOHANNON Chief Complaint: (empty)  [01\/07\/26 13:29:47 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 13:29:45 JBOHANNON]","cADLog":"[APCO INTELLICOMM] Case ID: ryppySM62k Caller Phone: 9312396705 Caller Name: VERIZON Incident Location: 2984 DOWNING ST Incident Location Detail: \/ACADEMY RD Nature: FALL VICTIM Incident #: 20260002300 CAD Call Taker: JBOHANNON Chief Complaint: (empty)  [01\/07\/26 13:29:47 PSUTIL01] Event spawned from FALL VICTIM.  [01\/07\/2026 13:29:45 JBOHANNON]","incidentLocationCity":"COOKEVILLE","streetName":"DOWNING ST","incidentAddressTextVersionStreet":"2984 DOWNING ST","locationCoordinates":"36.13105,-85.60092"}
[2026-01-07 19:30:31] [INFO] Number of extracted fields: 21
[2026-01-07 19:30:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-07 19:30:31] [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-07 19:30:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-07 19:30:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 19:30:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 19:30:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-07 19:30:31] [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-07 19:30:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 19:30:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-07 19:30:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 19:30:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 19:30:32] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-01-07 19:30:40] [INFO] Created new Dispatches record with ID: 695eb45856c3c5ea9
[2026-01-07 19:30:40] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002301_20260107_193031.XML
[2026-01-07 19:30:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002301_20260107_193031.XML
[2026-01-07 20:39:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml
[2026-01-07 20:39:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml for user: 68d56363ec1209189
[2026-01-07 20:39:55] [INFO] File size: 2065 bytes
[2026-01-07 20:39:55] [INFO] Created FTPFiles record with ID: 695ec49bdbfa05b7a
[2026-01-07 20:39:55] [INFO] About to extract fields from XML. File size: 2065 bytes
[2026-01-07 20:39:55] [INFO] Number of mappings: 21
[2026-01-07 20:39:55] [INFO] Starting XML parsing. Content length: 2065
[2026-01-07 20:39:55] [INFO] XML parsed successfully. Root element: Incident
[2026-01-07 20:39:55] [INFO] Processing 21 field mappings
[2026-01-07 20:39:55] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-07 20:39:55] [INFO]   -> Found value: 26-00672
[2026-01-07 20:39:55] [INFO]   -> Set field 'dispatchRunNumber' = "26-00672"
[2026-01-07 20:39:55] [INFO]   -> Set field 'cADNumber' = "26-00672"
[2026-01-07 20:39:55] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-07 20:39:55] [INFO]   -> Found value: 1211
[2026-01-07 20:39:55] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1211
[2026-01-07 20:39:55] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-07 20:39:55] [INFO]   -> Found value: SIKES AVE
[2026-01-07 20:39:55] [INFO]   -> Set field 'streetName' = "SIKES AVE"
[2026-01-07 20:39:55] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-07 20:39:55] [INFO]   -> No value found (null or empty)
[2026-01-07 20:39:55] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-07 20:39:55] [INFO]   -> Found value: SIKESTON
[2026-01-07 20:39:55] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-07 20:39:55] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-07 20:39:55] [INFO]   -> No value found (null or empty)
[2026-01-07 20:39:55] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-07 20:39:55] [INFO]   -> Found value: MO
[2026-01-07 20:39:55] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-07 20:39:55] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-07 20:39:55] [INFO]   -> Found value: 63801
[2026-01-07 20:39:55] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-07 20:39:55] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-07 20:39:55] [INFO]   -> Found value: 0
[2026-01-07 20:39:55] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-07 20:39:55] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-07 20:39:55] [INFO]   -> Found value: 0
[2026-01-07 20:39:55] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-07 20:39:55] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-07 20:39:55] [INFO]   -> Found value: FIRE-GRASS/BRUSH/TREES
[2026-01-07 20:39:55] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GRASS\/BRUSH\/TREES"
[2026-01-07 20:39:55] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-07 20:39:55] [INFO]   -> Found value: 01-07-2026 14:12:29|Call Received on 01/07/2026 @ 14:12

Location: 319 NORTHWEST ST

CALLER STATES H...
[2026-01-07 20:39:55] [INFO]   -> Set field 'dispatchNotes' = "01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING"
[2026-01-07 20:39:55] [INFO]   -> Set field 'cADLog' = "01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING"
[2026-01-07 20:39:55] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-07 20:39:55] [INFO]   -> Found value: 01-07-2026T14:14:05
[2026-01-07 20:39:55] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:14:05
[2026-01-07 20:39:55] [INFO]   -> Set field 'alarm' = "2026-07-01 14:14:05"
[2026-01-07 20:39:55] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:14:05
[2026-01-07 20:39:55] [INFO]   -> Set field 'dispatched' = "2026-07-01 14:14:05"
[2026-01-07 20:39:55] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-07 20:39:55] [INFO]   -> Found value: 01-07-2026T14:18:19
[2026-01-07 20:39:55] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:18:19
[2026-01-07 20:39:55] [INFO]   -> Set field 'onScene' = "2026-07-01 14:18:19"
[2026-01-07 20:39:55] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-07 20:39:55] [INFO]   -> Found value: 01-07-2026T14:39:38
[2026-01-07 20:39:55] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:39:38
[2026-01-07 20:39:55] [INFO]   -> Set field 'cleared' = "2026-07-01 14:39:38"
[2026-01-07 20:39:55] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:39:38
[2026-01-07 20:39:55] [INFO]   -> Set field 'inService' = "2026-07-01 14:39:38"
[2026-01-07 20:39:55] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-07 20:39:55] [INFO]   -> Found value: ENG2
[2026-01-07 20:39:55] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-07 20:39:55] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-07 20:39:55] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-07 20:39:55] [INFO]   -> Found value: 01-07-2026T14:15:54
[2026-01-07 20:39:55] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:15:54
[2026-01-07 20:39:55] [INFO]   -> Set field 'timeenroutetoscene' = "2026-07-01 14:15:54"
[2026-01-07 20:39:55] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-07 20:39:55] [INFO]   -> No value found (null or empty)
[2026-01-07 20:39:55] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-07 20:39:55] [INFO]   -> Found value: 01-07-2026T14:39:38
[2026-01-07 20:39:55] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:39:38
[2026-01-07 20:39:55] [INFO]   -> Set field 'timeunitclear' = "2026-07-01 14:39:38"
[2026-01-07 20:39:55] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-07 20:39:55] [INFO]   -> No value found (null or empty)
[2026-01-07 20:39:55] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-07 20:39:55] [INFO]   -> Found value: SDPSFD
[2026-01-07 20:39:55] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-07 20:39:55] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-07 20:39:55] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-07 20:39:55] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00672","cADNumber":"26-00672","incidentLocationStreetNumber":1211,"streetName":"SIKES AVE","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GRASS\/BRUSH\/TREES","dispatchNotes":"01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING","cADLog":"01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING","alarm":"2026-07-01 14:14:05","dispatched":"2026-07-01 14:14:05","onScene":"2026-07-01 14:18:19","cleared":"2026-07-01 14:39:38","inService":"2026-07-01 14:39:38","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-07-01 14:15:54","timeunitclear":"2026-07-01 14:39:38","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-07 20:39:55] [INFO] Number of extracted fields: 23
[2026-01-07 20:39:55] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-07 20:39:55] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 20:39:55] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-07 20:39:55] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-07 20:39:56] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-07 20:39:56] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-07 20:39:56] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-07 20:39:56] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-07 20:39:56] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e87079abb2
[2026-01-07 20:39:58] [INFO] Created new Dispatches record with ID: 695ec49cacc172e4c
[2026-01-07 20:39:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml
[2026-01-07 20:39:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml
[2026-01-07 20:53:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml
[2026-01-07 20:53:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml for user: 68d56363ec1209189
[2026-01-07 20:53:05] [INFO] File size: 2262 bytes
[2026-01-07 20:53:06] [INFO] Created FTPFiles record with ID: 695ec7b21f51826ae
[2026-01-07 20:53:06] [INFO] About to extract fields from XML. File size: 2262 bytes
[2026-01-07 20:53:06] [INFO] Number of mappings: 21
[2026-01-07 20:53:06] [INFO] Starting XML parsing. Content length: 2262
[2026-01-07 20:53:06] [INFO] XML parsed successfully. Root element: Incident
[2026-01-07 20:53:06] [INFO] Processing 21 field mappings
[2026-01-07 20:53:06] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-07 20:53:06] [INFO]   -> Found value: 26-00672
[2026-01-07 20:53:06] [INFO]   -> Set field 'dispatchRunNumber' = "26-00672"
[2026-01-07 20:53:06] [INFO]   -> Set field 'cADNumber' = "26-00672"
[2026-01-07 20:53:06] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-07 20:53:06] [INFO]   -> Found value: 1211
[2026-01-07 20:53:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1211
[2026-01-07 20:53:06] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-07 20:53:06] [INFO]   -> Found value: SIKES AVE
[2026-01-07 20:53:06] [INFO]   -> Set field 'streetName' = "SIKES AVE"
[2026-01-07 20:53:06] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-07 20:53:06] [INFO]   -> No value found (null or empty)
[2026-01-07 20:53:06] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-07 20:53:06] [INFO]   -> Found value: SIKESTON
[2026-01-07 20:53:06] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-07 20:53:06] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-07 20:53:06] [INFO]   -> No value found (null or empty)
[2026-01-07 20:53:06] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-07 20:53:06] [INFO]   -> Found value: MO
[2026-01-07 20:53:06] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-07 20:53:06] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-07 20:53:06] [INFO]   -> Found value: 63801
[2026-01-07 20:53:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-07 20:53:06] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-07 20:53:06] [INFO]   -> Found value: 0
[2026-01-07 20:53:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-07 20:53:06] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-07 20:53:06] [INFO]   -> Found value: 0
[2026-01-07 20:53:06] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-07 20:53:06] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-07 20:53:06] [INFO]   -> Found value: FIRE-GRASS/BRUSH/TREES
[2026-01-07 20:53:06] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GRASS\/BRUSH\/TREES"
[2026-01-07 20:53:06] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-07 20:53:06] [INFO]   -> Found value: 01-07-2026 14:12:29|Call Received on 01/07/2026 @ 14:12

Location: 319 NORTHWEST ST

CALLER STATES H...
[2026-01-07 20:53:06] [INFO]   -> Set field 'dispatchNotes' = "01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING 01-07-2026 14:39:48|Disposition - SDPS FD:  AR\nDisposition - SDPS PD:  NRN\nNotes on Close: FIRE OUT 01-07-2026 14:50:10|C92 ADVISED ALL PATROL UNITS CLEAR 556 WILL HAVE ONE CITATION AND A REPORT"
[2026-01-07 20:53:06] [INFO]   -> Set field 'cADLog' = "01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING 01-07-2026 14:39:48|Disposition - SDPS FD:  AR\nDisposition - SDPS PD:  NRN\nNotes on Close: FIRE OUT 01-07-2026 14:50:10|C92 ADVISED ALL PATROL UNITS CLEAR 556 WILL HAVE ONE CITATION AND A REPORT"
[2026-01-07 20:53:06] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-07 20:53:06] [INFO]   -> Found value: 01-07-2026T14:14:05
[2026-01-07 20:53:06] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:14:05
[2026-01-07 20:53:06] [INFO]   -> Set field 'alarm' = "2026-07-01 14:14:05"
[2026-01-07 20:53:06] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:14:05
[2026-01-07 20:53:06] [INFO]   -> Set field 'dispatched' = "2026-07-01 14:14:05"
[2026-01-07 20:53:06] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-07 20:53:06] [INFO]   -> Found value: 01-07-2026T14:18:19
[2026-01-07 20:53:06] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:18:19
[2026-01-07 20:53:06] [INFO]   -> Set field 'onScene' = "2026-07-01 14:18:19"
[2026-01-07 20:53:06] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-07 20:53:06] [INFO]   -> Found value: 01-07-2026T14:39:38
[2026-01-07 20:53:06] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:39:38
[2026-01-07 20:53:06] [INFO]   -> Set field 'cleared' = "2026-07-01 14:39:38"
[2026-01-07 20:53:06] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:39:38
[2026-01-07 20:53:06] [INFO]   -> Set field 'inService' = "2026-07-01 14:39:38"
[2026-01-07 20:53:06] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-07 20:53:06] [INFO]   -> Found value: ENG2
[2026-01-07 20:53:06] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-07 20:53:06] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-07 20:53:06] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-07 20:53:06] [INFO]   -> Found value: 01-07-2026T14:15:54
[2026-01-07 20:53:06] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:15:54
[2026-01-07 20:53:06] [INFO]   -> Set field 'timeenroutetoscene' = "2026-07-01 14:15:54"
[2026-01-07 20:53:06] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-07 20:53:06] [INFO]   -> No value found (null or empty)
[2026-01-07 20:53:06] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-07 20:53:06] [INFO]   -> Found value: 01-07-2026T14:39:38
[2026-01-07 20:53:06] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:39:38
[2026-01-07 20:53:06] [INFO]   -> Set field 'timeunitclear' = "2026-07-01 14:39:38"
[2026-01-07 20:53:06] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-07 20:53:06] [INFO]   -> No value found (null or empty)
[2026-01-07 20:53:06] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-07 20:53:06] [INFO]   -> Found value: SDPSFD
[2026-01-07 20:53:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-07 20:53:06] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-07 20:53:06] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-07 20:53:06] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00672","cADNumber":"26-00672","incidentLocationStreetNumber":1211,"streetName":"SIKES AVE","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GRASS\/BRUSH\/TREES","dispatchNotes":"01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING 01-07-2026 14:39:48|Disposition - SDPS FD:  AR\nDisposition - SDPS PD:  NRN\nNotes on Close: FIRE OUT 01-07-2026 14:50:10|C92 ADVISED ALL PATROL UNITS CLEAR 556 WILL HAVE ONE CITATION AND A REPORT","cADLog":"01-07-2026 14:12:29|Call Received on 01\/07\/2026 @ 14:12\n\nLocation: 319 NORTHWEST ST\n\nCALLER STATES HE HAS A FIRE IN HIS YARD AND NEIGHBORS YARD IS ON FIRE THE FENCE HAS BURNED 01-07-2026 14:18:17|C92 INVESTIGATING 01-07-2026 14:39:48|Disposition - SDPS FD:  AR\nDisposition - SDPS PD:  NRN\nNotes on Close: FIRE OUT 01-07-2026 14:50:10|C92 ADVISED ALL PATROL UNITS CLEAR 556 WILL HAVE ONE CITATION AND A REPORT","alarm":"2026-07-01 14:14:05","dispatched":"2026-07-01 14:14:05","onScene":"2026-07-01 14:18:19","cleared":"2026-07-01 14:39:38","inService":"2026-07-01 14:39:38","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-07-01 14:15:54","timeunitclear":"2026-07-01 14:39:38","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-07 20:53:06] [INFO] Number of extracted fields: 23
[2026-01-07 20:53:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-07 20:53:06] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 20:53:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-07 20:53:06] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-07 20:53:06] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-07 20:53:06] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-07 20:53:06] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-07 20:53:06] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-07 20:53:06] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e87079abb2
[2026-01-07 20:53:06] [INFO] Found existing Dispatch with cADNumber '26-00672', ID: 695ec49cacc172e4c - will update instead of create
[2026-01-07 20:53:06] [INFO] Updated existing Dispatches record with ID: 695ec49cacc172e4c
[2026-01-07 20:53:06] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml
[2026-01-07 20:53:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00672.xml
[2026-01-07 20:57:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002351_20260107_205730.XML
[2026-01-07 20:57:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002351_20260107_205730.XML for user: 68f1466aed072ad4a
[2026-01-07 20:57:30] [INFO] File size: 5459 bytes
[2026-01-07 20:57:31] [INFO] Created FTPFiles record with ID: 695ec8bb1c971612e
[2026-01-07 20:57:31] [INFO] About to extract fields from XML. File size: 5459 bytes
[2026-01-07 20:57:31] [INFO] Number of mappings: 28
[2026-01-07 20:57:31] [INFO] Starting XML parsing. Content length: 5459
[2026-01-07 20:57:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 20:57:31] [INFO] Processing 28 field mappings
[2026-01-07 20:57:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 20:57:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 20:57:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 20:57:31] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-07 20:57:31] [INFO]   -> Found value: PCFD
EMS
[2026-01-07 20:57:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS"
[2026-01-07 20:57:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 20:57:31] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-07 20:57:31] [INFO]   -> Found value: 2026000053
[2026-01-07 20:57:31] [INFO]   -> Set field 'incidentInternalId' = "2026000053"
[2026-01-07 20:57:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000053"
[2026-01-07 20:57:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 20:57:31] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-01-07 20:57:31] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-01-07 20:57:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 20:57:31] [INFO]   -> Found value: 3223
[2026-01-07 20:57:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3223
[2026-01-07 20:57:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 20:57:31] [INFO]   -> Found value: TN
[2026-01-07 20:57:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 20:57:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 20:57:31] [INFO]   -> Found value: 38501
[2026-01-07 20:57:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-07 20:57:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 20:57:31] [INFO]   -> Found value: 36.18805
[2026-01-07 20:57:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18804999999999694182406528852880001068115234375
[2026-01-07 20:57:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 20:57:31] [INFO]   -> Found value: -85.57156
[2026-01-07 20:57:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.571560000000005175024853087961673736572265625
[2026-01-07 20:57:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 20:57:31] [INFO]   -> Found value: 2026-01-07 14:55:12
[2026-01-07 20:57:31] [INFO]   -> Set field 'alarm' = "2026-01-07 14:55:12"
[2026-01-07 20:57:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 20:57:31] [INFO]   -> Found value: 2026-01-07 14:57:21
[2026-01-07 20:57:31] [INFO]   -> Set field 'dispatched' = "2026-01-07 14:57:21"
[2026-01-07 20:57:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 20:57:31] [INFO]   -> Found value: PEACH ORCHARD RD/GRANDIOSE DR
[2026-01-07 20:57:31] [INFO]   -> Set field 'incidentLocationCross' = "PEACH ORCHARD RD\/GRANDIOSE DR"
[2026-01-07 20:57:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 20:57:31] [INFO]   -> Found value: TK16
[2026-01-07 20:57:31] [INFO]   -> Set field 'cADVehicleID' = "TK16"
[2026-01-07 20:57:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 20:57:31] [INFO]   -> Found value: 2026-01-07 14:57:21
[2026-01-07 20:57:31] [INFO]   -> Set field 'timedispatch' = "2026-01-07 14:57:21"
[2026-01-07 20:57:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 20:57:31] [INFO]   -> No value found (null or empty)
[2026-01-07 20:57:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 20:57:31] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 20:57:31] [INFO]   -> Found value: 20260002351
[2026-01-07 20:57:31] [INFO]   -> Set field 'policeReportNumber' = "20260002351"
[2026-01-07 20:57:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 20:57:31] [INFO]   -> Found value: [EMS] EMS REQUEST NON EMERGENCY MAN POWER  [01/07/26 14:55:24 KBURTON] Event spawned from EMS NON-EM...
[2026-01-07 20:57:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] EMS REQUEST NON EMERGENCY MAN POWER  [01\/07\/26 14:55:24 KBURTON] Event spawned from EMS NON-EMERGENCY.  [01\/07\/2026 14:55:12 KBURTON] UDTS: {703} UNIT DIRECT  [01\/07\/26 14:34:05 KBURTON] GRANDMOTHER IS ON SCENE WILL DIRECT CREW TO PT  [01\/07\/26 14:31:58 EROACH] 24 YO MALE  [01\/07\/26 14:30:40 EROACH] UNABLE TO MOVE\/\/ IS IN THE BACK OF THE HOUSE\/\/ DOOR IS UNLOCKED  [01\/07\/26 14:30:31 EROACH] UNABLE TO MOVE HIS HEAD\/\/ HAS HYPERMOBILITY ISSUES  [01\/07\/26 14:29:36 EROACH]"
[2026-01-07 20:57:31] [INFO]   -> Set field 'cADLog' = "[EMS] EMS REQUEST NON EMERGENCY MAN POWER  [01\/07\/26 14:55:24 KBURTON] Event spawned from EMS NON-EMERGENCY.  [01\/07\/2026 14:55:12 KBURTON] UDTS: {703} UNIT DIRECT  [01\/07\/26 14:34:05 KBURTON] GRANDMOTHER IS ON SCENE WILL DIRECT CREW TO PT  [01\/07\/26 14:31:58 EROACH] 24 YO MALE  [01\/07\/26 14:30:40 EROACH] UNABLE TO MOVE\/\/ IS IN THE BACK OF THE HOUSE\/\/ DOOR IS UNLOCKED  [01\/07\/26 14:30:31 EROACH] UNABLE TO MOVE HIS HEAD\/\/ HAS HYPERMOBILITY ISSUES  [01\/07\/26 14:29:36 EROACH]"
[2026-01-07 20:57:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 20:57:31] [INFO]   -> Found value: COOKEVILLE
[2026-01-07 20:57:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-07 20:57:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 20:57:31] [INFO]   -> Found value: WHITE CEMETERY
[2026-01-07 20:57:31] [INFO]   -> Set field 'streetName' = "WHITE CEMETERY"
[2026-01-07 20:57:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 20:57:31] [INFO]   -> Found value: RD
[2026-01-07 20:57:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-07 20:57:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 20:57:31] [INFO]   -> Found value: 3223 WHITE CEMETERY RD
[2026-01-07 20:57:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3223 WHITE CEMETERY RD"
[2026-01-07 20:57:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 20:57:31] [INFO] Concatenating street name and type
[2026-01-07 20:57:31] [INFO]   -> Combined street name: WHITE CEMETERY RD
[2026-01-07 20:57:31] [INFO] Built locationCoordinates from lat/lng: 36.18805,-85.57156
[2026-01-07 20:57:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS","incidentInternalId":"2026000053","dispatchRunNumber":"2026000053","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3223,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.18804999999999694182406528852880001068115234375,"nERISIncidentLongitude":-85.571560000000005175024853087961673736572265625,"alarm":"2026-01-07 14:55:12","dispatched":"2026-01-07 14:57:21","incidentLocationCross":"PEACH ORCHARD RD\/GRANDIOSE DR","cADVehicleID":"TK16","timedispatch":"2026-01-07 14:57:21","policeReportNumber":"20260002351","dispatchNotes":"[EMS] EMS REQUEST NON EMERGENCY MAN POWER  [01\/07\/26 14:55:24 KBURTON] Event spawned from EMS NON-EMERGENCY.  [01\/07\/2026 14:55:12 KBURTON] UDTS: {703} UNIT DIRECT  [01\/07\/26 14:34:05 KBURTON] GRANDMOTHER IS ON SCENE WILL DIRECT CREW TO PT  [01\/07\/26 14:31:58 EROACH] 24 YO MALE  [01\/07\/26 14:30:40 EROACH] UNABLE TO MOVE\/\/ IS IN THE BACK OF THE HOUSE\/\/ DOOR IS UNLOCKED  [01\/07\/26 14:30:31 EROACH] UNABLE TO MOVE HIS HEAD\/\/ HAS HYPERMOBILITY ISSUES  [01\/07\/26 14:29:36 EROACH]","cADLog":"[EMS] EMS REQUEST NON EMERGENCY MAN POWER  [01\/07\/26 14:55:24 KBURTON] Event spawned from EMS NON-EMERGENCY.  [01\/07\/2026 14:55:12 KBURTON] UDTS: {703} UNIT DIRECT  [01\/07\/26 14:34:05 KBURTON] GRANDMOTHER IS ON SCENE WILL DIRECT CREW TO PT  [01\/07\/26 14:31:58 EROACH] 24 YO MALE  [01\/07\/26 14:30:40 EROACH] UNABLE TO MOVE\/\/ IS IN THE BACK OF THE HOUSE\/\/ DOOR IS UNLOCKED  [01\/07\/26 14:30:31 EROACH] UNABLE TO MOVE HIS HEAD\/\/ HAS HYPERMOBILITY ISSUES  [01\/07\/26 14:29:36 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"WHITE CEMETERY RD","incidentAddressTextVersionStreet":"3223 WHITE CEMETERY RD","locationCoordinates":"36.18805,-85.57156"}
[2026-01-07 20:57:31] [INFO] Number of extracted fields: 21
[2026-01-07 20:57:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS'
[2026-01-07 20:57:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS', Parsed IDs = ["PCFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-07 20:57:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS"]
[2026-01-07 20:57:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 20:57:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 20:57:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-07 20:57:31] [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-07 20:57:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 20:57:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-07 20:57:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 20:57:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 20:57:31] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-01-07 20:57:40] [INFO] Created new Dispatches record with ID: 695ec8bbd9d0c51b1
[2026-01-07 20:57:40] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002351_20260107_205730.XML
[2026-01-07 20:57:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002351_20260107_205730.XML
[2026-01-07 21:18:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00675.xml
[2026-01-07 21:18:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00675.xml for user: 68d56363ec1209189
[2026-01-07 21:18:26] [INFO] File size: 3476 bytes
[2026-01-07 21:18:26] [INFO] Created FTPFiles record with ID: 695ecda29d564d4ff
[2026-01-07 21:18:26] [INFO] About to extract fields from XML. File size: 3476 bytes
[2026-01-07 21:18:26] [INFO] Number of mappings: 21
[2026-01-07 21:18:26] [INFO] Starting XML parsing. Content length: 3476
[2026-01-07 21:18:26] [INFO] XML parsed successfully. Root element: Incident
[2026-01-07 21:18:26] [INFO] Processing 21 field mappings
[2026-01-07 21:18:26] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-07 21:18:26] [INFO]   -> Found value: 26-00675
[2026-01-07 21:18:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-00675"
[2026-01-07 21:18:26] [INFO]   -> Set field 'cADNumber' = "26-00675"
[2026-01-07 21:18:26] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-07 21:18:26] [INFO]   -> Found value: 209
[2026-01-07 21:18:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 209
[2026-01-07 21:18:26] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-07 21:18:26] [INFO]   -> Found value: COUNTY HIGHWAY 427
[2026-01-07 21:18:26] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 427"
[2026-01-07 21:18:26] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-07 21:18:26] [INFO]   -> No value found (null or empty)
[2026-01-07 21:18:26] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-07 21:18:26] [INFO]   -> Found value: ORAN
[2026-01-07 21:18:26] [INFO]   -> Set field 'incidentLocationCity' = "ORAN"
[2026-01-07 21:18:26] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-07 21:18:26] [INFO]   -> No value found (null or empty)
[2026-01-07 21:18:26] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-07 21:18:26] [INFO]   -> Found value: MO
[2026-01-07 21:18:26] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-07 21:18:26] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-07 21:18:26] [INFO]   -> Found value: 63771
[2026-01-07 21:18:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63771
[2026-01-07 21:18:26] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-07 21:18:26] [INFO]   -> Found value: 0
[2026-01-07 21:18:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-07 21:18:26] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-07 21:18:26] [INFO]   -> Found value: 0
[2026-01-07 21:18:26] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-07 21:18:26] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-07 21:18:26] [INFO]   -> Found value: FIRE-GRASS/BRUSH/TREES
[2026-01-07 21:18:26] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GRASS\/BRUSH\/TREES"
[2026-01-07 21:18:26] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-07 21:18:26] [INFO]   -> Found value: 01-07-2026 14:34:02|RP STATED THERE IS A 30 FT BY 30 FT GRASS FIRE WITH TRAILORS ENDANGERED
TRAILORS...
[2026-01-07 21:18:26] [INFO]   -> Set field 'dispatchNotes' = "01-07-2026 14:34:02|RP STATED THERE IS A 30 FT BY 30 FT GRASS FIRE WITH TRAILORS ENDANGERED\nTRAILORS ARE POSS 25 YARDS AWAY 01-07-2026 14:36:06|****** Appended notes from Work Area begin ******\nAddress: 7328 STHWY 77, ORAN\nCategory: 911 MULTIPLE CALLS Priority: 1\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/07\/2026 14:34:48\n****** Appended notes from Work Area end   ******\n 01-07-2026 14:37:02|Disposition - Oran Fire:  DIS 01-07-2026 14:37:32|DISREGARD ORAN ON THE INCIDENT 01-07-2026 14:38:01|1701 1765 1781 RESPONDING 01-07-2026 14:39:34|1752 RESPONDING X1 01-07-2026 14:39:56|Disposition - Oran Fire:  DIS 01-07-2026 14:45:29|1701 ADVISING SMALL GRASS FIRE BEHIND RESIDENCE  MINIMAL EXPOSURE TO OTHER RESIDENCE 01-07-2026 14:45:38|1701 WITH 427 COMMAND 01-07-2026 15:05:54|349 MADE CONTACT WITH OWNER  HE IS IN WISCONSIN WILL BE MAKING CONTACT WITH SOMEONE HERE 01-07-2026 15:11:11|Disposition - Scott County S.O. (MO):  NRN 01-07-2026 15:18:17|1701 ADVISED SCRF CLEAR OF THE SCENE  PHOTOGRAPHS TAKEN OF DAMAGE TO PROPERTY"
[2026-01-07 21:18:26] [INFO]   -> Set field 'cADLog' = "01-07-2026 14:34:02|RP STATED THERE IS A 30 FT BY 30 FT GRASS FIRE WITH TRAILORS ENDANGERED\nTRAILORS ARE POSS 25 YARDS AWAY 01-07-2026 14:36:06|****** Appended notes from Work Area begin ******\nAddress: 7328 STHWY 77, ORAN\nCategory: 911 MULTIPLE CALLS Priority: 1\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/07\/2026 14:34:48\n****** Appended notes from Work Area end   ******\n 01-07-2026 14:37:02|Disposition - Oran Fire:  DIS 01-07-2026 14:37:32|DISREGARD ORAN ON THE INCIDENT 01-07-2026 14:38:01|1701 1765 1781 RESPONDING 01-07-2026 14:39:34|1752 RESPONDING X1 01-07-2026 14:39:56|Disposition - Oran Fire:  DIS 01-07-2026 14:45:29|1701 ADVISING SMALL GRASS FIRE BEHIND RESIDENCE  MINIMAL EXPOSURE TO OTHER RESIDENCE 01-07-2026 14:45:38|1701 WITH 427 COMMAND 01-07-2026 15:05:54|349 MADE CONTACT WITH OWNER  HE IS IN WISCONSIN WILL BE MAKING CONTACT WITH SOMEONE HERE 01-07-2026 15:11:11|Disposition - Scott County S.O. (MO):  NRN 01-07-2026 15:18:17|1701 ADVISED SCRF CLEAR OF THE SCENE  PHOTOGRAPHS TAKEN OF DAMAGE TO PROPERTY"
[2026-01-07 21:18:26] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-07 21:18:26] [INFO]   -> Found value: 01-07-2026T14:35:53
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:35:53
[2026-01-07 21:18:26] [INFO]   -> Set field 'alarm' = "2026-07-01 14:35:53"
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:35:53
[2026-01-07 21:18:26] [INFO]   -> Set field 'dispatched' = "2026-07-01 14:35:53"
[2026-01-07 21:18:26] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-07 21:18:26] [INFO]   -> Found value: 01-07-2026T14:44:08
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:44:08
[2026-01-07 21:18:26] [INFO]   -> Set field 'onScene' = "2026-07-01 14:44:08"
[2026-01-07 21:18:26] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-07 21:18:26] [INFO]   -> Found value: 01-07-2026T15:18:19
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T15:18:19
[2026-01-07 21:18:26] [INFO]   -> Set field 'cleared' = "2026-07-01 15:18:19"
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T15:18:19
[2026-01-07 21:18:26] [INFO]   -> Set field 'inService' = "2026-07-01 15:18:19"
[2026-01-07 21:18:26] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-07 21:18:26] [INFO]   -> Found value: 1701
[2026-01-07 21:18:26] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-01-07 21:18:26] [INFO]   -> Set field 'name' = "1701"
[2026-01-07 21:18:26] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-07 21:18:26] [INFO]   -> Found value: 01-07-2026T14:38:21
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:38:21
[2026-01-07 21:18:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-07-01 14:38:21"
[2026-01-07 21:18:26] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-07 21:18:26] [INFO]   -> Found value: 01-07-2026T14:44:08
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T14:44:08
[2026-01-07 21:18:26] [INFO]   -> Set field 'timeonscene' = "2026-07-01 14:44:08"
[2026-01-07 21:18:26] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-07 21:18:26] [INFO]   -> Found value: 01-07-2026T15:18:19
[2026-01-07 21:18:26] [INFO] Reformatted DD-MM-YYYY date '01-07-2026' (day=01, month=07) to ISO: 2026-07-01T15:18:19
[2026-01-07 21:18:26] [INFO]   -> Set field 'timeunitclear' = "2026-07-01 15:18:19"
[2026-01-07 21:18:26] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-07 21:18:26] [INFO]   -> No value found (null or empty)
[2026-01-07 21:18:26] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-07 21:18:26] [INFO]   -> Found value: SCRFD
[2026-01-07 21:18:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-07 21:18:26] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-07 21:18:26] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-07 21:18:26] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00675","cADNumber":"26-00675","incidentLocationStreetNumber":209,"streetName":"COUNTY HIGHWAY 427","incidentLocationCity":"ORAN","incidentLocationStateName":"MO","nERISIncidentPostalCode":63771,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GRASS\/BRUSH\/TREES","dispatchNotes":"01-07-2026 14:34:02|RP STATED THERE IS A 30 FT BY 30 FT GRASS FIRE WITH TRAILORS ENDANGERED\nTRAILORS ARE POSS 25 YARDS AWAY 01-07-2026 14:36:06|****** Appended notes from Work Area begin ******\nAddress: 7328 STHWY 77, ORAN\nCategory: 911 MULTIPLE CALLS Priority: 1\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/07\/2026 14:34:48\n****** Appended notes from Work Area end   ******\n 01-07-2026 14:37:02|Disposition - Oran Fire:  DIS 01-07-2026 14:37:32|DISREGARD ORAN ON THE INCIDENT 01-07-2026 14:38:01|1701 1765 1781 RESPONDING 01-07-2026 14:39:34|1752 RESPONDING X1 01-07-2026 14:39:56|Disposition - Oran Fire:  DIS 01-07-2026 14:45:29|1701 ADVISING SMALL GRASS FIRE BEHIND RESIDENCE  MINIMAL EXPOSURE TO OTHER RESIDENCE 01-07-2026 14:45:38|1701 WITH 427 COMMAND 01-07-2026 15:05:54|349 MADE CONTACT WITH OWNER  HE IS IN WISCONSIN WILL BE MAKING CONTACT WITH SOMEONE HERE 01-07-2026 15:11:11|Disposition - Scott County S.O. (MO):  NRN 01-07-2026 15:18:17|1701 ADVISED SCRF CLEAR OF THE SCENE  PHOTOGRAPHS TAKEN OF DAMAGE TO PROPERTY","cADLog":"01-07-2026 14:34:02|RP STATED THERE IS A 30 FT BY 30 FT GRASS FIRE WITH TRAILORS ENDANGERED\nTRAILORS ARE POSS 25 YARDS AWAY 01-07-2026 14:36:06|****** Appended notes from Work Area begin ******\nAddress: 7328 STHWY 77, ORAN\nCategory: 911 MULTIPLE CALLS Priority: 1\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 01\/07\/2026 14:34:48\n****** Appended notes from Work Area end   ******\n 01-07-2026 14:37:02|Disposition - Oran Fire:  DIS 01-07-2026 14:37:32|DISREGARD ORAN ON THE INCIDENT 01-07-2026 14:38:01|1701 1765 1781 RESPONDING 01-07-2026 14:39:34|1752 RESPONDING X1 01-07-2026 14:39:56|Disposition - Oran Fire:  DIS 01-07-2026 14:45:29|1701 ADVISING SMALL GRASS FIRE BEHIND RESIDENCE  MINIMAL EXPOSURE TO OTHER RESIDENCE 01-07-2026 14:45:38|1701 WITH 427 COMMAND 01-07-2026 15:05:54|349 MADE CONTACT WITH OWNER  HE IS IN WISCONSIN WILL BE MAKING CONTACT WITH SOMEONE HERE 01-07-2026 15:11:11|Disposition - Scott County S.O. (MO):  NRN 01-07-2026 15:18:17|1701 ADVISED SCRF CLEAR OF THE SCENE  PHOTOGRAPHS TAKEN OF DAMAGE TO PROPERTY","alarm":"2026-07-01 14:35:53","dispatched":"2026-07-01 14:35:53","onScene":"2026-07-01 14:44:08","cleared":"2026-07-01 15:18:19","inService":"2026-07-01 15:18:19","cADVehicleID":1701,"name":"1701","timeenroutetoscene":"2026-07-01 14:38:21","timeonscene":"2026-07-01 14:44:08","timeunitclear":"2026-07-01 15:18:19","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-07 21:18:26] [INFO] Number of extracted fields: 24
[2026-01-07 21:18:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-07 21:18:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-07 21:18:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-07 21:18:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-07 21:18:26] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-07 21:18:26] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-07 21:18:26] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-07 21:18:27] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-07 21:18:27] [INFO] Found existing IncidentTypeMapping with ID: 6938ba16ac72f649f
[2026-01-07 21:18:27] [INFO] Found existing Dispatch with cADNumber '26-00675', ID: 695ec3d8b58939d9d - will update instead of create
[2026-01-07 21:18:27] [INFO] Updated existing Dispatches record with ID: 695ec3d8b58939d9d
[2026-01-07 21:18:27] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00675.xml
[2026-01-07 21:18:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00675.xml
[2026-01-07 21:28:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:28:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml for user: 69320e6a9e3e5ef71
[2026-01-07 21:28:48] [INFO] File size: 14291 bytes
[2026-01-07 21:28:48] [INFO] Created FTPFiles record with ID: 695ed010a4616b2d8
[2026-01-07 21:28:48] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 21:28:48] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:28:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:30:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:30:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml for user: 69320e6a9e3e5ef71
[2026-01-07 21:30:21] [INFO] File size: 16526 bytes
[2026-01-07 21:30:22] [INFO] Created FTPFiles record with ID: 695ed06e0f8c11152
[2026-01-07 21:30:22] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 21:30:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:30:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:32:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:32:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml for user: 69320e6a9e3e5ef71
[2026-01-07 21:32:26] [INFO] File size: 18112 bytes
[2026-01-07 21:32:26] [INFO] Created FTPFiles record with ID: 695ed0eaa3aefe946
[2026-01-07 21:32:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 21:32:26] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:32:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:33:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:33:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml for user: 69320e6a9e3e5ef71
[2026-01-07 21:33:58] [INFO] File size: 19725 bytes
[2026-01-07 21:33:58] [INFO] Created FTPFiles record with ID: 695ed1468e788010a
[2026-01-07 21:33:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 21:33:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:33:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:48:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260002372_20260107_214803.XML
[2026-01-07 21:48:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260002372_20260107_214803.XML for user: 68f1466aed072ad4a
[2026-01-07 21:48:03] [INFO] File size: 4780 bytes
[2026-01-07 21:48:03] [INFO] Created FTPFiles record with ID: 695ed493df027549c
[2026-01-07 21:48:03] [INFO] About to extract fields from XML. File size: 4780 bytes
[2026-01-07 21:48:03] [INFO] Number of mappings: 28
[2026-01-07 21:48:03] [INFO] Starting XML parsing. Content length: 4780
[2026-01-07 21:48:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 21:48:03] [INFO] Processing 28 field mappings
[2026-01-07 21:48:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 21:48:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 21:48:03] [INFO]   -> Found value: BFD
[2026-01-07 21:48:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-01-07 21:48:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026000009
[2026-01-07 21:48:03] [INFO]   -> Set field 'incidentInternalId' = "2026000009"
[2026-01-07 21:48:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000009"
[2026-01-07 21:48:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 21:48:03] [INFO]   -> Found value: PUBLIC ASSIST
[2026-01-07 21:48:03] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC ASSIST"
[2026-01-07 21:48:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 21:48:03] [INFO]   -> Found value: 317
[2026-01-07 21:48:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 317
[2026-01-07 21:48:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 21:48:03] [INFO]   -> Found value: TN
[2026-01-07 21:48:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 21:48:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 21:48:03] [INFO]   -> Found value: 38544
[2026-01-07 21:48:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-07 21:48:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 21:48:03] [INFO]   -> Found value: CLARENCE SEWELL
[2026-01-07 21:48:03] [INFO]   -> Set field 'businessName' = "CLARENCE SEWELL"
[2026-01-07 21:48:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 21:48:03] [INFO]   -> No value found (null or empty)
[2026-01-07 21:48:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 21:48:03] [INFO]   -> Found value: 36.15713
[2026-01-07 21:48:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15713000000000221234586206264793872833251953125
[2026-01-07 21:48:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 21:48:03] [INFO]   -> Found value: -85.64162
[2026-01-07 21:48:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6416200000000031877789297141134738922119140625
[2026-01-07 21:48:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026-01-07 15:47:15
[2026-01-07 21:48:03] [INFO]   -> Set field 'alarm' = "2026-01-07 15:47:15"
[2026-01-07 21:48:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026-01-07 15:47:49
[2026-01-07 21:48:03] [INFO]   -> Set field 'dispatched' = "2026-01-07 15:47:49"
[2026-01-07 21:48:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026-01-07 15:47:49
[2026-01-07 21:48:03] [INFO]   -> Set field 'enroute' = "2026-01-07 15:47:49"
[2026-01-07 21:48:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026-01-07 15:47:49
[2026-01-07 21:48:03] [INFO]   -> Set field 'onScene' = "2026-01-07 15:47:49"
[2026-01-07 21:48:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 21:48:03] [INFO]   -> No value found (null or empty)
[2026-01-07 21:48:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 21:48:03] [INFO]   -> Found value: THIRD AVE N/FOURTH AVE N
[2026-01-07 21:48:03] [INFO]   -> Set field 'incidentLocationCross' = "THIRD AVE N\/FOURTH AVE N"
[2026-01-07 21:48:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 21:48:03] [INFO]   -> Found value: BEN2
[2026-01-07 21:48:03] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-01-07 21:48:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026-01-07 15:47:49
[2026-01-07 21:48:03] [INFO]   -> Set field 'timedispatch' = "2026-01-07 15:47:49"
[2026-01-07 21:48:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026-01-07 15:47:49
[2026-01-07 21:48:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-07 15:47:49"
[2026-01-07 21:48:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 21:48:03] [INFO]   -> Found value: 2026-01-07 15:47:49
[2026-01-07 21:48:03] [INFO]   -> Set field 'timeonscene' = "2026-01-07 15:47:49"
[2026-01-07 21:48:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 21:48:03] [INFO]   -> No value found (null or empty)
[2026-01-07 21:48:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 21:48:03] [INFO]   -> No value found (null or empty)
[2026-01-07 21:48:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 21:48:03] [INFO]   -> Found value: 20260002372
[2026-01-07 21:48:03] [INFO]   -> Set field 'policeReportNumber' = "20260002372"
[2026-01-07 21:48:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 21:48:03] [INFO]   -> No value found (null or empty)
[2026-01-07 21:48:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 21:48:03] [INFO]   -> Found value: BAXTER
[2026-01-07 21:48:03] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-07 21:48:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 21:48:03] [INFO]   -> Found value: ELM
[2026-01-07 21:48:03] [INFO]   -> Set field 'streetName' = "ELM"
[2026-01-07 21:48:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 21:48:03] [INFO]   -> Found value: ST
[2026-01-07 21:48:03] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-07 21:48:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 21:48:03] [INFO]   -> Found value: 317 ELM ST
[2026-01-07 21:48:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "317 ELM ST"
[2026-01-07 21:48:03] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-07 21:48:03] [INFO] Concatenating street name and type
[2026-01-07 21:48:03] [INFO]   -> Combined street name: ELM ST
[2026-01-07 21:48:03] [INFO] Built locationCoordinates from lat/lng: 36.15713,-85.64162
[2026-01-07 21:48:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000009","dispatchRunNumber":"2026000009","incidentTypeValue1":"PUBLIC ASSIST","incidentLocationStreetNumber":317,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"CLARENCE SEWELL","nERISIncidentLatitude":36.15713000000000221234586206264793872833251953125,"nERISIncidentLongitude":-85.6416200000000031877789297141134738922119140625,"alarm":"2026-01-07 15:47:15","dispatched":"2026-01-07 15:47:49","enroute":"2026-01-07 15:47:49","onScene":"2026-01-07 15:47:49","incidentLocationCross":"THIRD AVE N\/FOURTH AVE N","cADVehicleID":"BEN2","timedispatch":"2026-01-07 15:47:49","timeenroutetoscene":"2026-01-07 15:47:49","timeonscene":"2026-01-07 15:47:49","policeReportNumber":"20260002372","incidentLocationCity":"BAXTER","streetName":"ELM ST","incidentAddressTextVersionStreet":"317 ELM ST","locationCoordinates":"36.15713,-85.64162"}
[2026-01-07 21:48:03] [INFO] Number of extracted fields: 24
[2026-01-07 21:48:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-01-07 21:48:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-07 21:48:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-01-07 21:48:03] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-01-07 21:48:04] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-01-07 21:48:04] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-01-07 21:48:04] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-01-07 21:48:04] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-01-07 21:48:04] [INFO] Found existing IncidentTypeMapping with ID: 6945bb1a914109b26
[2026-01-07 21:48:08] [INFO] Created new Dispatches record with ID: 695ed494d5d212f1c
[2026-01-07 21:48:08] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260002372_20260107_214803.XML
[2026-01-07 21:48:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260002372_20260107_214803.XML
[2026-01-07 21:48:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:48:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml for user: 69320e6a9e3e5ef71
[2026-01-07 21:48:16] [INFO] File size: 20692 bytes
[2026-01-07 21:48:17] [INFO] Created FTPFiles record with ID: 695ed4a144338fec7
[2026-01-07 21:48:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-07 21:48:17] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 21:48:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001339.xml
[2026-01-07 23:28:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002400_20260107_232831.XML
[2026-01-07 23:28:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002400_20260107_232831.XML for user: 68f1466aed072ad4a
[2026-01-07 23:28:31] [INFO] File size: 5698 bytes
[2026-01-07 23:28:31] [INFO] Created FTPFiles record with ID: 695eec1fc57b73759
[2026-01-07 23:28:31] [INFO] About to extract fields from XML. File size: 5698 bytes
[2026-01-07 23:28:31] [INFO] Number of mappings: 28
[2026-01-07 23:28:31] [INFO] Starting XML parsing. Content length: 5698
[2026-01-07 23:28:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-07 23:28:31] [INFO] Processing 28 field mappings
[2026-01-07 23:28:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-07 23:28:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-07 23:28:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-07 23:28:31] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-07 23:28:31] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-01-07 23:28:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-01-07 23:28:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-07 23:28:31] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-07 23:28:31] [INFO]   -> Found value: 2026000054
[2026-01-07 23:28:31] [INFO]   -> Set field 'incidentInternalId' = "2026000054"
[2026-01-07 23:28:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000054"
[2026-01-07 23:28:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-07 23:28:31] [INFO]   -> Found value: UNCONSCIOUS
[2026-01-07 23:28:31] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2026-01-07 23:28:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-07 23:28:31] [INFO]   -> Found value: 6551
[2026-01-07 23:28:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6551
[2026-01-07 23:28:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-07 23:28:31] [INFO]   -> Found value: TN
[2026-01-07 23:28:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-07 23:28:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-07 23:28:31] [INFO]   -> Found value: 38544
[2026-01-07 23:28:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-07 23:28:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-07 23:28:31] [INFO]   -> Found value: 36.12911
[2026-01-07 23:28:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.129109999999997171471477486193180084228515625
[2026-01-07 23:28:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-07 23:28:31] [INFO]   -> Found value: -85.62337
[2026-01-07 23:28:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.623369999999994206518749706447124481201171875
[2026-01-07 23:28:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-07 23:28:31] [INFO]   -> Found value: 2026-01-07 17:27:49
[2026-01-07 23:28:31] [INFO]   -> Set field 'alarm' = "2026-01-07 17:27:49"
[2026-01-07 23:28:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-07 23:28:31] [INFO]   -> Found value: 2026-01-07 17:28:25
[2026-01-07 23:28:31] [INFO]   -> Set field 'dispatched' = "2026-01-07 17:28:25"
[2026-01-07 23:28:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-07 23:28:31] [INFO]   -> Found value: /DEMAUR LN
[2026-01-07 23:28:31] [INFO]   -> Set field 'incidentLocationCross' = "\/DEMAUR LN"
[2026-01-07 23:28:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-07 23:28:31] [INFO]   -> Found value: PCFR
[2026-01-07 23:28:31] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-07 23:28:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-07 23:28:31] [INFO]   -> Found value: 2026-01-07 17:28:25
[2026-01-07 23:28:31] [INFO]   -> Set field 'timedispatch' = "2026-01-07 17:28:25"
[2026-01-07 23:28:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-07 23:28:31] [INFO]   -> No value found (null or empty)
[2026-01-07 23:28:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-07 23:28:31] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-07 23:28:31] [INFO]   -> Found value: 20260002400
[2026-01-07 23:28:31] [INFO]   -> Set field 'policeReportNumber' = "20260002400"
[2026-01-07 23:28:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-07 23:28:31] [INFO]   -> Found value: [EMS] NOT BREATHING  [01/07/26 17:28:18 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01/07/26 17:...
[2026-01-07 23:28:31] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NOT BREATHING  [01\/07\/26 17:28:18 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 17:27:55 ECLEMENS] [APCO INTELLICOMM] Case ID: zbcA4FcQLh Caller Phone: 9318582183 Caller Name: APPLE JAMES E OR TRICIA Incident Location: 6551 TENNESSEE ST Incident Location Detail: \/DEMAUR LN Nature: UNCONSCIOUS Incident #: 20260002398 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 17:27:51 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 17:27:49 EROACH]"
[2026-01-07 23:28:31] [INFO]   -> Set field 'cADLog' = "[EMS] NOT BREATHING  [01\/07\/26 17:28:18 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 17:27:55 ECLEMENS] [APCO INTELLICOMM] Case ID: zbcA4FcQLh Caller Phone: 9318582183 Caller Name: APPLE JAMES E OR TRICIA Incident Location: 6551 TENNESSEE ST Incident Location Detail: \/DEMAUR LN Nature: UNCONSCIOUS Incident #: 20260002398 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 17:27:51 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 17:27:49 EROACH]"
[2026-01-07 23:28:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-07 23:28:31] [INFO]   -> Found value: BAXTER
[2026-01-07 23:28:31] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-07 23:28:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-07 23:28:31] [INFO]   -> Found value: TENNESSEE
[2026-01-07 23:28:31] [INFO]   -> Set field 'streetName' = "TENNESSEE"
[2026-01-07 23:28:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-07 23:28:31] [INFO]   -> Found value: ST
[2026-01-07 23:28:31] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-07 23:28:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-07 23:28:31] [INFO]   -> Found value: 6551 TENNESSEE ST
[2026-01-07 23:28:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6551 TENNESSEE ST"
[2026-01-07 23:28:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-07 23:28:31] [INFO] Concatenating street name and type
[2026-01-07 23:28:31] [INFO]   -> Combined street name: TENNESSEE ST
[2026-01-07 23:28:31] [INFO] Built locationCoordinates from lat/lng: 36.12911,-85.62337
[2026-01-07 23:28:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000054","dispatchRunNumber":"2026000054","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":6551,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.129109999999997171471477486193180084228515625,"nERISIncidentLongitude":-85.623369999999994206518749706447124481201171875,"alarm":"2026-01-07 17:27:49","dispatched":"2026-01-07 17:28:25","incidentLocationCross":"\/DEMAUR LN","cADVehicleID":"PCFR","timedispatch":"2026-01-07 17:28:25","policeReportNumber":"20260002400","dispatchNotes":"[EMS] NOT BREATHING  [01\/07\/26 17:28:18 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 17:27:55 ECLEMENS] [APCO INTELLICOMM] Case ID: zbcA4FcQLh Caller Phone: 9318582183 Caller Name: APPLE JAMES E OR TRICIA Incident Location: 6551 TENNESSEE ST Incident Location Detail: \/DEMAUR LN Nature: UNCONSCIOUS Incident #: 20260002398 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 17:27:51 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 17:27:49 EROACH]","cADLog":"[EMS] NOT BREATHING  [01\/07\/26 17:28:18 EROACH] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/07\/26 17:27:55 ECLEMENS] [APCO INTELLICOMM] Case ID: zbcA4FcQLh Caller Phone: 9318582183 Caller Name: APPLE JAMES E OR TRICIA Incident Location: 6551 TENNESSEE ST Incident Location Detail: \/DEMAUR LN Nature: UNCONSCIOUS Incident #: 20260002398 CAD Call Taker: EROACH Chief Complaint: (empty)  [01\/07\/26 17:27:51 PSUTIL01] Event spawned from UNCONSCIOUS.  [01\/07\/2026 17:27:49 EROACH]","incidentLocationCity":"BAXTER","streetName":"TENNESSEE ST","incidentAddressTextVersionStreet":"6551 TENNESSEE ST","locationCoordinates":"36.12911,-85.62337"}
[2026-01-07 23:28:31] [INFO] Number of extracted fields: 21
[2026-01-07 23:28:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-01-07 23:28:31] [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-07 23:28:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-01-07 23:28:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-07 23:28:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-07 23:28:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-01-07 23:28:32] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-07 23:28:32] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-07 23:28:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-07 23:28:32] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-07 23:28:32] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-07 23:28:32] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2026-01-07 23:28:40] [INFO] Created new Dispatches record with ID: 695eec208bdee2d7c
[2026-01-07 23:28:40] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002400_20260107_232831.XML
[2026-01-07 23:28:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260002400_20260107_232831.XML
