[2026-01-10 01:22:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003263_20260110_012232.XML
[2026-01-10 01:22:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003263_20260110_012232.XML for user: 68f1466aed072ad4a
[2026-01-10 01:22:32] [INFO] File size: 4784 bytes
[2026-01-10 01:22:32] [INFO] Created FTPFiles record with ID: 6961a9d8c638d241f
[2026-01-10 01:22:32] [INFO] About to extract fields from XML. File size: 4784 bytes
[2026-01-10 01:22:32] [INFO] Number of mappings: 28
[2026-01-10 01:22:32] [INFO] Starting XML parsing. Content length: 4784
[2026-01-10 01:22:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 01:22:32] [INFO] Processing 28 field mappings
[2026-01-10 01:22:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 01:22:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 01:22:32] [INFO]   -> Found value: PCFD
[2026-01-10 01:22:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-10 01:22:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 01:22:32] [INFO]   -> Found value: 2026000072
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentInternalId' = "2026000072"
[2026-01-10 01:22:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000072"
[2026-01-10 01:22:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 01:22:32] [INFO]   -> Found value: FIRE ALARM
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-01-10 01:22:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 01:22:32] [INFO]   -> Found value: 3210
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3210
[2026-01-10 01:22:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 01:22:32] [INFO]   -> Found value: TN
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 01:22:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 01:22:32] [INFO]   -> Found value: 38506
[2026-01-10 01:22:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-10 01:22:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 01:22:32] [INFO]   -> Found value: B
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentLocationApt' = "B"
[2026-01-10 01:22:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 01:22:32] [INFO]   -> Found value: 36.21007
[2026-01-10 01:22:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.210070000000001755324774421751499176025390625
[2026-01-10 01:22:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 01:22:32] [INFO]   -> Found value: -85.48091
[2026-01-10 01:22:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.480909999999994397512637078762054443359375
[2026-01-10 01:22:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 01:22:32] [INFO]   -> Found value: 2026-01-09 19:21:05
[2026-01-10 01:22:32] [INFO]   -> Set field 'alarm' = "2026-01-09 19:21:05"
[2026-01-10 01:22:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 01:22:32] [INFO]   -> Found value: 2026-01-09 19:22:23
[2026-01-10 01:22:32] [INFO]   -> Set field 'dispatched' = "2026-01-09 19:22:23"
[2026-01-10 01:22:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 01:22:32] [INFO]   -> Found value: SHANNON DR/SPURLOCK DR
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentLocationCross' = "SHANNON DR\/SPURLOCK DR"
[2026-01-10 01:22:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 01:22:32] [INFO]   -> Found value: TK12
[2026-01-10 01:22:32] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-01-10 01:22:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 01:22:32] [INFO]   -> Found value: 2026-01-09 19:22:23
[2026-01-10 01:22:32] [INFO]   -> Set field 'timedispatch' = "2026-01-09 19:22:23"
[2026-01-10 01:22:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 01:22:32] [INFO]   -> No value found (null or empty)
[2026-01-10 01:22:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 01:22:32] [INFO]   -> Found value: 20260003263
[2026-01-10 01:22:32] [INFO]   -> Set field 'policeReportNumber' = "20260003263"
[2026-01-10 01:22:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 01:22:32] [INFO]   -> Found value: all electric appliances  [01/09/26 19:22:11 BPICHE] they do not smell anything at this time  [01/09/...
[2026-01-10 01:22:32] [INFO]   -> Set field 'dispatchNotes' = "all electric appliances  [01\/09\/26 19:22:11 BPICHE] they do not smell anything at this time  [01\/09\/26 19:21:58 BPICHE] no visible fire but alarms are going off  [01\/09\/26 19:21:41 BPICHE]"
[2026-01-10 01:22:32] [INFO]   -> Set field 'cADLog' = "all electric appliances  [01\/09\/26 19:22:11 BPICHE] they do not smell anything at this time  [01\/09\/26 19:21:58 BPICHE] no visible fire but alarms are going off  [01\/09\/26 19:21:41 BPICHE]"
[2026-01-10 01:22:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 01:22:32] [INFO]   -> Found value: COOKEVILLE
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-10 01:22:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 01:22:32] [INFO]   -> Found value: FISK
[2026-01-10 01:22:32] [INFO]   -> Set field 'streetName' = "FISK"
[2026-01-10 01:22:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 01:22:32] [INFO]   -> Found value: RD
[2026-01-10 01:22:32] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-10 01:22:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 01:22:32] [INFO]   -> Found value: 3210-B FISK RD
[2026-01-10 01:22:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3210-B FISK RD"
[2026-01-10 01:22:32] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 01:22:32] [INFO] Concatenating street name and type
[2026-01-10 01:22:32] [INFO]   -> Combined street name: FISK RD
[2026-01-10 01:22:32] [INFO] Built locationCoordinates from lat/lng: 36.21007,-85.48091
[2026-01-10 01:22:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000072","dispatchRunNumber":"2026000072","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":3210,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B","nERISIncidentLatitude":36.210070000000001755324774421751499176025390625,"nERISIncidentLongitude":-85.480909999999994397512637078762054443359375,"alarm":"2026-01-09 19:21:05","dispatched":"2026-01-09 19:22:23","incidentLocationCross":"SHANNON DR\/SPURLOCK DR","cADVehicleID":"TK12","timedispatch":"2026-01-09 19:22:23","policeReportNumber":"20260003263","dispatchNotes":"all electric appliances  [01\/09\/26 19:22:11 BPICHE] they do not smell anything at this time  [01\/09\/26 19:21:58 BPICHE] no visible fire but alarms are going off  [01\/09\/26 19:21:41 BPICHE]","cADLog":"all electric appliances  [01\/09\/26 19:22:11 BPICHE] they do not smell anything at this time  [01\/09\/26 19:21:58 BPICHE] no visible fire but alarms are going off  [01\/09\/26 19:21:41 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"FISK RD","incidentAddressTextVersionStreet":"3210-B FISK RD","locationCoordinates":"36.21007,-85.48091"}
[2026-01-10 01:22:32] [INFO] Number of extracted fields: 22
[2026-01-10 01:22:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-10 01:22:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-10 01:22:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-10 01:22:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-10 01:22:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-10 01:22:33] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-10 01:22:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-10 01:22:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-10 01:22:33] [INFO] Found existing IncidentTypeMapping with ID: 69398a845c349ab26
[2026-01-10 01:22:42] [INFO] Created new Dispatches record with ID: 6961a9d99280451cf
[2026-01-10 01:22:42] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003263_20260110_012232.XML
[2026-01-10 01:22:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003263_20260110_012232.XML
[2026-01-10 01:35:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00911.xml
[2026-01-10 01:35:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00911.xml for user: 68d56363ec1209189
[2026-01-10 01:35:44] [INFO] File size: 3038 bytes
[2026-01-10 01:35:45] [INFO] Created FTPFiles record with ID: 6961acf10f2b79d05
[2026-01-10 01:35:45] [INFO] About to extract fields from XML. File size: 3038 bytes
[2026-01-10 01:35:45] [INFO] Number of mappings: 21
[2026-01-10 01:35:45] [INFO] Starting XML parsing. Content length: 3038
[2026-01-10 01:35:45] [INFO] XML parsed successfully. Root element: Incident
[2026-01-10 01:35:45] [INFO] Processing 21 field mappings
[2026-01-10 01:35:45] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-10 01:35:45] [INFO]   -> Found value: 26-00911
[2026-01-10 01:35:45] [INFO]   -> Set field 'dispatchRunNumber' = "26-00911"
[2026-01-10 01:35:45] [INFO]   -> Set field 'cADNumber' = "26-00911"
[2026-01-10 01:35:45] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-10 01:35:45] [INFO]   -> Found value: 823
[2026-01-10 01:35:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 823
[2026-01-10 01:35:45] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-10 01:35:45] [INFO]   -> Found value: CAMBRIDGE DR
[2026-01-10 01:35:45] [INFO]   -> Set field 'streetName' = "CAMBRIDGE DR"
[2026-01-10 01:35:45] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-10 01:35:45] [INFO]   -> No value found (null or empty)
[2026-01-10 01:35:45] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-10 01:35:45] [INFO]   -> Found value: SIKESTON
[2026-01-10 01:35:45] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-10 01:35:45] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-10 01:35:45] [INFO]   -> No value found (null or empty)
[2026-01-10 01:35:45] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-10 01:35:45] [INFO]   -> Found value: MO
[2026-01-10 01:35:45] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-10 01:35:45] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-10 01:35:45] [INFO]   -> Found value: 63801
[2026-01-10 01:35:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-10 01:35:45] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-10 01:35:45] [INFO]   -> Found value: 0
[2026-01-10 01:35:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-10 01:35:45] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-10 01:35:45] [INFO]   -> Found value: 0
[2026-01-10 01:35:45] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-10 01:35:45] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-10 01:35:45] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-01-10 01:35:45] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-01-10 01:35:45] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-10 01:35:45] [INFO]   -> Found value: 01-09-2026 19:00:38|Call Received on 01/09/2026 @ 19:00

FIRE ON THE STOVE 
ONLY SHOWING SMOKE 
COMI...
[2026-01-10 01:35:45] [INFO]   -> Set field 'dispatchNotes' = "01-09-2026 19:00:38|Call Received on 01\/09\/2026 @ 19:00\n\nFIRE ON THE STOVE \nONLY SHOWING SMOKE \nCOMING FROM THE BACK OF THE STOVE  01-09-2026 19:02:06|WAS GETTING EVERYONE OUT OF THE BUILDING 01-09-2026 19:03:22|NMCO NOTIFIED 01-09-2026 19:05:23|*01\/09\/2026 19:05 D100**\nTWO STRUCTURE NOTHING SHOWING\n**01\/09\/2026 19:05 D100**\nDRY COOKING 01-09-2026 19:05:39|377 ON SCENE 01-09-2026 19:09:41|CANCEL ALL UNITS NOT ON SCENE PER COMMAND 01-09-2026 19:10:20|DISREGARD CANCEL HAVE UNITS DOWNGRADE 01-09-2026 19:16:55|UNDER CONTROL 01-09-2026 19:34:51|HOUSE GIVEN BACK TO THE OWNERS"
[2026-01-10 01:35:45] [INFO]   -> Set field 'cADLog' = "01-09-2026 19:00:38|Call Received on 01\/09\/2026 @ 19:00\n\nFIRE ON THE STOVE \nONLY SHOWING SMOKE \nCOMING FROM THE BACK OF THE STOVE  01-09-2026 19:02:06|WAS GETTING EVERYONE OUT OF THE BUILDING 01-09-2026 19:03:22|NMCO NOTIFIED 01-09-2026 19:05:23|*01\/09\/2026 19:05 D100**\nTWO STRUCTURE NOTHING SHOWING\n**01\/09\/2026 19:05 D100**\nDRY COOKING 01-09-2026 19:05:39|377 ON SCENE 01-09-2026 19:09:41|CANCEL ALL UNITS NOT ON SCENE PER COMMAND 01-09-2026 19:10:20|DISREGARD CANCEL HAVE UNITS DOWNGRADE 01-09-2026 19:16:55|UNDER CONTROL 01-09-2026 19:34:51|HOUSE GIVEN BACK TO THE OWNERS"
[2026-01-10 01:35:45] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-10 01:35:45] [INFO]   -> Found value: 01-09-2026T19:01:59
[2026-01-10 01:35:45] [INFO] Reformatted DD-MM-YYYY date '01-09-2026' (day=01, month=09) to ISO: 2026-09-01T19:01:59
[2026-01-10 01:35:45] [INFO]   -> Set field 'alarm' = "2026-09-01 19:01:59"
[2026-01-10 01:35:45] [INFO] Reformatted DD-MM-YYYY date '01-09-2026' (day=01, month=09) to ISO: 2026-09-01T19:01:59
[2026-01-10 01:35:45] [INFO]   -> Set field 'dispatched' = "2026-09-01 19:01:59"
[2026-01-10 01:35:45] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-10 01:35:45] [INFO]   -> Found value: 01-09-2026T19:05:32
[2026-01-10 01:35:45] [INFO] Reformatted DD-MM-YYYY date '01-09-2026' (day=01, month=09) to ISO: 2026-09-01T19:05:32
[2026-01-10 01:35:45] [INFO]   -> Set field 'onScene' = "2026-09-01 19:05:32"
[2026-01-10 01:35:45] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-10 01:35:45] [INFO]   -> Found value: 01-09-2026T19:34:54
[2026-01-10 01:35:45] [INFO] Reformatted DD-MM-YYYY date '01-09-2026' (day=01, month=09) to ISO: 2026-09-01T19:34:54
[2026-01-10 01:35:45] [INFO]   -> Set field 'cleared' = "2026-09-01 19:34:54"
[2026-01-10 01:35:45] [INFO] Reformatted DD-MM-YYYY date '01-09-2026' (day=01, month=09) to ISO: 2026-09-01T19:34:54
[2026-01-10 01:35:45] [INFO]   -> Set field 'inService' = "2026-09-01 19:34:54"
[2026-01-10 01:35:45] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-10 01:35:45] [INFO]   -> Found value: DOWNGRADE
[2026-01-10 01:35:45] [INFO]   -> Set field 'cADVehicleID' = "DOWNGRADE"
[2026-01-10 01:35:45] [INFO]   -> Set field 'name' = "DOWNGRADE"
[2026-01-10 01:35:45] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-10 01:35:45] [INFO]   -> No value found (null or empty)
[2026-01-10 01:35:45] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-10 01:35:45] [INFO]   -> No value found (null or empty)
[2026-01-10 01:35:45] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-10 01:35:45] [INFO]   -> Found value: 01-09-2026T19:34:54
[2026-01-10 01:35:45] [INFO] Reformatted DD-MM-YYYY date '01-09-2026' (day=01, month=09) to ISO: 2026-09-01T19:34:54
[2026-01-10 01:35:45] [INFO]   -> Set field 'timeunitclear' = "2026-09-01 19:34:54"
[2026-01-10 01:35:45] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-10 01:35:45] [INFO]   -> Found value: 01-09-2026T19:10:07
[2026-01-10 01:35:45] [INFO] Reformatted DD-MM-YYYY date '01-09-2026' (day=01, month=09) to ISO: 2026-09-01T19:10:07
[2026-01-10 01:35:45] [INFO]   -> Set field 'timedispatch' = "2026-09-01 19:10:07"
[2026-01-10 01:35:45] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-10 01:35:45] [INFO]   -> Found value: SDPSFD
[2026-01-10 01:35:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-10 01:35:45] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 01:35:45] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-10 01:35:45] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00911","cADNumber":"26-00911","incidentLocationStreetNumber":823,"streetName":"CAMBRIDGE DR","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"01-09-2026 19:00:38|Call Received on 01\/09\/2026 @ 19:00\n\nFIRE ON THE STOVE \nONLY SHOWING SMOKE \nCOMING FROM THE BACK OF THE STOVE  01-09-2026 19:02:06|WAS GETTING EVERYONE OUT OF THE BUILDING 01-09-2026 19:03:22|NMCO NOTIFIED 01-09-2026 19:05:23|*01\/09\/2026 19:05 D100**\nTWO STRUCTURE NOTHING SHOWING\n**01\/09\/2026 19:05 D100**\nDRY COOKING 01-09-2026 19:05:39|377 ON SCENE 01-09-2026 19:09:41|CANCEL ALL UNITS NOT ON SCENE PER COMMAND 01-09-2026 19:10:20|DISREGARD CANCEL HAVE UNITS DOWNGRADE 01-09-2026 19:16:55|UNDER CONTROL 01-09-2026 19:34:51|HOUSE GIVEN BACK TO THE OWNERS","cADLog":"01-09-2026 19:00:38|Call Received on 01\/09\/2026 @ 19:00\n\nFIRE ON THE STOVE \nONLY SHOWING SMOKE \nCOMING FROM THE BACK OF THE STOVE  01-09-2026 19:02:06|WAS GETTING EVERYONE OUT OF THE BUILDING 01-09-2026 19:03:22|NMCO NOTIFIED 01-09-2026 19:05:23|*01\/09\/2026 19:05 D100**\nTWO STRUCTURE NOTHING SHOWING\n**01\/09\/2026 19:05 D100**\nDRY COOKING 01-09-2026 19:05:39|377 ON SCENE 01-09-2026 19:09:41|CANCEL ALL UNITS NOT ON SCENE PER COMMAND 01-09-2026 19:10:20|DISREGARD CANCEL HAVE UNITS DOWNGRADE 01-09-2026 19:16:55|UNDER CONTROL 01-09-2026 19:34:51|HOUSE GIVEN BACK TO THE OWNERS","alarm":"2026-09-01 19:01:59","dispatched":"2026-09-01 19:01:59","onScene":"2026-09-01 19:05:32","cleared":"2026-09-01 19:34:54","inService":"2026-09-01 19:34:54","cADVehicleID":"DOWNGRADE","name":"DOWNGRADE","timeunitclear":"2026-09-01 19:34:54","timedispatch":"2026-09-01 19:10:07","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-10 01:35:45] [INFO] Number of extracted fields: 23
[2026-01-10 01:35:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-10 01:35:45] [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-10 01:35:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-10 01:35:45] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-10 01:35:45] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-10 01:35:45] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-10 01:35:45] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-10 01:35:45] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-10 01:35:45] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e868e55c0c
[2026-01-10 01:35:47] [INFO] Created new Dispatches record with ID: 6961acf1cd6faa12a
[2026-01-10 01:35:47] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00911.xml
[2026-01-10 01:35:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00911.xml
[2026-01-10 12:26:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003384_20260110_122647.XML
[2026-01-10 12:26:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003384_20260110_122647.XML for user: 68f1466aed072ad4a
[2026-01-10 12:26:47] [INFO] File size: 5229 bytes
[2026-01-10 12:26:48] [INFO] Created FTPFiles record with ID: 6962458827f81f653
[2026-01-10 12:26:48] [INFO] About to extract fields from XML. File size: 5229 bytes
[2026-01-10 12:26:48] [INFO] Number of mappings: 28
[2026-01-10 12:26:48] [INFO] Starting XML parsing. Content length: 5229
[2026-01-10 12:26:48] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 12:26:48] [INFO] Processing 28 field mappings
[2026-01-10 12:26:48] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 12:26:48] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 12:26:48] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 12:26:48] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-10 12:26:48] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-10 12:26:48] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-10 12:26:48] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 12:26:48] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-10 12:26:48] [INFO]   -> Found value: 2026000073
[2026-01-10 12:26:48] [INFO]   -> Set field 'incidentInternalId' = "2026000073"
[2026-01-10 12:26:48] [INFO]   -> Set field 'dispatchRunNumber' = "2026000073"
[2026-01-10 12:26:48] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 12:26:48] [INFO]   -> Found value: FALL VICTIM
[2026-01-10 12:26:48] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-01-10 12:26:48] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 12:26:48] [INFO]   -> Found value: 703
[2026-01-10 12:26:48] [INFO]   -> Set field 'incidentLocationStreetNumber' = 703
[2026-01-10 12:26:48] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 12:26:48] [INFO]   -> Found value: TN
[2026-01-10 12:26:48] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 12:26:48] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 12:26:48] [INFO]   -> Found value: 38501
[2026-01-10 12:26:48] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-10 12:26:48] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 12:26:48] [INFO]   -> Found value: 36.21521
[2026-01-10 12:26:48] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.2152099999999990131982485763728618621826171875
[2026-01-10 12:26:48] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 12:26:48] [INFO]   -> Found value: -85.50411
[2026-01-10 12:26:48] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.504109999999997171471477486193180084228515625
[2026-01-10 12:26:48] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 12:26:48] [INFO]   -> Found value: 2026-01-10 06:26:10
[2026-01-10 12:26:48] [INFO]   -> Set field 'alarm' = "2026-01-10 06:26:10"
[2026-01-10 12:26:48] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 12:26:48] [INFO]   -> Found value: 2026-01-10 06:26:42
[2026-01-10 12:26:48] [INFO]   -> Set field 'dispatched' = "2026-01-10 06:26:42"
[2026-01-10 12:26:48] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 12:26:48] [INFO]   -> Found value: FREEHILL RD/PINEWOOD DR
[2026-01-10 12:26:48] [INFO]   -> Set field 'incidentLocationCross' = "FREEHILL RD\/PINEWOOD DR"
[2026-01-10 12:26:48] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 12:26:48] [INFO]   -> Found value: PCFR
[2026-01-10 12:26:48] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-10 12:26:48] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 12:26:48] [INFO]   -> Found value: 2026-01-10 06:26:42
[2026-01-10 12:26:48] [INFO]   -> Set field 'timedispatch' = "2026-01-10 06:26:42"
[2026-01-10 12:26:48] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 12:26:48] [INFO]   -> No value found (null or empty)
[2026-01-10 12:26:48] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 12:26:48] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 12:26:48] [INFO]   -> Found value: 20260003384
[2026-01-10 12:26:48] [INFO]   -> Set field 'policeReportNumber' = "20260003384"
[2026-01-10 12:26:48] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 12:26:48] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRANCE  [01/10/26 06:26:23 BPICHE] Event spawned from FALL VICTIM.  [01/10/2026 0...
[2026-01-10 12:26:48] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRANCE  [01\/10\/26 06:26:23 BPICHE] Event spawned from FALL VICTIM.  [01\/10\/2026 06:26:10 BPICHE] FALL VICTIM  COMPLAINING OF SEVERE LEG PAIN  [01\/10\/26 06:26:04 BPICHE]]"
[2026-01-10 12:26:48] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRANCE  [01\/10\/26 06:26:23 BPICHE] Event spawned from FALL VICTIM.  [01\/10\/2026 06:26:10 BPICHE] FALL VICTIM  COMPLAINING OF SEVERE LEG PAIN  [01\/10\/26 06:26:04 BPICHE]]"
[2026-01-10 12:26:48] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 12:26:48] [INFO]   -> Found value: COOKEVILLE
[2026-01-10 12:26:48] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-10 12:26:48] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 12:26:48] [INFO]   -> Found value: EDGEWOOD
[2026-01-10 12:26:48] [INFO]   -> Set field 'streetName' = "EDGEWOOD"
[2026-01-10 12:26:48] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 12:26:48] [INFO]   -> Found value: DR
[2026-01-10 12:26:48] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-10 12:26:48] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 12:26:48] [INFO]   -> Found value: 703 EDGEWOOD DR
[2026-01-10 12:26:48] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "703 EDGEWOOD DR"
[2026-01-10 12:26:48] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-10 12:26:48] [INFO] Concatenating street name and type
[2026-01-10 12:26:48] [INFO]   -> Combined street name: EDGEWOOD DR
[2026-01-10 12:26:48] [INFO] Built locationCoordinates from lat/lng: 36.21521,-85.50411
[2026-01-10 12:26:48] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000073","dispatchRunNumber":"2026000073","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":703,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.2152099999999990131982485763728618621826171875,"nERISIncidentLongitude":-85.504109999999997171471477486193180084228515625,"alarm":"2026-01-10 06:26:10","dispatched":"2026-01-10 06:26:42","incidentLocationCross":"FREEHILL RD\/PINEWOOD DR","cADVehicleID":"PCFR","timedispatch":"2026-01-10 06:26:42","policeReportNumber":"20260003384","dispatchNotes":"[EMS] FRONT DOOR ENTRANCE  [01\/10\/26 06:26:23 BPICHE] Event spawned from FALL VICTIM.  [01\/10\/2026 06:26:10 BPICHE] FALL VICTIM  COMPLAINING OF SEVERE LEG PAIN  [01\/10\/26 06:26:04 BPICHE]]","cADLog":"[EMS] FRONT DOOR ENTRANCE  [01\/10\/26 06:26:23 BPICHE] Event spawned from FALL VICTIM.  [01\/10\/2026 06:26:10 BPICHE] FALL VICTIM  COMPLAINING OF SEVERE LEG PAIN  [01\/10\/26 06:26:04 BPICHE]]","incidentLocationCity":"COOKEVILLE","streetName":"EDGEWOOD DR","incidentAddressTextVersionStreet":"703 EDGEWOOD DR","locationCoordinates":"36.21521,-85.50411"}
[2026-01-10 12:26:48] [INFO] Number of extracted fields: 21
[2026-01-10 12:26:48] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-10 12:26:48] [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-10 12:26:48] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-10 12:26:48] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-10 12:26:48] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-10 12:26:48] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-10 12:26:48] [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-10 12:26:48] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-10 12:26:48] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-10 12:26:48] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-10 12:26:48] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-10 12:26:48] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-01-10 12:26:58] [INFO] Created new Dispatches record with ID: 69624588dfaf0d151
[2026-01-10 12:26:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003384_20260110_122647.XML
[2026-01-10 12:26:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003384_20260110_122647.XML
[2026-01-10 13:09:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:09:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:09:17] [INFO] File size: 11630 bytes
[2026-01-10 13:09:18] [INFO] Created FTPFiles record with ID: 69624f7e045b46a8f
[2026-01-10 13:09:18] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:09:18] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:09:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:09:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:09:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:09:56] [INFO] File size: 11630 bytes
[2026-01-10 13:09:56] [INFO] Created FTPFiles record with ID: 69624fa4be0c6048c
[2026-01-10 13:09:56] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:09:56] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:09:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:10:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:10:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:10:00] [INFO] File size: 11631 bytes
[2026-01-10 13:10:00] [INFO] Created FTPFiles record with ID: 69624fa8d113d9406
[2026-01-10 13:10:00] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:10:00] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:10:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:10:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:10:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:10:13] [INFO] File size: 12599 bytes
[2026-01-10 13:10:13] [INFO] Created FTPFiles record with ID: 69624fb5d3715269b
[2026-01-10 13:10:13] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:10:13] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:10:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:11:15] [INFO] File size: 15471 bytes
[2026-01-10 13:11:16] [INFO] Created FTPFiles record with ID: 69624ff41ff6935a7
[2026-01-10 13:11:16] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:11:16] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:11:20] [INFO] File size: 16495 bytes
[2026-01-10 13:11:21] [INFO] Created FTPFiles record with ID: 69624ff9472caf5f4
[2026-01-10 13:11:21] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:11:21] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:11:25] [INFO] File size: 18739 bytes
[2026-01-10 13:11:26] [INFO] Created FTPFiles record with ID: 69624ffe39ba1bea7
[2026-01-10 13:11:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:11:26] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:11:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:13:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:13:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:13:41] [INFO] File size: 20382 bytes
[2026-01-10 13:13:41] [INFO] Created FTPFiles record with ID: 69625085ae87d08fa
[2026-01-10 13:13:41] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:13:41] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:13:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:14:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:14:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:14:41] [INFO] File size: 22004 bytes
[2026-01-10 13:14:41] [INFO] Created FTPFiles record with ID: 696250c1b547065ad
[2026-01-10 13:14:41] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:14:41] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:14:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:16:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:16:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:16:12] [INFO] File size: 23623 bytes
[2026-01-10 13:16:13] [INFO] Created FTPFiles record with ID: 6962511d3b565cb12
[2026-01-10 13:16:13] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:16:13] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:16:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:20:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:20:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:20:46] [INFO] File size: 25239 bytes
[2026-01-10 13:20:47] [INFO] Created FTPFiles record with ID: 6962522f07386dc91
[2026-01-10 13:20:47] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:20:47] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:20:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:31:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:31:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:31:23] [INFO] File size: 26858 bytes
[2026-01-10 13:31:24] [INFO] Created FTPFiles record with ID: 696254ac38ec84b94
[2026-01-10 13:31:24] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:31:24] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:31:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:31:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:31:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:31:32] [INFO] File size: 28477 bytes
[2026-01-10 13:31:32] [INFO] Created FTPFiles record with ID: 696254b46cf8a6f91
[2026-01-10 13:31:32] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:31:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:31:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:32:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:32:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml for user: 69320e6a9e3e5ef71
[2026-01-10 13:32:46] [INFO] File size: 29464 bytes
[2026-01-10 13:32:46] [INFO] Created FTPFiles record with ID: 696254fea0135b47f
[2026-01-10 13:32:46] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 13:32:46] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:32:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002017.xml
[2026-01-10 13:34:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003397_20260110_133416.XML
[2026-01-10 13:34:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003397_20260110_133416.XML for user: 68f1466aed072ad4a
[2026-01-10 13:34:16] [INFO] File size: 4971 bytes
[2026-01-10 13:34:17] [INFO] Created FTPFiles record with ID: 696255590d3445e3b
[2026-01-10 13:34:17] [INFO] About to extract fields from XML. File size: 4971 bytes
[2026-01-10 13:34:17] [INFO] Number of mappings: 28
[2026-01-10 13:34:17] [INFO] Starting XML parsing. Content length: 4971
[2026-01-10 13:34:17] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 13:34:17] [INFO] Processing 28 field mappings
[2026-01-10 13:34:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 13:34:17] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 13:34:17] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 13:34:17] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-10 13:34:17] [INFO]   -> Found value: BFD
PCFD
[2026-01-10 13:34:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCFD"
[2026-01-10 13:34:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 13:34:17] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-10 13:34:17] [INFO]   -> Found value: 2026000014
[2026-01-10 13:34:17] [INFO]   -> Set field 'incidentInternalId' = "2026000014"
[2026-01-10 13:34:17] [INFO]   -> Set field 'dispatchRunNumber' = "2026000014"
[2026-01-10 13:34:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 13:34:17] [INFO]   -> Found value: FIRE ALARM
[2026-01-10 13:34:17] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-01-10 13:34:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 13:34:17] [INFO]   -> Found value: 255
[2026-01-10 13:34:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 255
[2026-01-10 13:34:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 13:34:17] [INFO]   -> Found value: TN
[2026-01-10 13:34:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 13:34:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 13:34:17] [INFO]   -> Found value: 38544
[2026-01-10 13:34:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-10 13:34:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 13:34:17] [INFO]   -> Found value: 36.14437
[2026-01-10 13:34:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14437000000000210775397135876119136810302734375
[2026-01-10 13:34:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 13:34:17] [INFO]   -> Found value: -85.62683
[2026-01-10 13:34:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6268299999999982219378580339252948760986328125
[2026-01-10 13:34:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 13:34:17] [INFO]   -> Found value: 2026-01-10 07:34:02
[2026-01-10 13:34:17] [INFO]   -> Set field 'alarm' = "2026-01-10 07:34:02"
[2026-01-10 13:34:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 13:34:17] [INFO]   -> Found value: 2026-01-10 07:34:02
[2026-01-10 13:34:17] [INFO]   -> Set field 'dispatched' = "2026-01-10 07:34:02"
[2026-01-10 13:34:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 13:34:17] [INFO]   -> Found value: COON HUNT RD
[2026-01-10 13:34:17] [INFO]   -> Set field 'incidentLocationCross' = "COON HUNT RD"
[2026-01-10 13:34:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 13:34:17] [INFO]   -> Found value: BEN2
[2026-01-10 13:34:17] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-01-10 13:34:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 13:34:17] [INFO]   -> Found value: 2026-01-10 07:34:02
[2026-01-10 13:34:17] [INFO]   -> Set field 'timedispatch' = "2026-01-10 07:34:02"
[2026-01-10 13:34:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 13:34:17] [INFO]   -> No value found (null or empty)
[2026-01-10 13:34:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 13:34:17] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 13:34:17] [INFO]   -> Found value: 20260003397
[2026-01-10 13:34:17] [INFO]   -> Set field 'policeReportNumber' = "20260003397"
[2026-01-10 13:34:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 13:34:17] [INFO]   -> Found value: Event spawned from FIRE ALARM.  [01/10/2026 07:34:02 KHILL] down stairs smoke dect.  [01/10/26 07:33...
[2026-01-10 13:34:17] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FIRE ALARM.  [01\/10\/2026 07:34:02 KHILL] down stairs smoke dect.  [01\/10\/26 07:33:08 DSTEPHENS]"
[2026-01-10 13:34:17] [INFO]   -> Set field 'cADLog' = "Event spawned from FIRE ALARM.  [01\/10\/2026 07:34:02 KHILL] down stairs smoke dect.  [01\/10\/26 07:33:08 DSTEPHENS]"
[2026-01-10 13:34:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 13:34:17] [INFO]   -> Found value: BAXTER
[2026-01-10 13:34:17] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-10 13:34:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 13:34:17] [INFO]   -> Found value: LONDON
[2026-01-10 13:34:17] [INFO]   -> Set field 'streetName' = "LONDON"
[2026-01-10 13:34:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 13:34:17] [INFO]   -> Found value: CT
[2026-01-10 13:34:17] [INFO]   -> Set field 'streetType' = "CT"
[2026-01-10 13:34:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 13:34:17] [INFO]   -> Found value: 255 LONDON CT
[2026-01-10 13:34:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "255 LONDON CT"
[2026-01-10 13:34:17] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-10 13:34:17] [INFO] Concatenating street name and type
[2026-01-10 13:34:17] [INFO]   -> Combined street name: LONDON CT
[2026-01-10 13:34:17] [INFO] Built locationCoordinates from lat/lng: 36.14437,-85.62683
[2026-01-10 13:34:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCFD","incidentInternalId":"2026000014","dispatchRunNumber":"2026000014","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":255,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14437000000000210775397135876119136810302734375,"nERISIncidentLongitude":-85.6268299999999982219378580339252948760986328125,"alarm":"2026-01-10 07:34:02","dispatched":"2026-01-10 07:34:02","incidentLocationCross":"COON HUNT RD","cADVehicleID":"BEN2","timedispatch":"2026-01-10 07:34:02","policeReportNumber":"20260003397","dispatchNotes":"Event spawned from FIRE ALARM.  [01\/10\/2026 07:34:02 KHILL] down stairs smoke dect.  [01\/10\/26 07:33:08 DSTEPHENS]","cADLog":"Event spawned from FIRE ALARM.  [01\/10\/2026 07:34:02 KHILL] down stairs smoke dect.  [01\/10\/26 07:33:08 DSTEPHENS]","incidentLocationCity":"BAXTER","streetName":"LONDON CT","incidentAddressTextVersionStreet":"255 LONDON CT","locationCoordinates":"36.14437,-85.62683"}
[2026-01-10 13:34:17] [INFO] Number of extracted fields: 21
[2026-01-10 13:34:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCFD'
[2026-01-10 13:34:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCFD', Parsed IDs = ["BFD","PCFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-10 13:34:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCFD"]
[2026-01-10 13:34:17] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-01-10 13:34:17] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-01-10 13:34:17] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD"]
[2026-01-10 13:34:17] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-01-10 13:34:17] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-01-10 13:34:17] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-10 13:34:17] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-01-10 13:34:17] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-01-10 13:34:17] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-01-10 13:34:21] [INFO] Created new Dispatches record with ID: 6962555a0546b3956
[2026-01-10 13:34:21] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003397_20260110_133416.XML
[2026-01-10 13:34:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003397_20260110_133416.XML
[2026-01-10 16:04:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003420_20260110_160439.XML
[2026-01-10 16:04:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003420_20260110_160439.XML for user: 68f1466aed072ad4a
[2026-01-10 16:04:39] [INFO] File size: 5308 bytes
[2026-01-10 16:04:39] [INFO] Created FTPFiles record with ID: 69627897a76387826
[2026-01-10 16:04:39] [INFO] About to extract fields from XML. File size: 5308 bytes
[2026-01-10 16:04:39] [INFO] Number of mappings: 28
[2026-01-10 16:04:39] [INFO] Starting XML parsing. Content length: 5308
[2026-01-10 16:04:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 16:04:39] [INFO] Processing 28 field mappings
[2026-01-10 16:04:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 16:04:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 16:04:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 16:04:39] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-10 16:04:39] [INFO]   -> Found value: AFD
EMS
EMS
[2026-01-10 16:04:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nEMS"
[2026-01-10 16:04:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 16:04:39] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-10 16:04:39] [INFO]   -> Found value: 2026000009
[2026-01-10 16:04:39] [INFO]   -> Set field 'incidentInternalId' = "2026000009"
[2026-01-10 16:04:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000009"
[2026-01-10 16:04:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 16:04:39] [INFO]   -> Found value: OB / PREGNANCY / CHILDBIRTH
[2026-01-10 16:04:39] [INFO]   -> Set field 'incidentTypeValue1' = "OB \/ PREGNANCY \/ CHILDBIRTH"
[2026-01-10 16:04:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 16:04:39] [INFO]   -> Found value: 2933
[2026-01-10 16:04:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2933
[2026-01-10 16:04:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 16:04:39] [INFO]   -> Found value: TN
[2026-01-10 16:04:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 16:04:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 16:04:39] [INFO]   -> Found value: 38506
[2026-01-10 16:04:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-10 16:04:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 16:04:39] [INFO]   -> Found value: 36.17923
[2026-01-10 16:04:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17922999999999689180185669101774692535400390625
[2026-01-10 16:04:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 16:04:39] [INFO]   -> Found value: -85.44806
[2026-01-10 16:04:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.44805999999999812644091434776782989501953125
[2026-01-10 16:04:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 16:04:39] [INFO]   -> Found value: 2026-01-10 10:03:07
[2026-01-10 16:04:39] [INFO]   -> Set field 'alarm' = "2026-01-10 10:03:07"
[2026-01-10 16:04:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 16:04:39] [INFO]   -> Found value: 2026-01-10 10:04:30
[2026-01-10 16:04:39] [INFO]   -> Set field 'dispatched' = "2026-01-10 10:04:30"
[2026-01-10 16:04:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 16:04:39] [INFO]   -> Found value: CARSON CIR
[2026-01-10 16:04:39] [INFO]   -> Set field 'incidentLocationCross' = "CARSON CIR"
[2026-01-10 16:04:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 16:04:39] [INFO]   -> Found value: AFR
[2026-01-10 16:04:39] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-01-10 16:04:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 16:04:39] [INFO]   -> Found value: 2026-01-10 10:04:30
[2026-01-10 16:04:39] [INFO]   -> Set field 'timedispatch' = "2026-01-10 10:04:30"
[2026-01-10 16:04:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 16:04:39] [INFO]   -> No value found (null or empty)
[2026-01-10 16:04:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 16:04:39] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 16:04:39] [INFO]   -> Found value: 20260003420
[2026-01-10 16:04:39] [INFO]   -> Set field 'policeReportNumber' = "20260003420"
[2026-01-10 16:04:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 16:04:39] [INFO]   -> Found value: Event spawned for EMS Event ID:20260003421  CallRef:423  [01/10/26 10:03:52 KHILL] [EMS] 2ND PREGNAN...
[2026-01-10 16:04:39] [INFO]   -> Set field 'dispatchNotes' = "Event spawned for EMS Event ID:20260003421  CallRef:423  [01\/10\/26 10:03:52 KHILL] [EMS] 2ND PREGNANCY  [01\/10\/26 10:03:33 KMORGAN2] [EMS] WATER BROKE 38 WKS  [01\/10\/26 10:03:20 KMORGAN2] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [01\/10\/2026 10:03:07 KMORGAN2]"
[2026-01-10 16:04:39] [INFO]   -> Set field 'cADLog' = "Event spawned for EMS Event ID:20260003421  CallRef:423  [01\/10\/26 10:03:52 KHILL] [EMS] 2ND PREGNANCY  [01\/10\/26 10:03:33 KMORGAN2] [EMS] WATER BROKE 38 WKS  [01\/10\/26 10:03:20 KMORGAN2] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [01\/10\/2026 10:03:07 KMORGAN2]"
[2026-01-10 16:04:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 16:04:39] [INFO]   -> Found value: ALGOOD
[2026-01-10 16:04:39] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-10 16:04:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 16:04:39] [INFO]   -> Found value: OLD WALTON
[2026-01-10 16:04:39] [INFO]   -> Set field 'streetName' = "OLD WALTON"
[2026-01-10 16:04:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 16:04:39] [INFO]   -> Found value: CIR
[2026-01-10 16:04:39] [INFO]   -> Set field 'streetType' = "CIR"
[2026-01-10 16:04:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 16:04:39] [INFO]   -> Found value: 2933 OLD WALTON CIR
[2026-01-10 16:04:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2933 OLD WALTON CIR"
[2026-01-10 16:04:39] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-10 16:04:39] [INFO] Concatenating street name and type
[2026-01-10 16:04:39] [INFO]   -> Combined street name: OLD WALTON CIR
[2026-01-10 16:04:39] [INFO] Built locationCoordinates from lat/lng: 36.17923,-85.44806
[2026-01-10 16:04:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nEMS","incidentInternalId":"2026000009","dispatchRunNumber":"2026000009","incidentTypeValue1":"OB \/ PREGNANCY \/ CHILDBIRTH","incidentLocationStreetNumber":2933,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.17922999999999689180185669101774692535400390625,"nERISIncidentLongitude":-85.44805999999999812644091434776782989501953125,"alarm":"2026-01-10 10:03:07","dispatched":"2026-01-10 10:04:30","incidentLocationCross":"CARSON CIR","cADVehicleID":"AFR","timedispatch":"2026-01-10 10:04:30","policeReportNumber":"20260003420","dispatchNotes":"Event spawned for EMS Event ID:20260003421  CallRef:423  [01\/10\/26 10:03:52 KHILL] [EMS] 2ND PREGNANCY  [01\/10\/26 10:03:33 KMORGAN2] [EMS] WATER BROKE 38 WKS  [01\/10\/26 10:03:20 KMORGAN2] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [01\/10\/2026 10:03:07 KMORGAN2]","cADLog":"Event spawned for EMS Event ID:20260003421  CallRef:423  [01\/10\/26 10:03:52 KHILL] [EMS] 2ND PREGNANCY  [01\/10\/26 10:03:33 KMORGAN2] [EMS] WATER BROKE 38 WKS  [01\/10\/26 10:03:20 KMORGAN2] Event spawned from OB \/ PREGNANCY \/ CHILDBIRTH.  [01\/10\/2026 10:03:07 KMORGAN2]","incidentLocationCity":"ALGOOD","streetName":"OLD WALTON CIR","incidentAddressTextVersionStreet":"2933 OLD WALTON CIR","locationCoordinates":"36.17923,-85.44806"}
[2026-01-10 16:04:39] [INFO] Number of extracted fields: 21
[2026-01-10 16:04:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
EMS'
[2026-01-10 16:04:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
EMS', Parsed IDs = ["AFD","EMS","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-10 16:04:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","EMS"]
[2026-01-10 16:04:39] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-10 16:04:39] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-10 16:04:39] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","EMS"]
[2026-01-10 16:04:40] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-10 16:04:40] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-10 16:04:40] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-10 16:04:40] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-01-10 16:04:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-10 16:04:40] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"OB \/ PREGNANCY \/ CHILDBIRTH","saasclientId":"68910627445d6e167","name":"OB \/ PREGNANCY \/ CHILDBIRTH"}
[2026-01-10 16:04:40] [INFO] Created new IncidentTypeMapping with ID: 696278986896282bf
[2026-01-10 16:04:45] [INFO] Created new Dispatches record with ID: 69627898b03bf077a
[2026-01-10 16:04:45] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003420_20260110_160439.XML
[2026-01-10 16:04:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003420_20260110_160439.XML
[2026-01-10 16:45:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:31Z.xml
[2026-01-10 16:45:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:31Z.xml
[2026-01-10 16:45:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:34Z.xml
[2026-01-10 16:45:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:34Z.xml
[2026-01-10 16:45:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:53Z.xml
[2026-01-10 16:45:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:53Z.xml
[2026-01-10 16:45:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:54Z.xml
[2026-01-10 16:45:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:45:54Z.xml
[2026-01-10 16:46:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:46:21Z.xml
[2026-01-10 16:46:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:46:21Z.xml
[2026-01-10 16:46:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:46:22Z.xml
[2026-01-10 16:46:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:46:22Z.xml
[2026-01-10 16:47:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:47:23Z.xml
[2026-01-10 16:47:26] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:47:23Z.xml
[2026-01-10 16:52:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003435_20260110_165230.XML
[2026-01-10 16:52:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003435_20260110_165230.XML for user: 68f1466aed072ad4a
[2026-01-10 16:52:30] [INFO] File size: 6431 bytes
[2026-01-10 16:52:30] [INFO] Created FTPFiles record with ID: 696283ce50300a337
[2026-01-10 16:52:30] [INFO] About to extract fields from XML. File size: 6431 bytes
[2026-01-10 16:52:30] [INFO] Number of mappings: 28
[2026-01-10 16:52:30] [INFO] Starting XML parsing. Content length: 6431
[2026-01-10 16:52:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 16:52:30] [INFO] Processing 28 field mappings
[2026-01-10 16:52:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 16:52:30] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 16:52:30] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 16:52:30] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-10 16:52:30] [INFO]   -> Found value: AFD
EMS
APD
[2026-01-10 16:52:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS\nAPD"
[2026-01-10 16:52:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 16:52:30] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-10 16:52:30] [INFO]   -> Found value: 2026000010
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentInternalId' = "2026000010"
[2026-01-10 16:52:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000010"
[2026-01-10 16:52:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 16:52:30] [INFO]   -> Found value: CHEST PAIN
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-10 16:52:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 16:52:30] [INFO]   -> Found value: 394
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 394
[2026-01-10 16:52:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 16:52:30] [INFO]   -> Found value: TN
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 16:52:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 16:52:30] [INFO]   -> Found value: 38506
[2026-01-10 16:52:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-10 16:52:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 16:52:30] [INFO]   -> Found value: QUINLAND RIDGE APARTMENTS
[2026-01-10 16:52:30] [INFO]   -> Set field 'businessName' = "QUINLAND RIDGE APARTMENTS"
[2026-01-10 16:52:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 16:52:30] [INFO]   -> Found value: D7
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentLocationApt' = "D7"
[2026-01-10 16:52:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 16:52:30] [INFO]   -> Found value: 36.19970
[2026-01-10 16:52:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19969999999999998863131622783839702606201171875
[2026-01-10 16:52:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 16:52:30] [INFO]   -> Found value: -85.45979
[2026-01-10 16:52:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4597899999999981446308083832263946533203125
[2026-01-10 16:52:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 16:52:30] [INFO]   -> Found value: 2026-01-10 10:50:50
[2026-01-10 16:52:30] [INFO]   -> Set field 'alarm' = "2026-01-10 10:50:50"
[2026-01-10 16:52:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 16:52:30] [INFO]   -> Found value: 2026-01-10 10:52:24
[2026-01-10 16:52:30] [INFO]   -> Set field 'dispatched' = "2026-01-10 10:52:24"
[2026-01-10 16:52:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 16:52:30] [INFO]   -> No value found (null or empty)
[2026-01-10 16:52:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 16:52:30] [INFO]   -> No value found (null or empty)
[2026-01-10 16:52:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 16:52:30] [INFO]   -> No value found (null or empty)
[2026-01-10 16:52:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 16:52:30] [INFO]   -> Found value: WEBB AVE/GIBBONS RD
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentLocationCross' = "WEBB AVE\/GIBBONS RD"
[2026-01-10 16:52:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 16:52:30] [INFO]   -> Found value: AFR
[2026-01-10 16:52:30] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-01-10 16:52:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 16:52:30] [INFO]   -> Found value: 2026-01-10 10:52:24
[2026-01-10 16:52:30] [INFO]   -> Set field 'timedispatch' = "2026-01-10 10:52:24"
[2026-01-10 16:52:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 16:52:30] [INFO]   -> No value found (null or empty)
[2026-01-10 16:52:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 16:52:30] [INFO]   -> No value found (null or empty)
[2026-01-10 16:52:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 16:52:30] [INFO]   -> Found value: 2026-01-10 10:52:28
[2026-01-10 16:52:30] [INFO]   -> Set field 'timeunitclear' = "2026-01-10 10:52:28"
[2026-01-10 16:52:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 16:52:30] [INFO]   -> Found value: 2026-01-10 10:52:28
[2026-01-10 16:52:30] [INFO]   -> Set field 'timecanceledenroute' = "2026-01-10 10:52:28"
[2026-01-10 16:52:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 16:52:30] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 16:52:30] [INFO]   -> Found value: 20260003435
[2026-01-10 16:52:30] [INFO]   -> Set field 'policeReportNumber' = "20260003435"
[2026-01-10 16:52:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 16:52:30] [INFO]   -> Found value: [EMS] TEMP 101  [01/10/26 10:51:59 KMORGAN2] [EMS] ALSO VOMITING  [01/10/26 10:51:52 KMORGAN2] [EMS]...
[2026-01-10 16:52:30] [INFO]   -> Set field 'dispatchNotes' = "[EMS] TEMP 101  [01\/10\/26 10:51:59 KMORGAN2] [EMS] ALSO VOMITING  [01\/10\/26 10:51:52 KMORGAN2] [EMS] HX OF STINTS  [01\/10\/26 10:51:39 KMORGAN2] [EMS] CAMILLIA HOLT  [01\/10\/26 10:51:23 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 10:51:10 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 10:50:50 KMORGAN2] 81 YOF CHEST PAIN\/\/SOB FEVER  [01\/10\/26 10:50:41 KMORGAN2]]"
[2026-01-10 16:52:30] [INFO]   -> Set field 'cADLog' = "[EMS] TEMP 101  [01\/10\/26 10:51:59 KMORGAN2] [EMS] ALSO VOMITING  [01\/10\/26 10:51:52 KMORGAN2] [EMS] HX OF STINTS  [01\/10\/26 10:51:39 KMORGAN2] [EMS] CAMILLIA HOLT  [01\/10\/26 10:51:23 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 10:51:10 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 10:50:50 KMORGAN2] 81 YOF CHEST PAIN\/\/SOB FEVER  [01\/10\/26 10:50:41 KMORGAN2]]"
[2026-01-10 16:52:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 16:52:30] [INFO]   -> Found value: ALGOOD
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-10 16:52:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 16:52:30] [INFO]   -> Found value: 4TH
[2026-01-10 16:52:30] [INFO]   -> Set field 'streetName' = "4TH"
[2026-01-10 16:52:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 16:52:30] [INFO]   -> Found value: AVE
[2026-01-10 16:52:30] [INFO]   -> Set field 'streetType' = "AVE"
[2026-01-10 16:52:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 16:52:30] [INFO]   -> Found value: 394-D7 4TH AVE
[2026-01-10 16:52:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "394-D7 4TH AVE"
[2026-01-10 16:52:30] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-01-10 16:52:30] [INFO] Concatenating street name and type
[2026-01-10 16:52:30] [INFO]   -> Combined street name: 4TH AVE
[2026-01-10 16:52:30] [INFO] Built locationCoordinates from lat/lng: 36.1997,-85.45979
[2026-01-10 16:52:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS\nAPD","incidentInternalId":"2026000010","dispatchRunNumber":"2026000010","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":394,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"QUINLAND RIDGE APARTMENTS","incidentLocationApt":"D7","nERISIncidentLatitude":36.19969999999999998863131622783839702606201171875,"nERISIncidentLongitude":-85.4597899999999981446308083832263946533203125,"alarm":"2026-01-10 10:50:50","dispatched":"2026-01-10 10:52:24","incidentLocationCross":"WEBB AVE\/GIBBONS RD","cADVehicleID":"AFR","timedispatch":"2026-01-10 10:52:24","timeunitclear":"2026-01-10 10:52:28","timecanceledenroute":"2026-01-10 10:52:28","policeReportNumber":"20260003435","dispatchNotes":"[EMS] TEMP 101  [01\/10\/26 10:51:59 KMORGAN2] [EMS] ALSO VOMITING  [01\/10\/26 10:51:52 KMORGAN2] [EMS] HX OF STINTS  [01\/10\/26 10:51:39 KMORGAN2] [EMS] CAMILLIA HOLT  [01\/10\/26 10:51:23 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 10:51:10 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 10:50:50 KMORGAN2] 81 YOF CHEST PAIN\/\/SOB FEVER  [01\/10\/26 10:50:41 KMORGAN2]]","cADLog":"[EMS] TEMP 101  [01\/10\/26 10:51:59 KMORGAN2] [EMS] ALSO VOMITING  [01\/10\/26 10:51:52 KMORGAN2] [EMS] HX OF STINTS  [01\/10\/26 10:51:39 KMORGAN2] [EMS] CAMILLIA HOLT  [01\/10\/26 10:51:23 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 10:51:10 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 10:50:50 KMORGAN2] 81 YOF CHEST PAIN\/\/SOB FEVER  [01\/10\/26 10:50:41 KMORGAN2]]","incidentLocationCity":"ALGOOD","streetName":"4TH AVE","incidentAddressTextVersionStreet":"394-D7 4TH AVE","locationCoordinates":"36.1997,-85.45979"}
[2026-01-10 16:52:30] [INFO] Number of extracted fields: 25
[2026-01-10 16:52:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS
APD'
[2026-01-10 16:52:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS
APD', Parsed IDs = ["AFD","EMS","APD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-10 16:52:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS","APD"]
[2026-01-10 16:52:30] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-10 16:52:30] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-10 16:52:30] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","APD"]
[2026-01-10 16:52:30] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-10 16:52:30] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-10 16:52:30] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-10 16:52:30] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-01-10 16:52:30] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-10 16:52:30] [INFO] Found existing IncidentTypeMapping with ID: 69448a5c00a999345
[2026-01-10 16:52:36] [INFO] Created new Dispatches record with ID: 696283cf2abc341ff
[2026-01-10 16:52:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003435_20260110_165230.XML
[2026-01-10 16:52:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003435_20260110_165230.XML
[2026-01-10 16:53:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:53:24Z.xml
[2026-01-10 16:53:27] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:53:24Z.xml
[2026-01-10 16:55:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:55:32Z.xml
[2026-01-10 16:55:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:55:32Z.xml
[2026-01-10 16:56:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:56:35Z.xml
[2026-01-10 16:56:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:56:35Z.xml
[2026-01-10 16:56:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:56:40Z.xml
[2026-01-10 16:56:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:56:40Z.xml
[2026-01-10 16:58:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:58:45Z.xml
[2026-01-10 16:58:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 10:58:45Z.xml
[2026-01-10 17:09:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003445_20260110_170910.XML
[2026-01-10 17:09:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003445_20260110_170910.XML for user: 68f1466aed072ad4a
[2026-01-10 17:09:10] [INFO] File size: 5079 bytes
[2026-01-10 17:09:11] [INFO] Created FTPFiles record with ID: 696287b718631e413
[2026-01-10 17:09:11] [INFO] About to extract fields from XML. File size: 5079 bytes
[2026-01-10 17:09:11] [INFO] Number of mappings: 28
[2026-01-10 17:09:11] [INFO] Starting XML parsing. Content length: 5079
[2026-01-10 17:09:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 17:09:11] [INFO] Processing 28 field mappings
[2026-01-10 17:09:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 17:09:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 17:09:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 17:09:11] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-10 17:09:11] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-10 17:09:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-10 17:09:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 17:09:11] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-10 17:09:11] [INFO]   -> Found value: 2026000075
[2026-01-10 17:09:11] [INFO]   -> Set field 'incidentInternalId' = "2026000075"
[2026-01-10 17:09:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000075"
[2026-01-10 17:09:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 17:09:11] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-01-10 17:09:11] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-01-10 17:09:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 17:09:11] [INFO]   -> Found value: 1125
[2026-01-10 17:09:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1125
[2026-01-10 17:09:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 17:09:11] [INFO]   -> Found value: TN
[2026-01-10 17:09:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 17:09:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 17:09:11] [INFO]   -> Found value: 38501
[2026-01-10 17:09:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-10 17:09:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 17:09:11] [INFO]   -> Found value: ABSOLUTE CARE
[2026-01-10 17:09:11] [INFO]   -> Set field 'businessName' = "ABSOLUTE CARE"
[2026-01-10 17:09:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 17:09:11] [INFO]   -> Found value: 36.15172
[2026-01-10 17:09:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1517199999999974124875734560191631317138671875
[2026-01-10 17:09:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 17:09:11] [INFO]   -> Found value: -85.61602
[2026-01-10 17:09:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6160200000000060072125052101910114288330078125
[2026-01-10 17:09:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 17:09:11] [INFO]   -> Found value: 2026-01-10 11:08:20
[2026-01-10 17:09:11] [INFO]   -> Set field 'alarm' = "2026-01-10 11:08:20"
[2026-01-10 17:09:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 17:09:11] [INFO]   -> Found value: 2026-01-10 11:09:04
[2026-01-10 17:09:11] [INFO]   -> Set field 'dispatched' = "2026-01-10 11:09:04"
[2026-01-10 17:09:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 17:09:11] [INFO]   -> Found value: /FAWN DR
[2026-01-10 17:09:11] [INFO]   -> Set field 'incidentLocationCross' = "\/FAWN DR"
[2026-01-10 17:09:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 17:09:11] [INFO]   -> Found value: PCFR
[2026-01-10 17:09:11] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-10 17:09:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 17:09:11] [INFO]   -> Found value: 2026-01-10 11:09:04
[2026-01-10 17:09:11] [INFO]   -> Set field 'timedispatch' = "2026-01-10 11:09:04"
[2026-01-10 17:09:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 17:09:11] [INFO]   -> No value found (null or empty)
[2026-01-10 17:09:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 17:09:11] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 17:09:11] [INFO]   -> Found value: 20260003445
[2026-01-10 17:09:11] [INFO]   -> Set field 'policeReportNumber' = "20260003445"
[2026-01-10 17:09:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 17:09:11] [INFO]   -> Found value: Event spawned from MENTAL STATUS CHANGES.  [01/10/2026 11:08:20 DSTEPHENS]
[2026-01-10 17:09:11] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MENTAL STATUS CHANGES.  [01\/10\/2026 11:08:20 DSTEPHENS]"
[2026-01-10 17:09:11] [INFO]   -> Set field 'cADLog' = "Event spawned from MENTAL STATUS CHANGES.  [01\/10\/2026 11:08:20 DSTEPHENS]"
[2026-01-10 17:09:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 17:09:11] [INFO]   -> Found value: COOKEVILLE
[2026-01-10 17:09:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-10 17:09:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 17:09:11] [INFO]   -> Found value: DEER CREEK
[2026-01-10 17:09:11] [INFO]   -> Set field 'streetName' = "DEER CREEK"
[2026-01-10 17:09:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 17:09:11] [INFO]   -> Found value: DR
[2026-01-10 17:09:11] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-10 17:09:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 17:09:11] [INFO]   -> Found value: 1125 DEER CREEK DR
[2026-01-10 17:09:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1125 DEER CREEK DR"
[2026-01-10 17:09:11] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 17:09:11] [INFO] Concatenating street name and type
[2026-01-10 17:09:11] [INFO]   -> Combined street name: DEER CREEK DR
[2026-01-10 17:09:11] [INFO] Built locationCoordinates from lat/lng: 36.15172,-85.61602
[2026-01-10 17:09:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000075","dispatchRunNumber":"2026000075","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":1125,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"ABSOLUTE CARE","nERISIncidentLatitude":36.1517199999999974124875734560191631317138671875,"nERISIncidentLongitude":-85.6160200000000060072125052101910114288330078125,"alarm":"2026-01-10 11:08:20","dispatched":"2026-01-10 11:09:04","incidentLocationCross":"\/FAWN DR","cADVehicleID":"PCFR","timedispatch":"2026-01-10 11:09:04","policeReportNumber":"20260003445","dispatchNotes":"Event spawned from MENTAL STATUS CHANGES.  [01\/10\/2026 11:08:20 DSTEPHENS]","cADLog":"Event spawned from MENTAL STATUS CHANGES.  [01\/10\/2026 11:08:20 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"DEER CREEK DR","incidentAddressTextVersionStreet":"1125 DEER CREEK DR","locationCoordinates":"36.15172,-85.61602"}
[2026-01-10 17:09:11] [INFO] Number of extracted fields: 22
[2026-01-10 17:09:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-10 17:09:11] [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-10 17:09:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-10 17:09:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-10 17:09:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-10 17:09:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-10 17:09:11] [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-10 17:09:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-10 17:09:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-10 17:09:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-10 17:09:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-10 17:09:11] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-01-10 17:09:20] [INFO] Created new Dispatches record with ID: 696287b801236a701
[2026-01-10 17:09:20] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003445_20260110_170910.XML
[2026-01-10 17:09:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003445_20260110_170910.XML
[2026-01-10 17:11:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003449_20260110_171120.XML
[2026-01-10 17:11:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003449_20260110_171120.XML for user: 68f1466aed072ad4a
[2026-01-10 17:11:20] [INFO] File size: 5644 bytes
[2026-01-10 17:11:20] [INFO] Created FTPFiles record with ID: 69628838b25055428
[2026-01-10 17:11:20] [INFO] About to extract fields from XML. File size: 5644 bytes
[2026-01-10 17:11:20] [INFO] Number of mappings: 28
[2026-01-10 17:11:20] [INFO] Starting XML parsing. Content length: 5644
[2026-01-10 17:11:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 17:11:20] [INFO] Processing 28 field mappings
[2026-01-10 17:11:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 17:11:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 17:11:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 17:11:20] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-10 17:11:20] [INFO]   -> Found value: MFD
EMS
RESC
PCFD
[2026-01-10 17:11:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nRESC\nPCFD"
[2026-01-10 17:11:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 17:11:20] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-10 17:11:20] [INFO]   -> Found value: 2026000007
[2026-01-10 17:11:20] [INFO]   -> Set field 'incidentInternalId' = "2026000007"
[2026-01-10 17:11:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000007"
[2026-01-10 17:11:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 17:11:20] [INFO]   -> Found value: PUBLIC RELATIONS - FIRE
[2026-01-10 17:11:20] [INFO]   -> Set field 'incidentTypeValue1' = "PUBLIC RELATIONS - FIRE"
[2026-01-10 17:11:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 17:11:20] [INFO]   -> Found value: 19195
[2026-01-10 17:11:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 19195
[2026-01-10 17:11:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 17:11:20] [INFO]   -> Found value: TN
[2026-01-10 17:11:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 17:11:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 17:11:20] [INFO]   -> Found value: 38574
[2026-01-10 17:11:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-10 17:11:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 17:11:20] [INFO]   -> Found value: MONTEREY CITY LAKE
[2026-01-10 17:11:20] [INFO]   -> Set field 'businessName' = "MONTEREY CITY LAKE"
[2026-01-10 17:11:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 17:11:20] [INFO]   -> No value found (null or empty)
[2026-01-10 17:11:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 17:11:20] [INFO]   -> Found value: 36.11674
[2026-01-10 17:11:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11674000000000006593836587853729724884033203125
[2026-01-10 17:11:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 17:11:20] [INFO]   -> Found value: -85.18751
[2026-01-10 17:11:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.187510000000003174136509187519550323486328125
[2026-01-10 17:11:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 17:11:20] [INFO]   -> Found value: 2026-01-10 11:11:15
[2026-01-10 17:11:20] [INFO]   -> Set field 'alarm' = "2026-01-10 11:11:15"
[2026-01-10 17:11:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 17:11:20] [INFO]   -> Found value: 2026-01-10 11:11:15
[2026-01-10 17:11:20] [INFO]   -> Set field 'dispatched' = "2026-01-10 11:11:15"
[2026-01-10 17:11:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 17:11:20] [INFO]   -> Found value: 2026-01-10 11:11:15
[2026-01-10 17:11:20] [INFO]   -> Set field 'enroute' = "2026-01-10 11:11:15"
[2026-01-10 17:11:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 17:11:20] [INFO]   -> No value found (null or empty)
[2026-01-10 17:11:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 17:11:20] [INFO]   -> No value found (null or empty)
[2026-01-10 17:11:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 17:11:20] [INFO]   -> Found value: COPPERHEAD DR/BAYLEE BLVD
[2026-01-10 17:11:20] [INFO]   -> Set field 'incidentLocationCross' = "COPPERHEAD DR\/BAYLEE BLVD"
[2026-01-10 17:11:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 17:11:20] [INFO]   -> Found value: MFEN1
[2026-01-10 17:11:20] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2026-01-10 17:11:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 17:11:20] [INFO]   -> Found value: 2026-01-10 11:11:15
[2026-01-10 17:11:20] [INFO]   -> Set field 'timedispatch' = "2026-01-10 11:11:15"
[2026-01-10 17:11:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 17:11:20] [INFO]   -> Found value: 2026-01-10 11:11:15
[2026-01-10 17:11:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-10 11:11:15"
[2026-01-10 17:11:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 17:11:20] [INFO]   -> No value found (null or empty)
[2026-01-10 17:11:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 17:11:20] [INFO]   -> No value found (null or empty)
[2026-01-10 17:11:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 17:11:20] [INFO]   -> No value found (null or empty)
[2026-01-10 17:11:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 17:11:20] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 17:11:20] [INFO]   -> Found value: 20260003449
[2026-01-10 17:11:20] [INFO]   -> Set field 'policeReportNumber' = "20260003449"
[2026-01-10 17:11:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 17:11:20] [INFO]   -> Found value: Event spawned from PUBLIC RELATIONS - FIRE.  [01/10/2026 11:11:15 KHILL] Event spawned from PUBLIC R...
[2026-01-10 17:11:20] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from PUBLIC RELATIONS - FIRE.  [01\/10\/2026 11:11:15 KHILL] Event spawned from PUBLIC RELATIONS - RESCUE.  [01\/10\/2026 11:10:46 KHILL] Event spawned from PUBLIC RELATIONS\/EDUCATION.  [01\/10\/2026 10:51:52 KHILL] SPECIAL EVENT: POLAR PLUNGE  [01\/10\/26 08:00:39 CRAYL]"
[2026-01-10 17:11:20] [INFO]   -> Set field 'cADLog' = "Event spawned from PUBLIC RELATIONS - FIRE.  [01\/10\/2026 11:11:15 KHILL] Event spawned from PUBLIC RELATIONS - RESCUE.  [01\/10\/2026 11:10:46 KHILL] Event spawned from PUBLIC RELATIONS\/EDUCATION.  [01\/10\/2026 10:51:52 KHILL] SPECIAL EVENT: POLAR PLUNGE  [01\/10\/26 08:00:39 CRAYL]"
[2026-01-10 17:11:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 17:11:20] [INFO]   -> Found value: MONTEREY
[2026-01-10 17:11:20] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-10 17:11:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 17:11:20] [INFO]   -> Found value: CLARKRANGE
[2026-01-10 17:11:20] [INFO]   -> Set field 'streetName' = "CLARKRANGE"
[2026-01-10 17:11:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 17:11:20] [INFO]   -> Found value: HWY
[2026-01-10 17:11:20] [INFO]   -> Set field 'streetType' = "HWY"
[2026-01-10 17:11:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 17:11:20] [INFO]   -> Found value: 19195 CLARKRANGE HWY
[2026-01-10 17:11:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "19195 CLARKRANGE HWY"
[2026-01-10 17:11:20] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-10 17:11:20] [INFO] Concatenating street name and type
[2026-01-10 17:11:20] [INFO]   -> Combined street name: CLARKRANGE HWY
[2026-01-10 17:11:20] [INFO] Built locationCoordinates from lat/lng: 36.11674,-85.18751
[2026-01-10 17:11:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nRESC\nPCFD","incidentInternalId":"2026000007","dispatchRunNumber":"2026000007","incidentTypeValue1":"PUBLIC RELATIONS - FIRE","incidentLocationStreetNumber":19195,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY CITY LAKE","nERISIncidentLatitude":36.11674000000000006593836587853729724884033203125,"nERISIncidentLongitude":-85.187510000000003174136509187519550323486328125,"alarm":"2026-01-10 11:11:15","dispatched":"2026-01-10 11:11:15","enroute":"2026-01-10 11:11:15","incidentLocationCross":"COPPERHEAD DR\/BAYLEE BLVD","cADVehicleID":"MFEN1","timedispatch":"2026-01-10 11:11:15","timeenroutetoscene":"2026-01-10 11:11:15","policeReportNumber":"20260003449","dispatchNotes":"Event spawned from PUBLIC RELATIONS - FIRE.  [01\/10\/2026 11:11:15 KHILL] Event spawned from PUBLIC RELATIONS - RESCUE.  [01\/10\/2026 11:10:46 KHILL] Event spawned from PUBLIC RELATIONS\/EDUCATION.  [01\/10\/2026 10:51:52 KHILL] SPECIAL EVENT: POLAR PLUNGE  [01\/10\/26 08:00:39 CRAYL]","cADLog":"Event spawned from PUBLIC RELATIONS - FIRE.  [01\/10\/2026 11:11:15 KHILL] Event spawned from PUBLIC RELATIONS - RESCUE.  [01\/10\/2026 11:10:46 KHILL] Event spawned from PUBLIC RELATIONS\/EDUCATION.  [01\/10\/2026 10:51:52 KHILL] SPECIAL EVENT: POLAR PLUNGE  [01\/10\/26 08:00:39 CRAYL]","incidentLocationCity":"MONTEREY","streetName":"CLARKRANGE HWY","incidentAddressTextVersionStreet":"19195 CLARKRANGE HWY","locationCoordinates":"36.11674,-85.18751"}
[2026-01-10 17:11:20] [INFO] Number of extracted fields: 24
[2026-01-10 17:11:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
RESC
PCFD'
[2026-01-10 17:11:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
RESC
PCFD', Parsed IDs = ["MFD","EMS","RESC","PCFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-10 17:11:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","RESC","PCFD"]
[2026-01-10 17:11:20] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-10 17:11:20] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-10 17:11:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC","PCFD"]
[2026-01-10 17:11:21] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-10 17:11:21] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-10 17:11:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-10 17:11:21] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-10 17:11:21] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-10 17:11:21] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"PUBLIC RELATIONS - FIRE","saasclientId":"68e67aaba2bb4565e","name":"PUBLIC RELATIONS - FIRE"}
[2026-01-10 17:11:21] [INFO] Created new IncidentTypeMapping with ID: 69628839853bab26e
[2026-01-10 17:11:23] [INFO] Created new Dispatches record with ID: 69628839d18ac70fe
[2026-01-10 17:11:23] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003449_20260110_171120.XML
[2026-01-10 17:11:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003449_20260110_171120.XML
[2026-01-10 17:20:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:20:43Z.xml
[2026-01-10 17:20:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:20:43Z.xml
[2026-01-10 17:20:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:20:51Z.xml
[2026-01-10 17:20:54] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:20:51Z.xml
[2026-01-10 17:21:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:21:06Z.xml
[2026-01-10 17:21:09] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:21:06Z.xml
[2026-01-10 17:21:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:21:20Z.xml
[2026-01-10 17:21:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-001653_2026-01-10 11:21:20Z.xml
[2026-01-10 17:53:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003462_20260110_175301.XML
[2026-01-10 17:53:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003462_20260110_175301.XML for user: 68f1466aed072ad4a
[2026-01-10 17:53:01] [INFO] File size: 5415 bytes
[2026-01-10 17:53:01] [INFO] Created FTPFiles record with ID: 696291fddb83515fc
[2026-01-10 17:53:01] [INFO] About to extract fields from XML. File size: 5415 bytes
[2026-01-10 17:53:01] [INFO] Number of mappings: 28
[2026-01-10 17:53:01] [INFO] Starting XML parsing. Content length: 5415
[2026-01-10 17:53:01] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 17:53:01] [INFO] Processing 28 field mappings
[2026-01-10 17:53:01] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 17:53:01] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 17:53:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 17:53:01] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-10 17:53:01] [INFO]   -> Found value: AFD
EMS
[2026-01-10 17:53:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-01-10 17:53:01] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 17:53:01] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-10 17:53:01] [INFO]   -> Found value: 2026000011
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentInternalId' = "2026000011"
[2026-01-10 17:53:01] [INFO]   -> Set field 'dispatchRunNumber' = "2026000011"
[2026-01-10 17:53:01] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 17:53:01] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-01-10 17:53:01] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 17:53:01] [INFO]   -> Found value: 300
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 300
[2026-01-10 17:53:01] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 17:53:01] [INFO]   -> Found value: TN
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 17:53:01] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 17:53:01] [INFO]   -> Found value: 38506
[2026-01-10 17:53:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-10 17:53:01] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 17:53:01] [INFO]   -> No value found (null or empty)
[2026-01-10 17:53:01] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 17:53:01] [INFO]   -> Found value: B4
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentLocationApt' = "B4"
[2026-01-10 17:53:01] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 17:53:01] [INFO]   -> Found value: 36.19856
[2026-01-10 17:53:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1985600000000005138645065017044544219970703125
[2026-01-10 17:53:01] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 17:53:01] [INFO]   -> Found value: -85.45771
[2026-01-10 17:53:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4577100000000058344085118733346462249755859375
[2026-01-10 17:53:01] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 17:53:01] [INFO]   -> Found value: 2026-01-10 11:52:44
[2026-01-10 17:53:01] [INFO]   -> Set field 'alarm' = "2026-01-10 11:52:44"
[2026-01-10 17:53:01] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 17:53:01] [INFO]   -> Found value: 2026-01-10 11:52:53
[2026-01-10 17:53:01] [INFO]   -> Set field 'dispatched' = "2026-01-10 11:52:53"
[2026-01-10 17:53:01] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 17:53:01] [INFO]   -> Found value: 2026-01-10 11:52:53
[2026-01-10 17:53:01] [INFO]   -> Set field 'enroute' = "2026-01-10 11:52:53"
[2026-01-10 17:53:01] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 17:53:01] [INFO]   -> No value found (null or empty)
[2026-01-10 17:53:01] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 17:53:01] [INFO]   -> No value found (null or empty)
[2026-01-10 17:53:01] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 17:53:01] [INFO]   -> Found value: QUINLAND LAKE RD
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentLocationCross' = "QUINLAND LAKE RD"
[2026-01-10 17:53:01] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 17:53:01] [INFO]   -> Found value: A1200
[2026-01-10 17:53:01] [INFO]   -> Set field 'cADVehicleID' = "A1200"
[2026-01-10 17:53:01] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 17:53:01] [INFO]   -> Found value: 2026-01-10 11:52:53
[2026-01-10 17:53:01] [INFO]   -> Set field 'timedispatch' = "2026-01-10 11:52:53"
[2026-01-10 17:53:01] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 17:53:01] [INFO]   -> Found value: 2026-01-10 11:52:53
[2026-01-10 17:53:01] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-10 11:52:53"
[2026-01-10 17:53:01] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 17:53:01] [INFO]   -> No value found (null or empty)
[2026-01-10 17:53:01] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 17:53:01] [INFO]   -> No value found (null or empty)
[2026-01-10 17:53:01] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 17:53:01] [INFO]   -> No value found (null or empty)
[2026-01-10 17:53:01] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 17:53:01] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 17:53:01] [INFO]   -> Found value: 20260003462
[2026-01-10 17:53:01] [INFO]   -> Set field 'policeReportNumber' = "20260003462"
[2026-01-10 17:53:01] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 17:53:01] [INFO]   -> Found value: Event spawned from PUBLIC ASSIST.  [01/10/2026 11:52:44 DSTEPHENS] UDTS: UNIT DIRECT  [01/10/26 11:5...
[2026-01-10 17:53:01] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from PUBLIC ASSIST.  [01\/10\/2026 11:52:44 DSTEPHENS] UDTS: UNIT DIRECT  [01\/10\/26 11:51:33 KELLIS] donald vinson 07\/09\/1951 needs assistance out of chair into his wheelchair  [01\/10\/26 11:33:29 KELLIS]]"
[2026-01-10 17:53:01] [INFO]   -> Set field 'cADLog' = "Event spawned from PUBLIC ASSIST.  [01\/10\/2026 11:52:44 DSTEPHENS] UDTS: UNIT DIRECT  [01\/10\/26 11:51:33 KELLIS] donald vinson 07\/09\/1951 needs assistance out of chair into his wheelchair  [01\/10\/26 11:33:29 KELLIS]]"
[2026-01-10 17:53:01] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 17:53:01] [INFO]   -> Found value: ALGOOD
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-10 17:53:01] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 17:53:01] [INFO]   -> Found value: QUINLAND LAKE
[2026-01-10 17:53:01] [INFO]   -> Set field 'streetName' = "QUINLAND LAKE"
[2026-01-10 17:53:01] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 17:53:01] [INFO]   -> Found value: CT
[2026-01-10 17:53:01] [INFO]   -> Set field 'streetType' = "CT"
[2026-01-10 17:53:01] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 17:53:01] [INFO]   -> Found value: 300-B4 QUINLAND LAKE CT
[2026-01-10 17:53:01] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "300-B4 QUINLAND LAKE CT"
[2026-01-10 17:53:01] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-10 17:53:01] [INFO] Concatenating street name and type
[2026-01-10 17:53:01] [INFO]   -> Combined street name: QUINLAND LAKE CT
[2026-01-10 17:53:01] [INFO] Built locationCoordinates from lat/lng: 36.19856,-85.45771
[2026-01-10 17:53:01] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000011","dispatchRunNumber":"2026000011","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":300,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"incidentLocationApt":"B4","nERISIncidentLatitude":36.1985600000000005138645065017044544219970703125,"nERISIncidentLongitude":-85.4577100000000058344085118733346462249755859375,"alarm":"2026-01-10 11:52:44","dispatched":"2026-01-10 11:52:53","enroute":"2026-01-10 11:52:53","incidentLocationCross":"QUINLAND LAKE RD","cADVehicleID":"A1200","timedispatch":"2026-01-10 11:52:53","timeenroutetoscene":"2026-01-10 11:52:53","policeReportNumber":"20260003462","dispatchNotes":"Event spawned from PUBLIC ASSIST.  [01\/10\/2026 11:52:44 DSTEPHENS] UDTS: UNIT DIRECT  [01\/10\/26 11:51:33 KELLIS] donald vinson 07\/09\/1951 needs assistance out of chair into his wheelchair  [01\/10\/26 11:33:29 KELLIS]]","cADLog":"Event spawned from PUBLIC ASSIST.  [01\/10\/2026 11:52:44 DSTEPHENS] UDTS: UNIT DIRECT  [01\/10\/26 11:51:33 KELLIS] donald vinson 07\/09\/1951 needs assistance out of chair into his wheelchair  [01\/10\/26 11:33:29 KELLIS]]","incidentLocationCity":"ALGOOD","streetName":"QUINLAND LAKE CT","incidentAddressTextVersionStreet":"300-B4 QUINLAND LAKE CT","locationCoordinates":"36.19856,-85.45771"}
[2026-01-10 17:53:01] [INFO] Number of extracted fields: 24
[2026-01-10 17:53:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-01-10 17:53:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-10 17:53:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-01-10 17:53:01] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-10 17:53:02] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-10 17:53:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-10 17:53:02] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-10 17:53:02] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-10 17:53:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-10 17:53:02] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-01-10 17:53:02] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-10 17:53:02] [INFO] Found existing IncidentTypeMapping with ID: 69471182900dbaefb
[2026-01-10 17:53:07] [INFO] Created new Dispatches record with ID: 696291fed17fd0f99
[2026-01-10 17:53:07] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003462_20260110_175301.XML
[2026-01-10 17:53:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003462_20260110_175301.XML
[2026-01-10 18:07:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003465_20260110_180731.XML
[2026-01-10 18:07:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003465_20260110_180731.XML for user: 68f1466aed072ad4a
[2026-01-10 18:07:31] [INFO] File size: 5052 bytes
[2026-01-10 18:07:32] [INFO] Created FTPFiles record with ID: 69629563eef4f64ae
[2026-01-10 18:07:32] [INFO] About to extract fields from XML. File size: 5052 bytes
[2026-01-10 18:07:32] [INFO] Number of mappings: 28
[2026-01-10 18:07:32] [INFO] Starting XML parsing. Content length: 5052
[2026-01-10 18:07:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 18:07:32] [INFO] Processing 28 field mappings
[2026-01-10 18:07:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 18:07:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 18:07:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 18:07:32] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-10 18:07:32] [INFO]   -> Found value: MFD
EMS
[2026-01-10 18:07:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2026-01-10 18:07:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 18:07:32] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-10 18:07:32] [INFO]   -> Found value: 2026000008
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentInternalId' = "2026000008"
[2026-01-10 18:07:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000008"
[2026-01-10 18:07:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 18:07:32] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-10 18:07:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 18:07:32] [INFO]   -> Found value: 1020
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-10 18:07:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 18:07:32] [INFO]   -> Found value: TN
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 18:07:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 18:07:32] [INFO]   -> Found value: 38574
[2026-01-10 18:07:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-10 18:07:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 18:07:32] [INFO]   -> Found value: 36
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-10 18:07:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 18:07:32] [INFO]   -> Found value: 36.15501
[2026-01-10 18:07:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-10 18:07:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 18:07:32] [INFO]   -> Found value: -85.25652
[2026-01-10 18:07:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-10 18:07:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 18:07:32] [INFO]   -> Found value: 2026-01-10 12:06:14
[2026-01-10 18:07:32] [INFO]   -> Set field 'alarm' = "2026-01-10 12:06:14"
[2026-01-10 18:07:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 18:07:32] [INFO]   -> Found value: 2026-01-10 12:07:25
[2026-01-10 18:07:32] [INFO]   -> Set field 'dispatched' = "2026-01-10 12:07:25"
[2026-01-10 18:07:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 18:07:32] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-10 18:07:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 18:07:32] [INFO]   -> Found value: MFR
[2026-01-10 18:07:32] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-10 18:07:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 18:07:32] [INFO]   -> Found value: 2026-01-10 12:07:25
[2026-01-10 18:07:32] [INFO]   -> Set field 'timedispatch' = "2026-01-10 12:07:25"
[2026-01-10 18:07:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 18:07:32] [INFO]   -> No value found (null or empty)
[2026-01-10 18:07:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 18:07:32] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 18:07:32] [INFO]   -> Found value: 20260003465
[2026-01-10 18:07:32] [INFO]   -> Set field 'policeReportNumber' = "20260003465"
[2026-01-10 18:07:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 18:07:32] [INFO]   -> Found value: [EMS] BEVERLY BLAIR//64 YOF  [01/10/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [0...
[2026-01-10 18:07:32] [INFO]   -> Set field 'dispatchNotes' = "[EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]"
[2026-01-10 18:07:32] [INFO]   -> Set field 'cADLog' = "[EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]"
[2026-01-10 18:07:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 18:07:32] [INFO]   -> Found value: MONTEREY
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-10 18:07:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 18:07:32] [INFO]   -> Found value: CHESTNUT
[2026-01-10 18:07:32] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-10 18:07:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 18:07:32] [INFO]   -> Found value: ST
[2026-01-10 18:07:32] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-10 18:07:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 18:07:32] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-10 18:07:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-10 18:07:32] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 18:07:32] [INFO] Concatenating street name and type
[2026-01-10 18:07:32] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-10 18:07:32] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-10 18:07:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2026000008","dispatchRunNumber":"2026000008","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-10 12:06:14","dispatched":"2026-01-10 12:07:25","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"MFR","timedispatch":"2026-01-10 12:07:25","policeReportNumber":"20260003465","dispatchNotes":"[EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]","cADLog":"[EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-10 18:07:32] [INFO] Number of extracted fields: 22
[2026-01-10 18:07:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2026-01-10 18:07:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-10 18:07:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2026-01-10 18:07:32] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-10 18:07:32] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-10 18:07:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-10 18:07:32] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-10 18:07:32] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-10 18:07:32] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-10 18:07:32] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-10 18:07:32] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-10 18:07:32] [INFO] Found existing IncidentTypeMapping with ID: 694c0ab27eb6ebd01
[2026-01-10 18:07:34] [INFO] Created new Dispatches record with ID: 69629564dd95330d9
[2026-01-10 18:07:34] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003465_20260110_180731.XML
[2026-01-10 18:07:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003465_20260110_180731.XML
[2026-01-10 18:08:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003466_20260110_180801.XML
[2026-01-10 18:08:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003466_20260110_180801.XML for user: 68f1466aed072ad4a
[2026-01-10 18:08:01] [INFO] File size: 5390 bytes
[2026-01-10 18:08:01] [INFO] Created FTPFiles record with ID: 69629581d8cbab7e6
[2026-01-10 18:08:01] [INFO] About to extract fields from XML. File size: 5390 bytes
[2026-01-10 18:08:01] [INFO] Number of mappings: 28
[2026-01-10 18:08:01] [INFO] Starting XML parsing. Content length: 5390
[2026-01-10 18:08:01] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 18:08:01] [INFO] Processing 28 field mappings
[2026-01-10 18:08:01] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 18:08:01] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 18:08:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 18:08:01] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-10 18:08:01] [INFO]   -> Found value: PCFD
EMS
MFD
[2026-01-10 18:08:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD"
[2026-01-10 18:08:01] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 18:08:01] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-10 18:08:01] [INFO]   -> Found value: 2026000077
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentInternalId' = "2026000077"
[2026-01-10 18:08:01] [INFO]   -> Set field 'dispatchRunNumber' = "2026000077"
[2026-01-10 18:08:01] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 18:08:01] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-10 18:08:01] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 18:08:01] [INFO]   -> Found value: 1020
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-10 18:08:01] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 18:08:01] [INFO]   -> Found value: TN
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 18:08:01] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 18:08:01] [INFO]   -> Found value: 38574
[2026-01-10 18:08:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-10 18:08:01] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 18:08:01] [INFO]   -> Found value: 36
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-10 18:08:01] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 18:08:01] [INFO]   -> Found value: 36.15501
[2026-01-10 18:08:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-10 18:08:01] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 18:08:01] [INFO]   -> Found value: -85.25652
[2026-01-10 18:08:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-10 18:08:01] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 18:08:01] [INFO]   -> Found value: 2026-01-10 12:07:54
[2026-01-10 18:08:01] [INFO]   -> Set field 'alarm' = "2026-01-10 12:07:54"
[2026-01-10 18:08:01] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 18:08:01] [INFO]   -> Found value: 2026-01-10 12:07:54
[2026-01-10 18:08:01] [INFO]   -> Set field 'dispatched' = "2026-01-10 12:07:54"
[2026-01-10 18:08:01] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 18:08:01] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-10 18:08:01] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 18:08:01] [INFO]   -> Found value: PCFR
[2026-01-10 18:08:01] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-10 18:08:01] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 18:08:01] [INFO]   -> Found value: 2026-01-10 12:07:54
[2026-01-10 18:08:01] [INFO]   -> Set field 'timedispatch' = "2026-01-10 12:07:54"
[2026-01-10 18:08:01] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 18:08:01] [INFO]   -> No value found (null or empty)
[2026-01-10 18:08:01] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 18:08:01] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 18:08:01] [INFO]   -> Found value: 20260003466
[2026-01-10 18:08:01] [INFO]   -> Set field 'policeReportNumber' = "20260003466"
[2026-01-10 18:08:01] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 18:08:01] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/10/2026 12:07:54 KHILL] [EMS] WALKED TO NEIGHBOR AND ASK...
[2026-01-10 18:08:01] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:07:54 KHILL] [EMS] WALKED TO NEIGHBOR AND ASKED HER TO CALL 911  [01\/10\/26 12:07:35 KMORGAN2] [EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]"
[2026-01-10 18:08:01] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:07:54 KHILL] [EMS] WALKED TO NEIGHBOR AND ASKED HER TO CALL 911  [01\/10\/26 12:07:35 KMORGAN2] [EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]"
[2026-01-10 18:08:01] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 18:08:01] [INFO]   -> Found value: MONTEREY
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-10 18:08:01] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 18:08:01] [INFO]   -> Found value: CHESTNUT
[2026-01-10 18:08:01] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-10 18:08:01] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 18:08:01] [INFO]   -> Found value: ST
[2026-01-10 18:08:01] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-10 18:08:01] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 18:08:01] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-10 18:08:01] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-10 18:08:01] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 18:08:01] [INFO] Concatenating street name and type
[2026-01-10 18:08:01] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-10 18:08:01] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-10 18:08:01] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD","incidentInternalId":"2026000077","dispatchRunNumber":"2026000077","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-10 12:07:54","dispatched":"2026-01-10 12:07:54","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"PCFR","timedispatch":"2026-01-10 12:07:54","policeReportNumber":"20260003466","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:07:54 KHILL] [EMS] WALKED TO NEIGHBOR AND ASKED HER TO CALL 911  [01\/10\/26 12:07:35 KMORGAN2] [EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:07:54 KHILL] [EMS] WALKED TO NEIGHBOR AND ASKED HER TO CALL 911  [01\/10\/26 12:07:35 KMORGAN2] [EMS] BEVERLY BLAIR\/\/64 YOF  [01\/10\/26 12:07:01 KMORGAN2] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 12:06:14 KMORGAN2]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-10 18:08:01] [INFO] Number of extracted fields: 22
[2026-01-10 18:08:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD'
[2026-01-10 18:08:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD', Parsed IDs = ["PCFD","EMS","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-10 18:08:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD"]
[2026-01-10 18:08:01] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-10 18:08:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-10 18:08:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD"]
[2026-01-10 18:08: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-10 18:08: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-10 18:08:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-10 18:08:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-10 18:08:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-10 18:08:02] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-10 18:08:11] [INFO] Created new Dispatches record with ID: 69629582a4ceb1a88
[2026-01-10 18:08:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003466_20260110_180801.XML
[2026-01-10 18:08:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003466_20260110_180801.XML
[2026-01-10 18:27:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:27:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:27:11] [INFO] File size: 16438 bytes
[2026-01-10 18:27:11] [INFO] Created FTPFiles record with ID: 696299ff629a73235
[2026-01-10 18:27:11] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:27:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:27:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:27:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:27:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:27:58] [INFO] File size: 18675 bytes
[2026-01-10 18:27:58] [INFO] Created FTPFiles record with ID: 69629a2e8807ba65d
[2026-01-10 18:27:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:27:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:27:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:28:07] [INFO] File size: 19627 bytes
[2026-01-10 18:28:07] [INFO] Created FTPFiles record with ID: 69629a378acc4d69f
[2026-01-10 18:28:07] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:28:07] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:28:32] [INFO] File size: 21213 bytes
[2026-01-10 18:28:32] [INFO] Created FTPFiles record with ID: 69629a50a281bca86
[2026-01-10 18:28:32] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:28:32] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:28:41] [INFO] File size: 22167 bytes
[2026-01-10 18:28:41] [INFO] Created FTPFiles record with ID: 69629a59a41ca463e
[2026-01-10 18:28:41] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:28:41] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:28:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:30:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:30:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:30:49] [INFO] File size: 25991 bytes
[2026-01-10 18:30:50] [INFO] Created FTPFiles record with ID: 69629ada09e7f35d7
[2026-01-10 18:30:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:30:50] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:30:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:31:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:31:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:31:16] [INFO] File size: 26947 bytes
[2026-01-10 18:31:17] [INFO] Created FTPFiles record with ID: 69629af5269d051b1
[2026-01-10 18:31:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:31:17] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:31:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:32:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:32:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:32:30] [INFO] File size: 27914 bytes
[2026-01-10 18:32:31] [INFO] Created FTPFiles record with ID: 69629b3ef161c3479
[2026-01-10 18:32:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:32:31] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:32:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:33:17] [INFO] File size: 29528 bytes
[2026-01-10 18:33:17] [INFO] Created FTPFiles record with ID: 69629b6de7bd1995d
[2026-01-10 18:33:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:33:17] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:33:28] [INFO] File size: 30481 bytes
[2026-01-10 18:33:28] [INFO] Created FTPFiles record with ID: 69629b788df1d9934
[2026-01-10 18:33:28] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:33:28] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:33:47] [INFO] File size: 31482 bytes
[2026-01-10 18:33:47] [INFO] Created FTPFiles record with ID: 69629b8b9dba1a2e3
[2026-01-10 18:33:47] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:33:47] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:33:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:34:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:34:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:34:20] [INFO] File size: 32476 bytes
[2026-01-10 18:34:20] [INFO] Created FTPFiles record with ID: 69629bacc05145bae
[2026-01-10 18:34:20] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:34:20] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:34:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:34:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:34:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:34:45] [INFO] File size: 33423 bytes
[2026-01-10 18:34:45] [INFO] Created FTPFiles record with ID: 69629bc5ee2816bfd
[2026-01-10 18:34:45] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:34:45] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:34:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:51:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:51:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 18:51:36] [INFO] File size: 34419 bytes
[2026-01-10 18:51:39] [INFO] Created FTPFiles record with ID: 69629fbb8f99dec82
[2026-01-10 18:51:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 18:51:39] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:51:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 18:52:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003479_20260110_185212.XML
[2026-01-10 18:52:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003479_20260110_185212.XML for user: 68f1466aed072ad4a
[2026-01-10 18:52:12] [INFO] File size: 4905 bytes
[2026-01-10 18:52:12] [INFO] Created FTPFiles record with ID: 69629fdca98b6d28f
[2026-01-10 18:52:12] [INFO] About to extract fields from XML. File size: 4905 bytes
[2026-01-10 18:52:12] [INFO] Number of mappings: 28
[2026-01-10 18:52:12] [INFO] Starting XML parsing. Content length: 4905
[2026-01-10 18:52:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 18:52:12] [INFO] Processing 28 field mappings
[2026-01-10 18:52:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 18:52:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 18:52:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 18:52:12] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-10 18:52:12] [INFO]   -> Found value: MFD
PCSO
EMS
RESC
[2026-01-10 18:52:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nPCSO\nEMS\nRESC"
[2026-01-10 18:52:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 18:52:12] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-10 18:52:12] [INFO]   -> Found value: 2026000009
[2026-01-10 18:52:12] [INFO]   -> Set field 'incidentInternalId' = "2026000009"
[2026-01-10 18:52:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000009"
[2026-01-10 18:52:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 18:52:12] [INFO]   -> Found value: MEDICAL CALL
[2026-01-10 18:52:12] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-01-10 18:52:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 18:52:12] [INFO]   -> Found value: 509
[2026-01-10 18:52:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 509
[2026-01-10 18:52:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 18:52:12] [INFO]   -> Found value: TN
[2026-01-10 18:52:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 18:52:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 18:52:12] [INFO]   -> Found value: 38574
[2026-01-10 18:52:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-10 18:52:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 18:52:12] [INFO]   -> Found value: MONTEREY SHELL
[2026-01-10 18:52:12] [INFO]   -> Set field 'businessName' = "MONTEREY SHELL"
[2026-01-10 18:52:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 18:52:12] [INFO]   -> Found value: 36.14006
[2026-01-10 18:52:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14005999999999829697117093019187450408935546875
[2026-01-10 18:52:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 18:52:12] [INFO]   -> Found value: -85.26762
[2026-01-10 18:52:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.267619999999993751771398819983005523681640625
[2026-01-10 18:52:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 18:52:12] [INFO]   -> Found value: 2026-01-10 12:51:08
[2026-01-10 18:52:12] [INFO]   -> Set field 'alarm' = "2026-01-10 12:51:08"
[2026-01-10 18:52:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 18:52:12] [INFO]   -> Found value: 2026-01-10 12:52:08
[2026-01-10 18:52:12] [INFO]   -> Set field 'dispatched' = "2026-01-10 12:52:08"
[2026-01-10 18:52:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 18:52:12] [INFO]   -> Found value: AGEE ST/INDUSTRIAL DR
[2026-01-10 18:52:12] [INFO]   -> Set field 'incidentLocationCross' = "AGEE ST\/INDUSTRIAL DR"
[2026-01-10 18:52:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 18:52:12] [INFO]   -> Found value: MFR
[2026-01-10 18:52:12] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-10 18:52:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 18:52:12] [INFO]   -> Found value: 2026-01-10 12:52:08
[2026-01-10 18:52:12] [INFO]   -> Set field 'timedispatch' = "2026-01-10 12:52:08"
[2026-01-10 18:52:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 18:52:12] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 18:52:12] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 18:52:12] [INFO]   -> Found value: 20260003479
[2026-01-10 18:52:12] [INFO]   -> Set field 'policeReportNumber' = "20260003479"
[2026-01-10 18:52:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 18:52:12] [INFO]   -> Found value: [EMS] UDTS: CARD SEEN BY 911  [01/10/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [...
[2026-01-10 18:52:12] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]"
[2026-01-10 18:52:12] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]"
[2026-01-10 18:52:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 18:52:12] [INFO]   -> Found value: MONTEREY
[2026-01-10 18:52:12] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-10 18:52:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 18:52:12] [INFO]   -> Found value: STRATTON
[2026-01-10 18:52:12] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-01-10 18:52:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 18:52:12] [INFO]   -> Found value: AVE
[2026-01-10 18:52:12] [INFO]   -> Set field 'streetType' = "AVE"
[2026-01-10 18:52:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 18:52:12] [INFO]   -> Found value: 509 E STRATTON AVE
[2026-01-10 18:52:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "509 E STRATTON AVE"
[2026-01-10 18:52:12] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 18:52:12] [INFO] Concatenating street name and type
[2026-01-10 18:52:12] [INFO]   -> Combined street name: STRATTON AVE
[2026-01-10 18:52:12] [INFO] Built locationCoordinates from lat/lng: 36.14006,-85.26762
[2026-01-10 18:52:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nPCSO\nEMS\nRESC","incidentInternalId":"2026000009","dispatchRunNumber":"2026000009","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":509,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY SHELL","nERISIncidentLatitude":36.14005999999999829697117093019187450408935546875,"nERISIncidentLongitude":-85.267619999999993751771398819983005523681640625,"alarm":"2026-01-10 12:51:08","dispatched":"2026-01-10 12:52:08","incidentLocationCross":"AGEE ST\/INDUSTRIAL DR","cADVehicleID":"MFR","timedispatch":"2026-01-10 12:52:08","policeReportNumber":"20260003479","dispatchNotes":"[EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]","cADLog":"[EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"509 E STRATTON AVE","locationCoordinates":"36.14006,-85.26762"}
[2026-01-10 18:52:12] [INFO] Number of extracted fields: 22
[2026-01-10 18:52:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
PCSO
EMS
RESC'
[2026-01-10 18:52:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
PCSO
EMS
RESC', Parsed IDs = ["MFD","PCSO","EMS","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-10 18:52:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","PCSO","EMS","RESC"]
[2026-01-10 18:52:12] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-10 18:52:12] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-10 18:52:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","RESC"]
[2026-01-10 18:52:13] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-10 18:52:13] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-10 18:52:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-10 18:52:13] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-10 18:52:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-10 18:52:13] [INFO] Found existing IncidentTypeMapping with ID: 694495243a91eaccb
[2026-01-10 18:52:15] [INFO] Created new Dispatches record with ID: 69629fdd90b94df4f
[2026-01-10 18:52:15] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003479_20260110_185212.XML
[2026-01-10 18:52:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003479_20260110_185212.XML
[2026-01-10 18:52:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003481_20260110_185242.XML
[2026-01-10 18:52:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003481_20260110_185242.XML for user: 68f1466aed072ad4a
[2026-01-10 18:52:42] [INFO] File size: 5326 bytes
[2026-01-10 18:52:42] [INFO] Created FTPFiles record with ID: 69629ffaee1d5d1ed
[2026-01-10 18:52:42] [INFO] About to extract fields from XML. File size: 5326 bytes
[2026-01-10 18:52:42] [INFO] Number of mappings: 28
[2026-01-10 18:52:42] [INFO] Starting XML parsing. Content length: 5326
[2026-01-10 18:52:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 18:52:42] [INFO] Processing 28 field mappings
[2026-01-10 18:52:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 18:52:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 18:52:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 18:52:42] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-01-10 18:52:42] [INFO]   -> Found value: PCFD
PCSO
EMS
MFD
RESC
[2026-01-10 18:52:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS\nMFD\nRESC"
[2026-01-10 18:52:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 18:52:42] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-01-10 18:52:42] [INFO]   -> Found value: 2026000078
[2026-01-10 18:52:42] [INFO]   -> Set field 'incidentInternalId' = "2026000078"
[2026-01-10 18:52:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000078"
[2026-01-10 18:52:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 18:52:42] [INFO]   -> Found value: MEDICAL CALL
[2026-01-10 18:52:42] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-01-10 18:52:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 18:52:42] [INFO]   -> Found value: 509
[2026-01-10 18:52:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 509
[2026-01-10 18:52:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 18:52:42] [INFO]   -> Found value: TN
[2026-01-10 18:52:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 18:52:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 18:52:42] [INFO]   -> Found value: 38574
[2026-01-10 18:52:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-10 18:52:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 18:52:42] [INFO]   -> Found value: MONTEREY SHELL
[2026-01-10 18:52:42] [INFO]   -> Set field 'businessName' = "MONTEREY SHELL"
[2026-01-10 18:52:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 18:52:42] [INFO]   -> Found value: 36.14006
[2026-01-10 18:52:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14005999999999829697117093019187450408935546875
[2026-01-10 18:52:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 18:52:42] [INFO]   -> Found value: -85.26762
[2026-01-10 18:52:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.267619999999993751771398819983005523681640625
[2026-01-10 18:52:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 18:52:42] [INFO]   -> Found value: 2026-01-10 12:52:33
[2026-01-10 18:52:42] [INFO]   -> Set field 'alarm' = "2026-01-10 12:52:33"
[2026-01-10 18:52:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 18:52:42] [INFO]   -> Found value: 2026-01-10 12:52:33
[2026-01-10 18:52:42] [INFO]   -> Set field 'dispatched' = "2026-01-10 12:52:33"
[2026-01-10 18:52:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 18:52:42] [INFO]   -> Found value: AGEE ST/INDUSTRIAL DR
[2026-01-10 18:52:42] [INFO]   -> Set field 'incidentLocationCross' = "AGEE ST\/INDUSTRIAL DR"
[2026-01-10 18:52:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 18:52:42] [INFO]   -> Found value: PCFR
[2026-01-10 18:52:42] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-10 18:52:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 18:52:42] [INFO]   -> Found value: 2026-01-10 12:52:33
[2026-01-10 18:52:42] [INFO]   -> Set field 'timedispatch' = "2026-01-10 12:52:33"
[2026-01-10 18:52:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 18:52:42] [INFO]   -> No value found (null or empty)
[2026-01-10 18:52:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 18:52:42] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 18:52:42] [INFO]   -> Found value: 20260003481
[2026-01-10 18:52:42] [INFO]   -> Set field 'policeReportNumber' = "20260003481"
[2026-01-10 18:52:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 18:52:42] [INFO]   -> Found value: Event spawned from MEDICAL CALL.  [01/10/2026 12:52:33 KHILL] [EMS] UDTS: CARD SEEN BY 911  [01/10/2...
[2026-01-10 18:52:42] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MEDICAL CALL.  [01\/10\/2026 12:52:33 KHILL] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:52:24 KMORGAN2] [LAW] FEMALE ADVISING SHE WAS HAVING CHEST PAINS  [01\/10\/26 12:52:14 BLAFEVERSMITH] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]"
[2026-01-10 18:52:42] [INFO]   -> Set field 'cADLog' = "Event spawned from MEDICAL CALL.  [01\/10\/2026 12:52:33 KHILL] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:52:24 KMORGAN2] [LAW] FEMALE ADVISING SHE WAS HAVING CHEST PAINS  [01\/10\/26 12:52:14 BLAFEVERSMITH] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]"
[2026-01-10 18:52:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 18:52:42] [INFO]   -> Found value: MONTEREY
[2026-01-10 18:52:42] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-10 18:52:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 18:52:42] [INFO]   -> Found value: STRATTON
[2026-01-10 18:52:42] [INFO]   -> Set field 'streetName' = "STRATTON"
[2026-01-10 18:52:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 18:52:42] [INFO]   -> Found value: AVE
[2026-01-10 18:52:42] [INFO]   -> Set field 'streetType' = "AVE"
[2026-01-10 18:52:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 18:52:42] [INFO]   -> Found value: 509 E STRATTON AVE
[2026-01-10 18:52:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "509 E STRATTON AVE"
[2026-01-10 18:52:42] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 18:52:42] [INFO] Concatenating street name and type
[2026-01-10 18:52:42] [INFO]   -> Combined street name: STRATTON AVE
[2026-01-10 18:52:42] [INFO] Built locationCoordinates from lat/lng: 36.14006,-85.26762
[2026-01-10 18:52:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS\nMFD\nRESC","incidentInternalId":"2026000078","dispatchRunNumber":"2026000078","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":509,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"MONTEREY SHELL","nERISIncidentLatitude":36.14005999999999829697117093019187450408935546875,"nERISIncidentLongitude":-85.267619999999993751771398819983005523681640625,"alarm":"2026-01-10 12:52:33","dispatched":"2026-01-10 12:52:33","incidentLocationCross":"AGEE ST\/INDUSTRIAL DR","cADVehicleID":"PCFR","timedispatch":"2026-01-10 12:52:33","policeReportNumber":"20260003481","dispatchNotes":"Event spawned from MEDICAL CALL.  [01\/10\/2026 12:52:33 KHILL] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:52:24 KMORGAN2] [LAW] FEMALE ADVISING SHE WAS HAVING CHEST PAINS  [01\/10\/26 12:52:14 BLAFEVERSMITH] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]","cADLog":"Event spawned from MEDICAL CALL.  [01\/10\/2026 12:52:33 KHILL] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:52:24 KMORGAN2] [LAW] FEMALE ADVISING SHE WAS HAVING CHEST PAINS  [01\/10\/26 12:52:14 BLAFEVERSMITH] [EMS] UDTS: CARD SEEN BY 911  [01\/10\/26 12:51:13 KMORGAN2] Event spawned from EMS EMERGENCY CALL.  [01\/10\/2026 12:51:08 KHILL] Event spawned from EMS ASSIST.  [01\/10\/2026 12:50:46 GTRUEMAN] {P3394} REQU EMS 1033 FEMALE STATING SHE IS HAVING MEDICAL EMERGENCY  [01\/10\/26 12:50:40 GTRUEMAN]","incidentLocationCity":"MONTEREY","streetName":"STRATTON AVE","incidentAddressTextVersionStreet":"509 E STRATTON AVE","locationCoordinates":"36.14006,-85.26762"}
[2026-01-10 18:52:42] [INFO] Number of extracted fields: 22
[2026-01-10 18:52:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS
MFD
RESC'
[2026-01-10 18:52:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS
MFD
RESC', Parsed IDs = ["PCFD","PCSO","EMS","MFD","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-01-10 18:52:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS","MFD","RESC"]
[2026-01-10 18:52:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-10 18:52:43] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-10 18:52:43] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS","MFD","RESC"]
[2026-01-10 18:52:43] [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-10 18:52:43] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-10 18:52:43] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-01-10 18:52:43] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-10 18:52:43] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-10 18:52:43] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-01-10 18:52:50] [INFO] Created new Dispatches record with ID: 69629ffbb1eb37af9
[2026-01-10 18:52:50] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003481_20260110_185242.XML
[2026-01-10 18:52:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003481_20260110_185242.XML
[2026-01-10 19:01:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:01:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 19:01:46] [INFO] File size: 35376 bytes
[2026-01-10 19:01:46] [INFO] Created FTPFiles record with ID: 6962a21ab3173fc78
[2026-01-10 19:01:46] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 19:01:46] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:01:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:12:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:12:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 19:12:44] [INFO] File size: 43520 bytes
[2026-01-10 19:12:44] [INFO] Created FTPFiles record with ID: 6962a4aca3328fd13
[2026-01-10 19:12:44] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 19:12:44] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:12:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:13:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:13:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml for user: 69320e6a9e3e5ef71
[2026-01-10 19:13:56] [INFO] File size: 45111 bytes
[2026-01-10 19:13:57] [INFO] Created FTPFiles record with ID: 6962a4f50c9929d51
[2026-01-10 19:13:57] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-10 19:13:57] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:13:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-002089.xml
[2026-01-10 19:52:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003498_20260110_195223.XML
[2026-01-10 19:52:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003498_20260110_195223.XML for user: 68f1466aed072ad4a
[2026-01-10 19:52:23] [INFO] File size: 4735 bytes
[2026-01-10 19:52:23] [INFO] Created FTPFiles record with ID: 6962adf7ca8140445
[2026-01-10 19:52:23] [INFO] About to extract fields from XML. File size: 4735 bytes
[2026-01-10 19:52:23] [INFO] Number of mappings: 28
[2026-01-10 19:52:23] [INFO] Starting XML parsing. Content length: 4735
[2026-01-10 19:52:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 19:52:23] [INFO] Processing 28 field mappings
[2026-01-10 19:52:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 19:52:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 19:52:23] [INFO]   -> Found value: BFD
[2026-01-10 19:52:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-01-10 19:52:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026000015
[2026-01-10 19:52:23] [INFO]   -> Set field 'incidentInternalId' = "2026000015"
[2026-01-10 19:52:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000015"
[2026-01-10 19:52:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 19:52:23] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-01-10 19:52:23] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-01-10 19:52:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 19:52:23] [INFO]   -> Found value: 702
[2026-01-10 19:52:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 702
[2026-01-10 19:52:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 19:52:23] [INFO]   -> Found value: TN
[2026-01-10 19:52:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 19:52:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 19:52:23] [INFO]   -> Found value: 38544
[2026-01-10 19:52:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-10 19:52:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 19:52:23] [INFO]   -> No value found (null or empty)
[2026-01-10 19:52:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 19:52:23] [INFO]   -> No value found (null or empty)
[2026-01-10 19:52:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 19:52:23] [INFO]   -> Found value: 36.15382
[2026-01-10 19:52:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15382000000000317641024594195187091827392578125
[2026-01-10 19:52:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 19:52:23] [INFO]   -> Found value: -85.63303
[2026-01-10 19:52:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6330300000000050886228564195334911346435546875
[2026-01-10 19:52:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026-01-10 13:50:42
[2026-01-10 19:52:23] [INFO]   -> Set field 'alarm' = "2026-01-10 13:50:42"
[2026-01-10 19:52:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026-01-10 13:52:19
[2026-01-10 19:52:23] [INFO]   -> Set field 'dispatched' = "2026-01-10 13:52:19"
[2026-01-10 19:52:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026-01-10 13:52:19
[2026-01-10 19:52:23] [INFO]   -> Set field 'enroute' = "2026-01-10 13:52:19"
[2026-01-10 19:52:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026-01-10 13:52:19
[2026-01-10 19:52:23] [INFO]   -> Set field 'onScene' = "2026-01-10 13:52:19"
[2026-01-10 19:52:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 19:52:23] [INFO]   -> No value found (null or empty)
[2026-01-10 19:52:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 19:52:23] [INFO]   -> Found value: SIXTH AVE S/SEVENTH AVE S
[2026-01-10 19:52:23] [INFO]   -> Set field 'incidentLocationCross' = "SIXTH AVE S\/SEVENTH AVE S"
[2026-01-10 19:52:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 19:52:23] [INFO]   -> Found value: B1196
[2026-01-10 19:52:23] [INFO]   -> Set field 'cADVehicleID' = "B1196"
[2026-01-10 19:52:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026-01-10 13:52:19
[2026-01-10 19:52:23] [INFO]   -> Set field 'timedispatch' = "2026-01-10 13:52:19"
[2026-01-10 19:52:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026-01-10 13:52:19
[2026-01-10 19:52:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-10 13:52:19"
[2026-01-10 19:52:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 19:52:23] [INFO]   -> Found value: 2026-01-10 13:52:19
[2026-01-10 19:52:23] [INFO]   -> Set field 'timeonscene' = "2026-01-10 13:52:19"
[2026-01-10 19:52:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 19:52:23] [INFO]   -> No value found (null or empty)
[2026-01-10 19:52:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 19:52:23] [INFO]   -> No value found (null or empty)
[2026-01-10 19:52:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 19:52:23] [INFO]   -> Found value: 20260003498
[2026-01-10 19:52:23] [INFO]   -> Set field 'policeReportNumber' = "20260003498"
[2026-01-10 19:52:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 19:52:23] [INFO]   -> No value found (null or empty)
[2026-01-10 19:52:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 19:52:23] [INFO]   -> Found value: BAXTER
[2026-01-10 19:52:23] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-10 19:52:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 19:52:23] [INFO]   -> Found value: BUFFALO VALLEY
[2026-01-10 19:52:23] [INFO]   -> Set field 'streetName' = "BUFFALO VALLEY"
[2026-01-10 19:52:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 19:52:23] [INFO]   -> Found value: RD
[2026-01-10 19:52:23] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-10 19:52:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 19:52:23] [INFO]   -> Found value: 702 BUFFALO VALLEY RD
[2026-01-10 19:52:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "702 BUFFALO VALLEY RD"
[2026-01-10 19:52:23] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-10 19:52:23] [INFO] Concatenating street name and type
[2026-01-10 19:52:23] [INFO]   -> Combined street name: BUFFALO VALLEY RD
[2026-01-10 19:52:23] [INFO] Built locationCoordinates from lat/lng: 36.15382,-85.63303
[2026-01-10 19:52:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000015","dispatchRunNumber":"2026000015","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":702,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.15382000000000317641024594195187091827392578125,"nERISIncidentLongitude":-85.6330300000000050886228564195334911346435546875,"alarm":"2026-01-10 13:50:42","dispatched":"2026-01-10 13:52:19","enroute":"2026-01-10 13:52:19","onScene":"2026-01-10 13:52:19","incidentLocationCross":"SIXTH AVE S\/SEVENTH AVE S","cADVehicleID":"B1196","timedispatch":"2026-01-10 13:52:19","timeenroutetoscene":"2026-01-10 13:52:19","timeonscene":"2026-01-10 13:52:19","policeReportNumber":"20260003498","incidentLocationCity":"BAXTER","streetName":"BUFFALO VALLEY RD","incidentAddressTextVersionStreet":"702 BUFFALO VALLEY RD","locationCoordinates":"36.15382,-85.63303"}
[2026-01-10 19:52:23] [INFO] Number of extracted fields: 23
[2026-01-10 19:52:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-01-10 19:52:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-10 19:52:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-01-10 19:52:23] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-01-10 19:52:24] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-01-10 19:52:24] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-01-10 19:52:24] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-01-10 19:52:24] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-01-10 19:52:24] [INFO] Found existing IncidentTypeMapping with ID: 6945b179303e94e60
[2026-01-10 19:52:28] [INFO] Created new Dispatches record with ID: 6962adf8b86bde5e8
[2026-01-10 19:52:28] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003498_20260110_195223.XML
[2026-01-10 19:52:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260003498_20260110_195223.XML
[2026-01-10 21:48:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003522_20260110_214815.XML
[2026-01-10 21:48:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003522_20260110_214815.XML for user: 68f1466aed072ad4a
[2026-01-10 21:48:15] [INFO] File size: 5094 bytes
[2026-01-10 21:48:15] [INFO] Created FTPFiles record with ID: 6962c91fdaa0550b1
[2026-01-10 21:48:15] [INFO] About to extract fields from XML. File size: 5094 bytes
[2026-01-10 21:48:15] [INFO] Number of mappings: 28
[2026-01-10 21:48:15] [INFO] Starting XML parsing. Content length: 5094
[2026-01-10 21:48:15] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 21:48:15] [INFO] Processing 28 field mappings
[2026-01-10 21:48:15] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 21:48:15] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 21:48:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 21:48:15] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-01-10 21:48:15] [INFO]   -> Found value: AFD
EMS
[2026-01-10 21:48:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD\nEMS"
[2026-01-10 21:48:15] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 21:48:15] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-10 21:48:15] [INFO]   -> Found value: 2026000012
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentInternalId' = "2026000012"
[2026-01-10 21:48:15] [INFO]   -> Set field 'dispatchRunNumber' = "2026000012"
[2026-01-10 21:48:15] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 21:48:15] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-10 21:48:15] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 21:48:15] [INFO]   -> Found value: 278
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 278
[2026-01-10 21:48:15] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 21:48:15] [INFO]   -> Found value: TN
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 21:48:15] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 21:48:15] [INFO]   -> Found value: 38506
[2026-01-10 21:48:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-10 21:48:15] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 21:48:15] [INFO]   -> Found value: SIGNATURE HEALTHCARE
[2026-01-10 21:48:15] [INFO]   -> Set field 'businessName' = "SIGNATURE HEALTHCARE"
[2026-01-10 21:48:15] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 21:48:15] [INFO]   -> Found value: 404B
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentLocationApt' = "404B"
[2026-01-10 21:48:15] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 21:48:15] [INFO]   -> Found value: 36.18491
[2026-01-10 21:48:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18491000000000212821760214865207672119140625
[2026-01-10 21:48:15] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 21:48:15] [INFO]   -> Found value: -85.45000
[2026-01-10 21:48:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4500000000000028421709430404007434844970703125
[2026-01-10 21:48:15] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 21:48:15] [INFO]   -> Found value: 2026-01-10 15:46:00
[2026-01-10 21:48:15] [INFO]   -> Set field 'alarm' = "2026-01-10 15:46:00"
[2026-01-10 21:48:15] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 21:48:15] [INFO]   -> Found value: 2026-01-10 15:48:11
[2026-01-10 21:48:15] [INFO]   -> Set field 'dispatched' = "2026-01-10 15:48:11"
[2026-01-10 21:48:15] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 21:48:15] [INFO]   -> No value found (null or empty)
[2026-01-10 21:48:15] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 21:48:15] [INFO]   -> No value found (null or empty)
[2026-01-10 21:48:15] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 21:48:15] [INFO]   -> No value found (null or empty)
[2026-01-10 21:48:15] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 21:48:15] [INFO]   -> Found value: WILLIAMS CIR/ELM ST
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentLocationCross' = "WILLIAMS CIR\/ELM ST"
[2026-01-10 21:48:15] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 21:48:15] [INFO]   -> Found value: AFR
[2026-01-10 21:48:15] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-01-10 21:48:15] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 21:48:15] [INFO]   -> Found value: 2026-01-10 15:48:11
[2026-01-10 21:48:15] [INFO]   -> Set field 'timedispatch' = "2026-01-10 15:48:11"
[2026-01-10 21:48:15] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 21:48:15] [INFO]   -> No value found (null or empty)
[2026-01-10 21:48:15] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 21:48:15] [INFO]   -> No value found (null or empty)
[2026-01-10 21:48:15] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 21:48:15] [INFO]   -> No value found (null or empty)
[2026-01-10 21:48:15] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 21:48:15] [INFO]   -> No value found (null or empty)
[2026-01-10 21:48:15] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 21:48:15] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 21:48:15] [INFO]   -> Found value: 20260003522
[2026-01-10 21:48:15] [INFO]   -> Set field 'policeReportNumber' = "20260003522"
[2026-01-10 21:48:15] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 21:48:15] [INFO]   -> Found value: [EMS] NON REBREATHER AT 15LPM  [01/10/26 15:46:55 DSTEPHENS] [EMS] BILL RUTHERFORD  8/26/1941  [01/1...
[2026-01-10 21:48:15] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NON REBREATHER AT 15LPM  [01\/10\/26 15:46:55 DSTEPHENS] [EMS] BILL RUTHERFORD  8\/26\/1941  [01\/10\/26 15:46:31 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 15:46:00 DSTEPHENS]"
[2026-01-10 21:48:15] [INFO]   -> Set field 'cADLog' = "[EMS] NON REBREATHER AT 15LPM  [01\/10\/26 15:46:55 DSTEPHENS] [EMS] BILL RUTHERFORD  8\/26\/1941  [01\/10\/26 15:46:31 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 15:46:00 DSTEPHENS]"
[2026-01-10 21:48:15] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 21:48:15] [INFO]   -> Found value: ALGOOD
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-10 21:48:15] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 21:48:15] [INFO]   -> Found value: DRY VALLEY
[2026-01-10 21:48:15] [INFO]   -> Set field 'streetName' = "DRY VALLEY"
[2026-01-10 21:48:15] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 21:48:15] [INFO]   -> Found value: RD
[2026-01-10 21:48:15] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-10 21:48:15] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 21:48:15] [INFO]   -> Found value: 278-404B DRY VALLEY RD
[2026-01-10 21:48:15] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "278-404B DRY VALLEY RD"
[2026-01-10 21:48:15] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-10 21:48:15] [INFO] Concatenating street name and type
[2026-01-10 21:48:15] [INFO]   -> Combined street name: DRY VALLEY RD
[2026-01-10 21:48:15] [INFO] Built locationCoordinates from lat/lng: 36.18491,-85.45
[2026-01-10 21:48:15] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD\nEMS","incidentInternalId":"2026000012","dispatchRunNumber":"2026000012","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":278,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"SIGNATURE HEALTHCARE","incidentLocationApt":"404B","nERISIncidentLatitude":36.18491000000000212821760214865207672119140625,"nERISIncidentLongitude":-85.4500000000000028421709430404007434844970703125,"alarm":"2026-01-10 15:46:00","dispatched":"2026-01-10 15:48:11","incidentLocationCross":"WILLIAMS CIR\/ELM ST","cADVehicleID":"AFR","timedispatch":"2026-01-10 15:48:11","policeReportNumber":"20260003522","dispatchNotes":"[EMS] NON REBREATHER AT 15LPM  [01\/10\/26 15:46:55 DSTEPHENS] [EMS] BILL RUTHERFORD  8\/26\/1941  [01\/10\/26 15:46:31 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 15:46:00 DSTEPHENS]","cADLog":"[EMS] NON REBREATHER AT 15LPM  [01\/10\/26 15:46:55 DSTEPHENS] [EMS] BILL RUTHERFORD  8\/26\/1941  [01\/10\/26 15:46:31 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [01\/10\/2026 15:46:00 DSTEPHENS]","incidentLocationCity":"ALGOOD","streetName":"DRY VALLEY RD","incidentAddressTextVersionStreet":"278-404B DRY VALLEY RD","locationCoordinates":"36.18491,-85.45"}
[2026-01-10 21:48:15] [INFO] Number of extracted fields: 23
[2026-01-10 21:48:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD
EMS'
[2026-01-10 21:48:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD
EMS', Parsed IDs = ["AFD","EMS"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-01-10 21:48:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD","EMS"]
[2026-01-10 21:48:15] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-10 21:48:16] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-10 21:48:16] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS"]
[2026-01-10 21:48:16] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-10 21:48:16] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-10 21:48:16] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-10 21:48:16] [INFO] Filtered cADAgencyIdentifier to: AFD
[2026-01-10 21:48:16] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-10 21:48:16] [INFO] Found existing IncidentTypeMapping with ID: 694d8ba84e4f3a45a
[2026-01-10 21:48:21] [INFO] Created new Dispatches record with ID: 6962c920c11972a0b
[2026-01-10 21:48:21] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003522_20260110_214815.XML
[2026-01-10 21:48:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260003522_20260110_214815.XML
[2026-01-10 22:38:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003535_20260110_223826.XML
[2026-01-10 22:38:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003535_20260110_223826.XML for user: 68f1466aed072ad4a
[2026-01-10 22:38:26] [INFO] File size: 5590 bytes
[2026-01-10 22:38:26] [INFO] Created FTPFiles record with ID: 6962d4e2d0e8e80c3
[2026-01-10 22:38:26] [INFO] About to extract fields from XML. File size: 5590 bytes
[2026-01-10 22:38:26] [INFO] Number of mappings: 28
[2026-01-10 22:38:26] [INFO] Starting XML parsing. Content length: 5590
[2026-01-10 22:38:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 22:38:26] [INFO] Processing 28 field mappings
[2026-01-10 22:38:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 22:38:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 22:38:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 22:38:26] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-10 22:38:26] [INFO]   -> Found value: MFD
EMS
MPD
[2026-01-10 22:38:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nMPD"
[2026-01-10 22:38:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 22:38:26] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-10 22:38:26] [INFO]   -> Found value: 2026000010
[2026-01-10 22:38:26] [INFO]   -> Set field 'incidentInternalId' = "2026000010"
[2026-01-10 22:38:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000010"
[2026-01-10 22:38:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 22:38:26] [INFO]   -> Found value: CHEST PAIN
[2026-01-10 22:38:26] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-10 22:38:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 22:38:26] [INFO]   -> Found value: 407
[2026-01-10 22:38:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 407
[2026-01-10 22:38:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 22:38:26] [INFO]   -> Found value: TN
[2026-01-10 22:38:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 22:38:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 22:38:26] [INFO]   -> Found value: 38574
[2026-01-10 22:38:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-10 22:38:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 22:38:26] [INFO]   -> Found value: SARAH WILLIAMS
[2026-01-10 22:38:26] [INFO]   -> Set field 'businessName' = "SARAH WILLIAMS"
[2026-01-10 22:38:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 22:38:26] [INFO]   -> Found value: 36.15186
[2026-01-10 22:38:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15185999999999921783455647528171539306640625
[2026-01-10 22:38:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 22:38:26] [INFO]   -> Found value: -85.27112
[2026-01-10 22:38:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2711199999999962528818286955356597900390625
[2026-01-10 22:38:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 22:38:26] [INFO]   -> Found value: 2026-01-10 16:37:18
[2026-01-10 22:38:26] [INFO]   -> Set field 'alarm' = "2026-01-10 16:37:18"
[2026-01-10 22:38:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 22:38:26] [INFO]   -> Found value: 2026-01-10 16:38:20
[2026-01-10 22:38:26] [INFO]   -> Set field 'dispatched' = "2026-01-10 16:38:20"
[2026-01-10 22:38:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 22:38:26] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-01-10 22:38:26] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-01-10 22:38:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 22:38:26] [INFO]   -> Found value: MFR
[2026-01-10 22:38:26] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-10 22:38:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 22:38:26] [INFO]   -> Found value: 2026-01-10 16:38:20
[2026-01-10 22:38:26] [INFO]   -> Set field 'timedispatch' = "2026-01-10 16:38:20"
[2026-01-10 22:38:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 22:38:26] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 22:38:26] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 22:38:26] [INFO]   -> Found value: 20260003535
[2026-01-10 22:38:26] [INFO]   -> Set field 'policeReportNumber' = "20260003535"
[2026-01-10 22:38:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 22:38:26] [INFO]   -> Found value: [EMS] SHE SAYS SHE CAN`T GET UP//SHES IN THE BED  [01/10/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMIN...
[2026-01-10 22:38:26] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]"
[2026-01-10 22:38:26] [INFO]   -> Set field 'cADLog' = "[EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]"
[2026-01-10 22:38:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 22:38:26] [INFO]   -> Found value: MONTEREY
[2026-01-10 22:38:26] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-10 22:38:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 22:38:26] [INFO]   -> Found value: CRAWFORD
[2026-01-10 22:38:26] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-01-10 22:38:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 22:38:26] [INFO]   -> Found value: AVE
[2026-01-10 22:38:26] [INFO]   -> Set field 'streetType' = "AVE"
[2026-01-10 22:38:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 22:38:26] [INFO]   -> Found value: 407 W CRAWFORD AVE
[2026-01-10 22:38:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "407 W CRAWFORD AVE"
[2026-01-10 22:38:26] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 22:38:26] [INFO] Concatenating street name and type
[2026-01-10 22:38:26] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-01-10 22:38:26] [INFO] Built locationCoordinates from lat/lng: 36.15186,-85.27112
[2026-01-10 22:38:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nMPD","incidentInternalId":"2026000010","dispatchRunNumber":"2026000010","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":407,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"SARAH WILLIAMS","nERISIncidentLatitude":36.15185999999999921783455647528171539306640625,"nERISIncidentLongitude":-85.2711199999999962528818286955356597900390625,"alarm":"2026-01-10 16:37:18","dispatched":"2026-01-10 16:38:20","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"MFR","timedispatch":"2026-01-10 16:38:20","policeReportNumber":"20260003535","dispatchNotes":"[EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]","cADLog":"[EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"407 W CRAWFORD AVE","locationCoordinates":"36.15186,-85.27112"}
[2026-01-10 22:38:26] [INFO] Number of extracted fields: 22
[2026-01-10 22:38:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
MPD'
[2026-01-10 22:38:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
MPD', Parsed IDs = ["MFD","EMS","MPD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-10 22:38:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","MPD"]
[2026-01-10 22:38:26] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-10 22:38:27] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-10 22:38:27] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD"]
[2026-01-10 22:38:27] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-10 22:38:27] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-10 22:38:27] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-10 22:38:27] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-10 22:38:27] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-10 22:38:27] [INFO] Found existing IncidentTypeMapping with ID: 694ff5f932f4685e7
[2026-01-10 22:38:29] [INFO] Created new Dispatches record with ID: 6962d4e3b03519db1
[2026-01-10 22:38:29] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003535_20260110_223826.XML
[2026-01-10 22:38:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260003535_20260110_223826.XML
[2026-01-10 22:38:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003536_20260110_223846.XML
[2026-01-10 22:38:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003536_20260110_223846.XML for user: 68f1466aed072ad4a
[2026-01-10 22:38:46] [INFO] File size: 5839 bytes
[2026-01-10 22:38:47] [INFO] Created FTPFiles record with ID: 6962d4f707bd3894b
[2026-01-10 22:38:47] [INFO] About to extract fields from XML. File size: 5839 bytes
[2026-01-10 22:38:47] [INFO] Number of mappings: 28
[2026-01-10 22:38:47] [INFO] Starting XML parsing. Content length: 5839
[2026-01-10 22:38:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 22:38:47] [INFO] Processing 28 field mappings
[2026-01-10 22:38:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 22:38:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 22:38:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-10 22:38:47] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-10 22:38:47] [INFO]   -> Found value: PCFD
EMS
MPD
MFD
[2026-01-10 22:38:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMPD\nMFD"
[2026-01-10 22:38:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 22:38:47] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-10 22:38:47] [INFO]   -> Found value: 2026000079
[2026-01-10 22:38:47] [INFO]   -> Set field 'incidentInternalId' = "2026000079"
[2026-01-10 22:38:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000079"
[2026-01-10 22:38:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 22:38:47] [INFO]   -> Found value: CHEST PAIN
[2026-01-10 22:38:47] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-01-10 22:38:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 22:38:47] [INFO]   -> Found value: 407
[2026-01-10 22:38:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 407
[2026-01-10 22:38:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 22:38:47] [INFO]   -> Found value: TN
[2026-01-10 22:38:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 22:38:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 22:38:47] [INFO]   -> Found value: 38574
[2026-01-10 22:38:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-10 22:38:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 22:38:47] [INFO]   -> Found value: SARAH WILLIAMS
[2026-01-10 22:38:47] [INFO]   -> Set field 'businessName' = "SARAH WILLIAMS"
[2026-01-10 22:38:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 22:38:47] [INFO]   -> Found value: 36.15186
[2026-01-10 22:38:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15185999999999921783455647528171539306640625
[2026-01-10 22:38:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 22:38:47] [INFO]   -> Found value: -85.27112
[2026-01-10 22:38:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2711199999999962528818286955356597900390625
[2026-01-10 22:38:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 22:38:47] [INFO]   -> Found value: 2026-01-10 16:38:44
[2026-01-10 22:38:47] [INFO]   -> Set field 'alarm' = "2026-01-10 16:38:44"
[2026-01-10 22:38:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 22:38:47] [INFO]   -> Found value: 2026-01-10 16:38:44
[2026-01-10 22:38:47] [INFO]   -> Set field 'dispatched' = "2026-01-10 16:38:44"
[2026-01-10 22:38:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 22:38:47] [INFO]   -> Found value: N OAK ST/LOCUST ST
[2026-01-10 22:38:47] [INFO]   -> Set field 'incidentLocationCross' = "N OAK ST\/LOCUST ST"
[2026-01-10 22:38:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 22:38:47] [INFO]   -> Found value: PCFR
[2026-01-10 22:38:47] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-10 22:38:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 22:38:47] [INFO]   -> Found value: 2026-01-10 16:38:44
[2026-01-10 22:38:47] [INFO]   -> Set field 'timedispatch' = "2026-01-10 16:38:44"
[2026-01-10 22:38:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 22:38:47] [INFO]   -> No value found (null or empty)
[2026-01-10 22:38:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 22:38:47] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-10 22:38:47] [INFO]   -> Found value: 20260003536
[2026-01-10 22:38:47] [INFO]   -> Set field 'policeReportNumber' = "20260003536"
[2026-01-10 22:38:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 22:38:47] [INFO]   -> Found value: Event spawned from CHEST PAIN.  [01/10/2026 16:38:44 KHILL] [EMS] SHE SAYS SHE CAN`T GET UP//SHES IN...
[2026-01-10 22:38:47] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from CHEST PAIN.  [01\/10\/2026 16:38:44 KHILL] [EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]"
[2026-01-10 22:38:47] [INFO]   -> Set field 'cADLog' = "Event spawned from CHEST PAIN.  [01\/10\/2026 16:38:44 KHILL] [EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]"
[2026-01-10 22:38:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 22:38:47] [INFO]   -> Found value: MONTEREY
[2026-01-10 22:38:47] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-10 22:38:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 22:38:47] [INFO]   -> Found value: CRAWFORD
[2026-01-10 22:38:47] [INFO]   -> Set field 'streetName' = "CRAWFORD"
[2026-01-10 22:38:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 22:38:47] [INFO]   -> Found value: AVE
[2026-01-10 22:38:47] [INFO]   -> Set field 'streetType' = "AVE"
[2026-01-10 22:38:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 22:38:47] [INFO]   -> Found value: 407 W CRAWFORD AVE
[2026-01-10 22:38:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "407 W CRAWFORD AVE"
[2026-01-10 22:38:47] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-10 22:38:47] [INFO] Concatenating street name and type
[2026-01-10 22:38:47] [INFO]   -> Combined street name: CRAWFORD AVE
[2026-01-10 22:38:47] [INFO] Built locationCoordinates from lat/lng: 36.15186,-85.27112
[2026-01-10 22:38:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMPD\nMFD","incidentInternalId":"2026000079","dispatchRunNumber":"2026000079","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":407,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"SARAH WILLIAMS","nERISIncidentLatitude":36.15185999999999921783455647528171539306640625,"nERISIncidentLongitude":-85.2711199999999962528818286955356597900390625,"alarm":"2026-01-10 16:38:44","dispatched":"2026-01-10 16:38:44","incidentLocationCross":"N OAK ST\/LOCUST ST","cADVehicleID":"PCFR","timedispatch":"2026-01-10 16:38:44","policeReportNumber":"20260003536","dispatchNotes":"Event spawned from CHEST PAIN.  [01\/10\/2026 16:38:44 KHILL] [EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]","cADLog":"Event spawned from CHEST PAIN.  [01\/10\/2026 16:38:44 KHILL] [EMS] SHE SAYS SHE CAN`T GET UP\/\/SHES IN THE BED  [01\/10\/26 16:38:19 KMORGAN2] [EMS] FEM IS SCREAMING ON PHONE  [01\/10\/26 16:38:06 KMORGAN2] [EMS] PER PREMISE NOTE SARAH WILLIAMS IS HAVING CODE 13 ISSUES \/ HER SISTER IS HER CARETAKER CAROLYN HARRIS 931-303-3277  [01\/10\/26 16:37:53 KHILL] [EMS] HX OF HEART ISSUES  [01\/10\/26 16:37:47 KMORGAN2] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/10\/26 16:37:29 BLAFEVERSMITH] Event spawned from CHEST PAIN.  [01\/10\/2026 16:37:18 KMORGAN2]","incidentLocationCity":"MONTEREY","streetName":"CRAWFORD AVE","incidentAddressTextVersionStreet":"407 W CRAWFORD AVE","locationCoordinates":"36.15186,-85.27112"}
[2026-01-10 22:38:47] [INFO] Number of extracted fields: 22
[2026-01-10 22:38:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MPD
MFD'
[2026-01-10 22:38:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MPD
MFD', Parsed IDs = ["PCFD","EMS","MPD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-10 22:38:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MPD","MFD"]
[2026-01-10 22:38:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-10 22:38:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-10 22:38:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MPD","MFD"]
[2026-01-10 22:38:47] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-10 22:38:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-10 22:38:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-10 22:38:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-10 22:38:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-10 22:38:47] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-01-10 22:38:58] [INFO] Created new Dispatches record with ID: 6962d4f9db1d89331
[2026-01-10 22:38:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003536_20260110_223846.XML
[2026-01-10 22:38:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003536_20260110_223846.XML
[2026-01-10 23:12:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003547_20260110_231257.XML
[2026-01-10 23:12:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003547_20260110_231257.XML for user: 68f1466aed072ad4a
[2026-01-10 23:12:57] [INFO] File size: 4620 bytes
[2026-01-10 23:12:57] [INFO] Created FTPFiles record with ID: 6962dcf9914491e16
[2026-01-10 23:12:57] [INFO] About to extract fields from XML. File size: 4620 bytes
[2026-01-10 23:12:57] [INFO] Number of mappings: 28
[2026-01-10 23:12:57] [INFO] Starting XML parsing. Content length: 4620
[2026-01-10 23:12:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-10 23:12:57] [INFO] Processing 28 field mappings
[2026-01-10 23:12:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-10 23:12:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-10 23:12:57] [INFO]   -> Found value: PCFD
[2026-01-10 23:12:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-10 23:12:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-10 23:12:57] [INFO]   -> Found value: 2026000080
[2026-01-10 23:12:57] [INFO]   -> Set field 'incidentInternalId' = "2026000080"
[2026-01-10 23:12:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000080"
[2026-01-10 23:12:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-10 23:12:57] [INFO]   -> Found value: CARBON MONOXIDE ALARM
[2026-01-10 23:12:57] [INFO]   -> Set field 'incidentTypeValue1' = "CARBON MONOXIDE ALARM"
[2026-01-10 23:12:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-10 23:12:57] [INFO]   -> Found value: 713
[2026-01-10 23:12:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 713
[2026-01-10 23:12:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-10 23:12:57] [INFO]   -> Found value: TN
[2026-01-10 23:12:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-10 23:12:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-10 23:12:57] [INFO]   -> Found value: 38506
[2026-01-10 23:12:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-10 23:12:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-10 23:12:57] [INFO]   -> Found value: 36.08222
[2026-01-10 23:12:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.08221999999999951569407130591571331024169921875
[2026-01-10 23:12:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-10 23:12:57] [INFO]   -> Found value: -85.52167
[2026-01-10 23:12:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.521670000000000300133251585066318511962890625
[2026-01-10 23:12:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-10 23:12:57] [INFO]   -> Found value: 2026-01-10 17:11:48
[2026-01-10 23:12:57] [INFO]   -> Set field 'alarm' = "2026-01-10 17:11:48"
[2026-01-10 23:12:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-10 23:12:57] [INFO]   -> Found value: 2026-01-10 17:12:50
[2026-01-10 23:12:57] [INFO]   -> Set field 'dispatched' = "2026-01-10 17:12:50"
[2026-01-10 23:12:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-10 23:12:57] [INFO]   -> Found value: LUKE LN/BURGESS MILL RD
[2026-01-10 23:12:57] [INFO]   -> Set field 'incidentLocationCross' = "LUKE LN\/BURGESS MILL RD"
[2026-01-10 23:12:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-10 23:12:57] [INFO]   -> Found value: TK13
[2026-01-10 23:12:57] [INFO]   -> Set field 'cADVehicleID' = "TK13"
[2026-01-10 23:12:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-10 23:12:57] [INFO]   -> Found value: 2026-01-10 17:12:50
[2026-01-10 23:12:57] [INFO]   -> Set field 'timedispatch' = "2026-01-10 17:12:50"
[2026-01-10 23:12:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-10 23:12:57] [INFO]   -> Found value: 20260003547
[2026-01-10 23:12:57] [INFO]   -> Set field 'policeReportNumber' = "20260003547"
[2026-01-10 23:12:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-10 23:12:57] [INFO]   -> No value found (null or empty)
[2026-01-10 23:12:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-10 23:12:57] [INFO]   -> Found value: COOKEVILLE
[2026-01-10 23:12:57] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-10 23:12:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-10 23:12:57] [INFO]   -> Found value: BLUE WATER
[2026-01-10 23:12:57] [INFO]   -> Set field 'streetName' = "BLUE WATER"
[2026-01-10 23:12:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-10 23:12:57] [INFO]   -> Found value: DR
[2026-01-10 23:12:57] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-10 23:12:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-10 23:12:57] [INFO]   -> Found value: 713 BLUE WATER DR
[2026-01-10 23:12:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "713 BLUE WATER DR"
[2026-01-10 23:12:57] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-01-10 23:12:57] [INFO] Concatenating street name and type
[2026-01-10 23:12:57] [INFO]   -> Combined street name: BLUE WATER DR
[2026-01-10 23:12:57] [INFO] Built locationCoordinates from lat/lng: 36.08222,-85.52167
[2026-01-10 23:12:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000080","dispatchRunNumber":"2026000080","incidentTypeValue1":"CARBON MONOXIDE ALARM","incidentLocationStreetNumber":713,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.08221999999999951569407130591571331024169921875,"nERISIncidentLongitude":-85.521670000000000300133251585066318511962890625,"alarm":"2026-01-10 17:11:48","dispatched":"2026-01-10 17:12:50","incidentLocationCross":"LUKE LN\/BURGESS MILL RD","cADVehicleID":"TK13","timedispatch":"2026-01-10 17:12:50","policeReportNumber":"20260003547","incidentLocationCity":"COOKEVILLE","streetName":"BLUE WATER DR","incidentAddressTextVersionStreet":"713 BLUE WATER DR","locationCoordinates":"36.08222,-85.52167"}
[2026-01-10 23:12:57] [INFO] Number of extracted fields: 19
[2026-01-10 23:12:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-10 23:12:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-10 23:12:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-10 23:12:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-10 23:12:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-10 23:12:57] [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-10 23:12:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-10 23:12:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-10 23:12:58] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"CARBON MONOXIDE ALARM","saasclientId":"68eeb686225c40db4","name":"CARBON MONOXIDE ALARM"}
[2026-01-10 23:12:58] [INFO] Created new IncidentTypeMapping with ID: 6962dcfa2cd91c49b
[2026-01-10 23:13:06] [INFO] Created new Dispatches record with ID: 6962dcfa784f49127
[2026-01-10 23:13:06] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003547_20260110_231257.XML
[2026-01-10 23:13:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260003547_20260110_231257.XML
