[2025-12-21 00:29:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139608_20251221_002937.XML
[2025-12-21 00:29:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139608_20251221_002937.XML for user: 68f1466aed072ad4a
[2025-12-21 00:29:37] [INFO] File size: 5706 bytes
[2025-12-21 00:29:37] [INFO] Created FTPFiles record with ID: 69473f71b4af26edc
[2025-12-21 00:29:37] [INFO] About to extract fields from XML. File size: 5706 bytes
[2025-12-21 00:29:37] [INFO] Number of mappings: 28
[2025-12-21 00:29:37] [INFO] Starting XML parsing. Content length: 5706
[2025-12-21 00:29:37] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 00:29:37] [INFO] Processing 28 field mappings
[2025-12-21 00:29:37] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 00:29:37] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-21 00:29:37] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-21 00:29:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-21 00:29:37] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 00:29:37] [INFO] Found 4 elements for 'ReportNumber', concatenating 1 non-empty values
[2025-12-21 00:29:37] [INFO]   -> Found value: 2025003123
[2025-12-21 00:29:37] [INFO]   -> Set field 'incidentInternalId' = "2025003123"
[2025-12-21 00:29:37] [INFO]   -> Set field 'dispatchRunNumber' = "2025003123"
[2025-12-21 00:29:37] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 00:29:37] [INFO]   -> Found value: CHEST PAIN
[2025-12-21 00:29:37] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2025-12-21 00:29:37] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 00:29:37] [INFO]   -> Found value: 511
[2025-12-21 00:29:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 511
[2025-12-21 00:29:37] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 00:29:37] [INFO]   -> Found value: TN
[2025-12-21 00:29:37] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:29:37] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:29:37] [INFO]   -> Found value: 38574
[2025-12-21 00:29:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-21 00:29:37] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 00:29:37] [INFO]   -> Found value: 36.07049
[2025-12-21 00:29:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.07048999999999949750417727045714855194091796875
[2025-12-21 00:29:37] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 00:29:37] [INFO]   -> Found value: -85.28181
[2025-12-21 00:29:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2818099999999930105332168750464916229248046875
[2025-12-21 00:29:37] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 00:29:37] [INFO]   -> Found value: 2025-12-20 18:29:04
[2025-12-21 00:29:37] [INFO]   -> Set field 'alarm' = "2025-12-20 18:29:04"
[2025-12-21 00:29:37] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 00:29:37] [INFO]   -> Found value: 2025-12-20 18:29:28
[2025-12-21 00:29:37] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:29:28"
[2025-12-21 00:29:37] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 00:29:37] [INFO]   -> Found value: OESTERMAN DR/BLAZER PL
[2025-12-21 00:29:37] [INFO]   -> Set field 'incidentLocationCross' = "OESTERMAN DR\/BLAZER PL"
[2025-12-21 00:29:37] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 00:29:37] [INFO]   -> Found value: PCFR
[2025-12-21 00:29:37] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-21 00:29:37] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 00:29:37] [INFO]   -> Found value: 2025-12-20 18:29:28
[2025-12-21 00:29:37] [INFO]   -> Set field 'timedispatch' = "2025-12-20 18:29:28"
[2025-12-21 00:29:37] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 00:29:37] [INFO]   -> No value found (null or empty)
[2025-12-21 00:29:37] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 00:29:37] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-21 00:29:37] [INFO]   -> Found value: 20250139608
20250139606
20250139607
20250139609
[2025-12-21 00:29:37] [INFO]   -> Set field 'policeReportNumber' = "20250139608\n20250139606\n20250139607\n20250139609"
[2025-12-21 00:29:37] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 00:29:37] [INFO]   -> Found value: [APCO INTELLICOMM] Case ID: kTgPezzdlK Caller Phone: 9312619410 Caller Name: AT&amp;T MOBILITY Incid...
[2025-12-21 00:29:37] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Case ID: kTgPezzdlK Caller Phone: 9312619410 Caller Name: AT&amp;T MOBILITY Incident Location: 511 CLIFF PARK RD Incident Location Detail: OESTERMAN DR\/BLAZER PL Nature: CHEST PAIN Incident #: 20250139606 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/20\/25 18:29:06 PSUTIL01] Event spawned from CHEST PAIN.  [12\/20\/2025 18:29:04 DSWINK] CHEST PAIN OFF AND ON ALL DAY NO CARDIAC HX  [12\/20\/25 18:29:00 DSWINK]]"
[2025-12-21 00:29:37] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Case ID: kTgPezzdlK Caller Phone: 9312619410 Caller Name: AT&amp;T MOBILITY Incident Location: 511 CLIFF PARK RD Incident Location Detail: OESTERMAN DR\/BLAZER PL Nature: CHEST PAIN Incident #: 20250139606 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/20\/25 18:29:06 PSUTIL01] Event spawned from CHEST PAIN.  [12\/20\/2025 18:29:04 DSWINK] CHEST PAIN OFF AND ON ALL DAY NO CARDIAC HX  [12\/20\/25 18:29:00 DSWINK]]"
[2025-12-21 00:29:37] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 00:29:37] [INFO]   -> Found value: MONTEREY
[2025-12-21 00:29:37] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2025-12-21 00:29:37] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 00:29:37] [INFO]   -> Found value: CLIFF PARK
[2025-12-21 00:29:37] [INFO]   -> Set field 'streetName' = "CLIFF PARK"
[2025-12-21 00:29:37] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 00:29:37] [INFO]   -> Found value: RD
[2025-12-21 00:29:37] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-21 00:29:37] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 00:29:37] [INFO]   -> Found value: 511 CLIFF PARK RD
[2025-12-21 00:29:37] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "511 CLIFF PARK RD"
[2025-12-21 00:29:37] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-21 00:29:37] [INFO] Concatenating street name and type
[2025-12-21 00:29:37] [INFO]   -> Combined street name: CLIFF PARK RD
[2025-12-21 00:29:37] [INFO] Built locationCoordinates from lat/lng: 36.07049,-85.28181
[2025-12-21 00:29:37] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003123","dispatchRunNumber":"2025003123","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":511,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.07048999999999949750417727045714855194091796875,"nERISIncidentLongitude":-85.2818099999999930105332168750464916229248046875,"alarm":"2025-12-20 18:29:04","dispatched":"2025-12-20 18:29:28","incidentLocationCross":"OESTERMAN DR\/BLAZER PL","cADVehicleID":"PCFR","timedispatch":"2025-12-20 18:29:28","policeReportNumber":"20250139608\n20250139606\n20250139607\n20250139609","dispatchNotes":"[APCO INTELLICOMM] Case ID: kTgPezzdlK Caller Phone: 9312619410 Caller Name: AT&amp;T MOBILITY Incident Location: 511 CLIFF PARK RD Incident Location Detail: OESTERMAN DR\/BLAZER PL Nature: CHEST PAIN Incident #: 20250139606 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/20\/25 18:29:06 PSUTIL01] Event spawned from CHEST PAIN.  [12\/20\/2025 18:29:04 DSWINK] CHEST PAIN OFF AND ON ALL DAY NO CARDIAC HX  [12\/20\/25 18:29:00 DSWINK]]","cADLog":"[APCO INTELLICOMM] Case ID: kTgPezzdlK Caller Phone: 9312619410 Caller Name: AT&amp;T MOBILITY Incident Location: 511 CLIFF PARK RD Incident Location Detail: OESTERMAN DR\/BLAZER PL Nature: CHEST PAIN Incident #: 20250139606 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/20\/25 18:29:06 PSUTIL01] Event spawned from CHEST PAIN.  [12\/20\/2025 18:29:04 DSWINK] CHEST PAIN OFF AND ON ALL DAY NO CARDIAC HX  [12\/20\/25 18:29:00 DSWINK]]","incidentLocationCity":"MONTEREY","streetName":"CLIFF PARK RD","incidentAddressTextVersionStreet":"511 CLIFF PARK RD","locationCoordinates":"36.07049,-85.28181"}
[2025-12-21 00:29:37] [INFO] Number of extracted fields: 21
[2025-12-21 00:29:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-21 00:29:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Assigned Agencies count = 4
[2025-12-21 00:29:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2025-12-21 00:29:37] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 00:29:37] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 00:29:37] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 00:29:37] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS","PCSO","RESC"]
[2025-12-21 00:29:38] [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"]
[2025-12-21 00:29:38] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 00:29:38] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 00:29:38] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2025-12-21 00:29:41] [INFO] Created new Dispatches record with ID: 69473f7273e41aa6f
[2025-12-21 00:29:41] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139608_20251221_002937.XML
[2025-12-21 00:29:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139608_20251221_002937.XML
[2025-12-21 00:32:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:06Z.xml
[2025-12-21 00:32:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:06Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:32:07] [INFO] File size: 51403 bytes
[2025-12-21 00:32:08] [INFO] Created FTPFiles record with ID: 694740081788e554a
[2025-12-21 00:32:08] [INFO] About to extract fields from XML. File size: 51403 bytes
[2025-12-21 00:32:08] [INFO] Number of mappings: 12
[2025-12-21 00:32:08] [INFO] Starting XML parsing. Content length: 51403
[2025-12-21 00:32:08] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:32:08] [INFO] Processing 12 field mappings
[2025-12-21 00:32:08] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:32:08] [INFO]   -> Found value: 395
[2025-12-21 00:32:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:32:08] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:32:08] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:32:08] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:32:08] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:32:08] [INFO]   -> Found value: GLEASON
[2025-12-21 00:32:08] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:32:08] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:32:08] [INFO]   -> Found value: TN
[2025-12-21 00:32:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:32:08] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:32:08] [INFO]   -> Found value: 38229
[2025-12-21 00:32:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:32:08] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:32:08] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:32:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:32:08] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:32:08] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:32:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:32:08] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:32:08] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:32:08] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:32:08] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:32:08] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:32:08] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:32:08] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:32:08] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:32:08] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:32:08] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:32:08] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:32:08] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:08] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:08] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:32:08] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:32:08] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:32:08] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:32:08] [INFO]   -> Found value: STROKE
[2025-12-21 00:32:08] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:32:08] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:32:08] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:32:08] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:32:08] [INFO] Number of extracted fields: 14
[2025-12-21 00:32:08] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:32:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:32:08] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:32:08] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:32:08] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:32:08] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:32:08] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"STROKE","saasclientId":"653ad9b50d6738006","name":"STROKE"}
[2025-12-21 00:32:08] [INFO] Created new IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:32:11] [INFO] Created new Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:32:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:06Z.xml
[2025-12-21 00:32:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:06Z.xml
[2025-12-21 00:32:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:07Z.xml
[2025-12-21 00:32:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:07Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:32:11] [INFO] File size: 51882 bytes
[2025-12-21 00:32:12] [INFO] Created FTPFiles record with ID: 6947400c44f37549f
[2025-12-21 00:32:12] [INFO] About to extract fields from XML. File size: 51882 bytes
[2025-12-21 00:32:12] [INFO] Number of mappings: 12
[2025-12-21 00:32:12] [INFO] Starting XML parsing. Content length: 51882
[2025-12-21 00:32:12] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:32:12] [INFO] Processing 12 field mappings
[2025-12-21 00:32:12] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:32:12] [INFO]   -> Found value: 395
[2025-12-21 00:32:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:32:12] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:32:12] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:32:12] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:32:12] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:32:12] [INFO]   -> Found value: GLEASON
[2025-12-21 00:32:12] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:32:12] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:32:12] [INFO]   -> Found value: TN
[2025-12-21 00:32:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:32:12] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:32:12] [INFO]   -> Found value: 38229
[2025-12-21 00:32:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:32:12] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:32:12] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:32:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:32:12] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:32:12] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:32:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:32:12] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:32:12] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:32:12] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:32:12] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:32:12] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:32:12] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:32:12] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:32:12] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:32:12] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:32:12] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:32:12] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:32:12] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:12] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:12] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:32:12] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:32:12] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:32:12] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:32:12] [INFO]   -> Found value: STROKE
[2025-12-21 00:32:12] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:32:12] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:32:12] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:32:12] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:32:12] [INFO] Number of extracted fields: 14
[2025-12-21 00:32:12] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:32:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:32:12] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:32:12] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:32:12] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:32:12] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:32:12] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:32:12] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:32:12] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:32:12] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:07Z.xml
[2025-12-21 00:32:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:07Z.xml
[2025-12-21 00:32:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:10Z.xml
[2025-12-21 00:32:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:10Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:32:12] [INFO] File size: 52294 bytes
[2025-12-21 00:32:13] [INFO] Created FTPFiles record with ID: 6947400d22e55cf19
[2025-12-21 00:32:13] [INFO] About to extract fields from XML. File size: 52294 bytes
[2025-12-21 00:32:13] [INFO] Number of mappings: 12
[2025-12-21 00:32:13] [INFO] Starting XML parsing. Content length: 52294
[2025-12-21 00:32:13] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:32:13] [INFO] Processing 12 field mappings
[2025-12-21 00:32:13] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:32:13] [INFO]   -> Found value: 395
[2025-12-21 00:32:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:32:13] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:32:13] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:32:13] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:32:13] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:32:13] [INFO]   -> Found value: GLEASON
[2025-12-21 00:32:13] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:32:13] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:32:13] [INFO]   -> Found value: TN
[2025-12-21 00:32:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:32:13] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:32:13] [INFO]   -> Found value: 38229
[2025-12-21 00:32:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:32:13] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:32:13] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:32:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:32:13] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:32:13] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:32:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:32:13] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:32:13] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:32:13] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:32:13] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:32:13] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:32:13] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:32:13] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:32:13] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:32:13] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:32:13] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:32:13] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:32:13] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:13] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:13] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:32:13] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:32:13] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:32:13] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:32:13] [INFO]   -> Found value: STROKE
[2025-12-21 00:32:13] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:32:13] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:32:13] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:32:13] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:32:13] [INFO] Number of extracted fields: 14
[2025-12-21 00:32:13] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:32:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:32:13] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:32:13] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:32:13] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:32:13] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:32:13] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:32:13] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:32:13] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:32:13] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:10Z.xml
[2025-12-21 00:32:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:10Z.xml
[2025-12-21 00:32:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:12Z.xml
[2025-12-21 00:32:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:12Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:32:13] [INFO] File size: 53509 bytes
[2025-12-21 00:32:14] [INFO] Created FTPFiles record with ID: 6947400df3b1a71c1
[2025-12-21 00:32:14] [INFO] About to extract fields from XML. File size: 53509 bytes
[2025-12-21 00:32:14] [INFO] Number of mappings: 12
[2025-12-21 00:32:14] [INFO] Starting XML parsing. Content length: 53509
[2025-12-21 00:32:14] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:32:14] [INFO] Processing 12 field mappings
[2025-12-21 00:32:14] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:32:14] [INFO]   -> Found value: 395
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:32:14] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:32:14] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:32:14] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:32:14] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:32:14] [INFO]   -> Found value: GLEASON
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:32:14] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:32:14] [INFO]   -> Found value: TN
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:32:14] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:32:14] [INFO]   -> Found value: 38229
[2025-12-21 00:32:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:32:14] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:32:14] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:32:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:32:14] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:32:14] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:32:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:32:14] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:32:14] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:32:14] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:32:14] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:32:14] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:32:14] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:32:14] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:32:14] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:32:14] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:32:14] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:32:14] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:32:14] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:14] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:14] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:32:14] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:32:14] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:32:14] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:32:14] [INFO]   -> Found value: STROKE
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:32:14] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:32:14] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:32:14] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:32:14] [INFO] Number of extracted fields: 14
[2025-12-21 00:32:14] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:32:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:32:14] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:32:14] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:32:14] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:32:14] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:32:14] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:32:14] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:32:14] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:32:14] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:12Z.xml
[2025-12-21 00:32:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:12Z.xml
[2025-12-21 00:32:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:13Z.xml
[2025-12-21 00:32:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:13Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:32:14] [INFO] File size: 53509 bytes
[2025-12-21 00:32:14] [INFO] Created FTPFiles record with ID: 6947400ed11707698
[2025-12-21 00:32:14] [INFO] About to extract fields from XML. File size: 53509 bytes
[2025-12-21 00:32:14] [INFO] Number of mappings: 12
[2025-12-21 00:32:14] [INFO] Starting XML parsing. Content length: 53509
[2025-12-21 00:32:14] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:32:14] [INFO] Processing 12 field mappings
[2025-12-21 00:32:14] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:32:14] [INFO]   -> Found value: 395
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:32:14] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:32:14] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:32:14] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:32:14] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:32:14] [INFO]   -> Found value: GLEASON
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:32:14] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:32:14] [INFO]   -> Found value: TN
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:32:14] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:32:14] [INFO]   -> Found value: 38229
[2025-12-21 00:32:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:32:14] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:32:14] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:32:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:32:14] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:32:14] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:32:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:32:14] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:32:14] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:32:14] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:32:14] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:32:14] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:32:14] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:32:14] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:32:14] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:32:14] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:32:14] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:32:14] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:32:14] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:14] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:32:14] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:32:14] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:32:14] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:32:14] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:32:14] [INFO]   -> Found value: STROKE
[2025-12-21 00:32:14] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:32:14] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:32:14] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:32:14] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:32:14] [INFO] Number of extracted fields: 14
[2025-12-21 00:32:14] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:32:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:32:14] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:32:14] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:32:14] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:32:14] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:32:15] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:32:15] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:32:15] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:32:15] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:13Z.xml
[2025-12-21 00:32:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:32:13Z.xml
[2025-12-21 00:33:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:08Z.xml
[2025-12-21 00:33:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:08Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:33:08] [INFO] File size: 54516 bytes
[2025-12-21 00:33:08] [INFO] Created FTPFiles record with ID: 69474044dbe69e2fc
[2025-12-21 00:33:08] [INFO] About to extract fields from XML. File size: 54516 bytes
[2025-12-21 00:33:08] [INFO] Number of mappings: 12
[2025-12-21 00:33:08] [INFO] Starting XML parsing. Content length: 54516
[2025-12-21 00:33:08] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:33:08] [INFO] Processing 12 field mappings
[2025-12-21 00:33:08] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:33:08] [INFO]   -> Found value: 395
[2025-12-21 00:33:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:33:08] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:33:08] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:33:08] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:33:08] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:33:08] [INFO]   -> Found value: GLEASON
[2025-12-21 00:33:08] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:33:08] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:33:08] [INFO]   -> Found value: TN
[2025-12-21 00:33:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:33:08] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:33:08] [INFO]   -> Found value: 38229
[2025-12-21 00:33:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:33:08] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:33:08] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:33:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:33:08] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:33:08] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:33:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:33:08] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:33:08] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:33:08] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:33:08] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:33:08] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:33:08] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:33:08] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:33:08] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:33:08] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:33:08] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:33:08] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:33:08] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:33:08] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:33:08] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:33:08] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:33:08] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:33:08] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:33:08] [INFO]   -> Found value: STROKE
[2025-12-21 00:33:08] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:33:08] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:33:08] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:33:08] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:33:08] [INFO] Number of extracted fields: 14
[2025-12-21 00:33:08] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:33:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:33:08] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:33:08] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:33:08] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:33:08] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:33:09] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:33:09] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:33:09] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:33:09] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:08Z.xml
[2025-12-21 00:33:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:08Z.xml
[2025-12-21 00:33:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:09Z.xml
[2025-12-21 00:33:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:09Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:33:09] [INFO] File size: 56030 bytes
[2025-12-21 00:33:09] [INFO] Created FTPFiles record with ID: 69474045ca3d879b8
[2025-12-21 00:33:09] [INFO] About to extract fields from XML. File size: 56030 bytes
[2025-12-21 00:33:09] [INFO] Number of mappings: 12
[2025-12-21 00:33:09] [INFO] Starting XML parsing. Content length: 56030
[2025-12-21 00:33:09] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:33:09] [INFO] Processing 12 field mappings
[2025-12-21 00:33:09] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:33:09] [INFO]   -> Found value: 395
[2025-12-21 00:33:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:33:09] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:33:09] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:33:09] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:33:09] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:33:09] [INFO]   -> Found value: GLEASON
[2025-12-21 00:33:09] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:33:09] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:33:09] [INFO]   -> Found value: TN
[2025-12-21 00:33:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:33:09] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:33:09] [INFO]   -> Found value: 38229
[2025-12-21 00:33:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:33:09] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:33:09] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:33:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:33:09] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:33:09] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:33:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:33:09] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:33:09] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:33:09] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:33:09] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:33:09] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:33:09] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:33:09] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:33:09] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:33:09] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:33:09] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:33:09] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:33:09] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:33:09] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:33:09] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:33:09] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:33:09] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:33:09] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:33:09] [INFO]   -> Found value: STROKE
[2025-12-21 00:33:09] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:33:09] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:33:09] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:33:09] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:33:09] [INFO] Number of extracted fields: 14
[2025-12-21 00:33:09] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:33:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:33:09] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:33:09] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:33:09] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:33:09] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:33:10] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:33:10] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:33:10] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:33:10] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:09Z.xml
[2025-12-21 00:33:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:09Z.xml
[2025-12-21 00:33:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:12Z.xml
[2025-12-21 00:33:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:12Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:33:12] [INFO] File size: 56442 bytes
[2025-12-21 00:33:13] [INFO] Created FTPFiles record with ID: 69474049377a92c3c
[2025-12-21 00:33:13] [INFO] About to extract fields from XML. File size: 56442 bytes
[2025-12-21 00:33:13] [INFO] Number of mappings: 12
[2025-12-21 00:33:13] [INFO] Starting XML parsing. Content length: 56442
[2025-12-21 00:33:13] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:33:13] [INFO] Processing 12 field mappings
[2025-12-21 00:33:13] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:33:13] [INFO]   -> Found value: 395
[2025-12-21 00:33:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:33:13] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:33:13] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:33:13] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:33:13] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:33:13] [INFO]   -> Found value: GLEASON
[2025-12-21 00:33:13] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:33:13] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:33:13] [INFO]   -> Found value: TN
[2025-12-21 00:33:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:33:13] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:33:13] [INFO]   -> Found value: 38229
[2025-12-21 00:33:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:33:13] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:33:13] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:33:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:33:13] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:33:13] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:33:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:33:13] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:33:13] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:33:13] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:33:13] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:33:13] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:33:13] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:33:13] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:33:13] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:33:13] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:33:13] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:33:13] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:33:13] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:33:13] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:33:13] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:33:13] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:33:13] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:33:13] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:33:13] [INFO]   -> Found value: STROKE
[2025-12-21 00:33:13] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:33:13] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:33:13] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:33:13] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:33:13] [INFO] Number of extracted fields: 14
[2025-12-21 00:33:13] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:33:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:33:13] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:33:13] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:33:13] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:33:13] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:33:13] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:33:13] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:33:13] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:33:13] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:12Z.xml
[2025-12-21 00:33:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:33:12Z.xml
[2025-12-21 00:37:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:20Z.xml
[2025-12-21 00:37:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:20Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:37:21] [INFO] File size: 56934 bytes
[2025-12-21 00:37:21] [INFO] Created FTPFiles record with ID: 69474141da4536dae
[2025-12-21 00:37:21] [INFO] About to extract fields from XML. File size: 56934 bytes
[2025-12-21 00:37:21] [INFO] Number of mappings: 12
[2025-12-21 00:37:21] [INFO] Starting XML parsing. Content length: 56934
[2025-12-21 00:37:21] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:37:21] [INFO] Processing 12 field mappings
[2025-12-21 00:37:21] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:37:21] [INFO]   -> Found value: 395
[2025-12-21 00:37:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:37:21] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:37:21] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:37:21] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:37:21] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:37:21] [INFO]   -> Found value: GLEASON
[2025-12-21 00:37:21] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:37:21] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:37:21] [INFO]   -> Found value: TN
[2025-12-21 00:37:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:37:21] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:37:21] [INFO]   -> Found value: 38229
[2025-12-21 00:37:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:37:21] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:37:21] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:37:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:37:21] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:37:21] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:37:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:37:21] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:37:21] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:37:21] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:37:21] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:37:21] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:37:21] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:37:21] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:37:21] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:37:21] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:37:21] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:37:21] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:37:21] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:37:21] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:37:21] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:37:21] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:37:21] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:37:21] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:37:21] [INFO]   -> Found value: STROKE
[2025-12-21 00:37:21] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:37:21] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:37:21] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:37:21] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:37:21] [INFO] Number of extracted fields: 14
[2025-12-21 00:37:21] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:37:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:37:21] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:37:21] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:37:21] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:37:21] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:37:22] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:37:22] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:37:22] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:37:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:20Z.xml
[2025-12-21 00:37:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:20Z.xml
[2025-12-21 00:37:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:21Z.xml
[2025-12-21 00:37:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:21Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:37:22] [INFO] File size: 58331 bytes
[2025-12-21 00:37:22] [INFO] Created FTPFiles record with ID: 69474142c48536e88
[2025-12-21 00:37:22] [INFO] About to extract fields from XML. File size: 58331 bytes
[2025-12-21 00:37:22] [INFO] Number of mappings: 12
[2025-12-21 00:37:22] [INFO] Starting XML parsing. Content length: 58331
[2025-12-21 00:37:22] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:37:22] [INFO] Processing 12 field mappings
[2025-12-21 00:37:22] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:37:22] [INFO]   -> Found value: 395
[2025-12-21 00:37:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:37:22] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:37:22] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:37:22] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:37:22] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:37:22] [INFO]   -> Found value: GLEASON
[2025-12-21 00:37:22] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:37:22] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:37:22] [INFO]   -> Found value: TN
[2025-12-21 00:37:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:37:22] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:37:22] [INFO]   -> Found value: 38229
[2025-12-21 00:37:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:37:22] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:37:22] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:37:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:37:22] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:37:22] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:37:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:37:22] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:37:22] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:37:22] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:37:22] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:37:22] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:37:22] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:37:22] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:37:22] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:37:22] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:37:22] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:37:22] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:37:22] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:37:22] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:37:22] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:37:22] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:37:22] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:37:22] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:37:22] [INFO]   -> Found value: STROKE
[2025-12-21 00:37:22] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:37:22] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:37:22] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:37:22] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:37:22] [INFO] Number of extracted fields: 14
[2025-12-21 00:37:22] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:37:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:37:22] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:37:22] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:37:22] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:37:22] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:37:22] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:37:23] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:37:23] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:37:23] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:21Z.xml
[2025-12-21 00:37:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:37:21Z.xml
[2025-12-21 00:38:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:08Z.xml
[2025-12-21 00:38:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:08Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:38:09] [INFO] File size: 60174 bytes
[2025-12-21 00:38:09] [INFO] Created FTPFiles record with ID: 69474171c54256202
[2025-12-21 00:38:09] [INFO] About to extract fields from XML. File size: 60174 bytes
[2025-12-21 00:38:09] [INFO] Number of mappings: 12
[2025-12-21 00:38:09] [INFO] Starting XML parsing. Content length: 60174
[2025-12-21 00:38:09] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:38:09] [INFO] Processing 12 field mappings
[2025-12-21 00:38:09] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:38:09] [INFO]   -> Found value: 395
[2025-12-21 00:38:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:38:09] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:38:09] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:38:09] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:38:09] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:38:09] [INFO]   -> Found value: GLEASON
[2025-12-21 00:38:09] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:38:09] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:38:09] [INFO]   -> Found value: TN
[2025-12-21 00:38:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:38:09] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:38:09] [INFO]   -> Found value: 38229
[2025-12-21 00:38:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:38:09] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:38:09] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:38:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:38:09] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:38:09] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:38:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:38:09] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:38:09] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:38:09] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:38:09] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:38:09] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:38:09] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:38:09] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:38:09] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:38:09] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:38:09] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:38:09] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:38:09] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:09] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:09] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:38:09] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:38:09] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:38:09] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:38:09] [INFO]   -> Found value: STROKE
[2025-12-21 00:38:09] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:38:09] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:38:09] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:38:09] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:38:09] [INFO] Number of extracted fields: 14
[2025-12-21 00:38:09] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:38:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:38:09] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:38:09] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:38:09] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:38:09] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:38:09] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:38:10] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:38:10] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:38:10] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:08Z.xml
[2025-12-21 00:38:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:08Z.xml
[2025-12-21 00:38:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:09Z.xml
[2025-12-21 00:38:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:09Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:38:10] [INFO] File size: 60670 bytes
[2025-12-21 00:38:10] [INFO] Created FTPFiles record with ID: 694741729f9b2b89e
[2025-12-21 00:38:10] [INFO] About to extract fields from XML. File size: 60670 bytes
[2025-12-21 00:38:10] [INFO] Number of mappings: 12
[2025-12-21 00:38:10] [INFO] Starting XML parsing. Content length: 60670
[2025-12-21 00:38:10] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:38:10] [INFO] Processing 12 field mappings
[2025-12-21 00:38:10] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:38:10] [INFO]   -> Found value: 395
[2025-12-21 00:38:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:38:10] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:38:10] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:38:10] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:38:10] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:38:10] [INFO]   -> Found value: GLEASON
[2025-12-21 00:38:10] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:38:10] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:38:10] [INFO]   -> Found value: TN
[2025-12-21 00:38:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:38:10] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:38:10] [INFO]   -> Found value: 38229
[2025-12-21 00:38:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:38:10] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:38:10] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:38:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:38:10] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:38:10] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:38:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:38:10] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:38:10] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:38:10] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:38:10] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:38:10] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:38:10] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:38:10] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:38:10] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:38:10] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:38:10] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:38:10] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:38:10] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:10] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:10] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:38:10] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:38:10] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:38:10] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:38:10] [INFO]   -> Found value: STROKE
[2025-12-21 00:38:10] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:38:10] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:38:10] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:38:10] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:38:10] [INFO] Number of extracted fields: 14
[2025-12-21 00:38:10] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:38:10] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:38:10] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:38:10] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:38:10] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:38:10] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:38:10] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:38:10] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:38:11] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:38:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:09Z.xml
[2025-12-21 00:38:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:09Z.xml
[2025-12-21 00:38:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:10Z.xml
[2025-12-21 00:38:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:10Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:38:11] [INFO] File size: 60670 bytes
[2025-12-21 00:38:11] [INFO] Created FTPFiles record with ID: 694741737ad6d15eb
[2025-12-21 00:38:11] [INFO] About to extract fields from XML. File size: 60670 bytes
[2025-12-21 00:38:11] [INFO] Number of mappings: 12
[2025-12-21 00:38:11] [INFO] Starting XML parsing. Content length: 60670
[2025-12-21 00:38:11] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:38:11] [INFO] Processing 12 field mappings
[2025-12-21 00:38:11] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:38:11] [INFO]   -> Found value: 395
[2025-12-21 00:38:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:38:11] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:38:11] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:38:11] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:38:11] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:38:11] [INFO]   -> Found value: GLEASON
[2025-12-21 00:38:11] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:38:11] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:38:11] [INFO]   -> Found value: TN
[2025-12-21 00:38:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:38:11] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:38:11] [INFO]   -> Found value: 38229
[2025-12-21 00:38:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:38:11] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:38:11] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:38:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:38:11] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:38:11] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:38:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:38:11] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:38:11] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:38:11] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:38:11] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:38:11] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:38:11] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:38:11] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:38:11] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:38:11] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:38:11] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:38:11] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:38:11] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:11] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:11] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:38:11] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:38:11] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:38:11] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:38:11] [INFO]   -> Found value: STROKE
[2025-12-21 00:38:11] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:38:11] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:38:11] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:38:11] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:38:11] [INFO] Number of extracted fields: 14
[2025-12-21 00:38:11] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:38:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:38:11] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:38:11] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:38:11] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:38:11] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:38:11] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:38:11] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:38:12] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:38:12] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:10Z.xml
[2025-12-21 00:38:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:10Z.xml
[2025-12-21 00:38:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:12Z.xml
[2025-12-21 00:38:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:12Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:38:13] [INFO] File size: 60741 bytes
[2025-12-21 00:38:13] [INFO] Created FTPFiles record with ID: 694741756db1bf0a1
[2025-12-21 00:38:13] [INFO] About to extract fields from XML. File size: 60741 bytes
[2025-12-21 00:38:13] [INFO] Number of mappings: 12
[2025-12-21 00:38:13] [INFO] Starting XML parsing. Content length: 60741
[2025-12-21 00:38:13] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:38:13] [INFO] Processing 12 field mappings
[2025-12-21 00:38:13] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:38:13] [INFO]   -> Found value: 395
[2025-12-21 00:38:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:38:13] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:38:13] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:38:13] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:38:13] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:38:13] [INFO]   -> Found value: GLEASON
[2025-12-21 00:38:13] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:38:13] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:38:13] [INFO]   -> Found value: TN
[2025-12-21 00:38:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:38:13] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:38:13] [INFO]   -> Found value: 38229
[2025-12-21 00:38:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:38:13] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:38:13] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:38:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:38:13] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:38:13] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:38:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:38:13] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:38:13] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:38:13] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:38:13] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:38:13] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:38:13] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:38:13] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:38:13] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:38:13] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:38:13] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:38:13] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:38:13] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:13] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:13] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:38:13] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:38:13] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:38:13] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:38:13] [INFO]   -> Found value: STROKE
[2025-12-21 00:38:13] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:38:13] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:38:13] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:38:13] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:38:13] [INFO] Number of extracted fields: 14
[2025-12-21 00:38:13] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:38:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:38:13] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:38:13] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:38:13] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:38:13] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:38:13] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:38:13] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:38:13] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:38:13] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:12Z.xml
[2025-12-21 00:38:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:12Z.xml
[2025-12-21 00:38:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:13Z.xml
[2025-12-21 00:38:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:13Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:38:13] [INFO] File size: 61584 bytes
[2025-12-21 00:38:14] [INFO] Created FTPFiles record with ID: 6947417649aa30bb7
[2025-12-21 00:38:14] [INFO] About to extract fields from XML. File size: 61584 bytes
[2025-12-21 00:38:14] [INFO] Number of mappings: 12
[2025-12-21 00:38:14] [INFO] Starting XML parsing. Content length: 61584
[2025-12-21 00:38:14] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:38:14] [INFO] Processing 12 field mappings
[2025-12-21 00:38:14] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:38:14] [INFO]   -> Found value: 395
[2025-12-21 00:38:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:38:14] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:38:14] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:38:14] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:38:14] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:38:14] [INFO]   -> Found value: GLEASON
[2025-12-21 00:38:14] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:38:14] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:38:14] [INFO]   -> Found value: TN
[2025-12-21 00:38:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:38:14] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:38:14] [INFO]   -> Found value: 38229
[2025-12-21 00:38:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:38:14] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:38:14] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:38:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:38:14] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:38:14] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:38:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:38:14] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:38:14] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:38:14] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:38:14] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:38:14] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:38:14] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:38:14] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:38:14] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:38:14] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:38:14] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:38:14] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:38:14] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:14] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:38:14] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:38:14] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:38:14] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:38:14] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:38:14] [INFO]   -> Found value: STROKE
[2025-12-21 00:38:14] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:38:14] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:38:14] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:38:14] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:38:14] [INFO] Number of extracted fields: 14
[2025-12-21 00:38:14] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:38:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:38:14] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:38:14] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:38:14] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:38:14] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:38:14] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:38:14] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:38:14] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:38:14] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:13Z.xml
[2025-12-21 00:38:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:38:13Z.xml
[2025-12-21 00:41:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:14Z.xml
[2025-12-21 00:41:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:14Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:41:15] [INFO] File size: 62072 bytes
[2025-12-21 00:41:15] [INFO] Created FTPFiles record with ID: 6947422bbcffba5d2
[2025-12-21 00:41:15] [INFO] About to extract fields from XML. File size: 62072 bytes
[2025-12-21 00:41:15] [INFO] Number of mappings: 12
[2025-12-21 00:41:15] [INFO] Starting XML parsing. Content length: 62072
[2025-12-21 00:41:15] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:41:15] [INFO] Processing 12 field mappings
[2025-12-21 00:41:15] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:41:15] [INFO]   -> Found value: 395
[2025-12-21 00:41:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:41:15] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:41:15] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:41:15] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:41:15] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:41:15] [INFO]   -> Found value: GLEASON
[2025-12-21 00:41:15] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:41:15] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:41:15] [INFO]   -> Found value: TN
[2025-12-21 00:41:15] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:41:15] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:41:15] [INFO]   -> Found value: 38229
[2025-12-21 00:41:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:41:15] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:41:15] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:41:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:41:15] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:41:15] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:41:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:41:15] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:41:15] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:41:15] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:41:15] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:41:15] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:41:15] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:41:15] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:41:15] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:41:15] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:41:15] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:41:15] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:41:15] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:41:15] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:41:15] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:41:15] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:41:15] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:41:15] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:41:15] [INFO]   -> Found value: STROKE
[2025-12-21 00:41:15] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:41:15] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:41:15] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:41:15] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:41:15] [INFO] Number of extracted fields: 14
[2025-12-21 00:41:15] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:41:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:41:15] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:41:15] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:41:15] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:41:15] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:41:15] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:41:16] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:41:16] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:41:16] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:14Z.xml
[2025-12-21 00:41:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:14Z.xml
[2025-12-21 00:41:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:21Z.xml
[2025-12-21 00:41:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:21Z.xml for user: 66a7b78a47817ab30
[2025-12-21 00:41:22] [INFO] File size: 62504 bytes
[2025-12-21 00:41:22] [INFO] Created FTPFiles record with ID: 694742326d87d6664
[2025-12-21 00:41:22] [INFO] About to extract fields from XML. File size: 62504 bytes
[2025-12-21 00:41:22] [INFO] Number of mappings: 12
[2025-12-21 00:41:22] [INFO] Starting XML parsing. Content length: 62504
[2025-12-21 00:41:22] [INFO] XML parsed successfully. Root element: CADServiceCallDocument
[2025-12-21 00:41:22] [INFO] Processing 12 field mappings
[2025-12-21 00:41:22] [INFO] Mapping #1: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetNumberText' => 'incidentLocationStreetNumber'
[2025-12-21 00:41:22] [INFO]   -> Found value: 395
[2025-12-21 00:41:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 395
[2025-12-21 00:41:22] [INFO] Mapping #2: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStreet.StreetFullText' => 'streetName'
[2025-12-21 00:41:22] [INFO]   -> Found value: HOPPER RD
[2025-12-21 00:41:22] [INFO]   -> Set field 'streetName' = "HOPPER RD"
[2025-12-21 00:41:22] [INFO] Mapping #3: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationCityName' => 'incidentLocationCity'
[2025-12-21 00:41:22] [INFO]   -> Found value: GLEASON
[2025-12-21 00:41:22] [INFO]   -> Set field 'incidentLocationCity' = "GLEASON"
[2025-12-21 00:41:22] [INFO] Mapping #4: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationStateName' => 'incidentLocationStateName'
[2025-12-21 00:41:22] [INFO]   -> Found value: TN
[2025-12-21 00:41:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 00:41:22] [INFO] Mapping #5: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationAddress.StructuredAddress.LocationPostalCode' => 'nERISIncidentPostalCode'
[2025-12-21 00:41:22] [INFO]   -> Found value: 38229
[2025-12-21 00:41:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38229
[2025-12-21 00:41:22] [INFO] Mapping #6: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLatitude.LatitudeDegreeValue' => 'nERISIncidentLatitude'
[2025-12-21 00:41:22] [INFO]   -> Found value: 36.2144718210213
[2025-12-21 00:41:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21447182102129858094485825859010219573974609375
[2025-12-21 00:41:22] [INFO] Mapping #7: Extracting 'CADServiceCall.ServiceCallResponseLocation.LocationTwoDimensionalGeographicCoordinate.GeographicCoordinateLongitude.LongitudeDegreeValue' => 'nERISIncidentLongitude'
[2025-12-21 00:41:22] [INFO]   -> Found value: -88.6948263504657
[2025-12-21 00:41:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -88.6948263504657035127820563502609729766845703125
[2025-12-21 00:41:22] [INFO] Mapping #8: Extracting 'CADServiceCall.CallInitiatedDateTime' => 'alarm'
[2025-12-21 00:41:22] [INFO] Found 6 elements for 'CallInitiatedDateTime', concatenating 6 non-empty values
[2025-12-21 00:41:22] [INFO]   -> Found value: 2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24...
[2025-12-21 00:41:22] [ERROR] Error formatting datetime '2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z': Failed to parse time string (2025-12-20T18:06:37Z
2025-12-10T22:07:39Z
2025-10-17T14:07:15Z
2025-08-26T15:48:02Z
2025-08-25T23:24:45Z
2025-05-19T20:22:53Z) at position 21 (2): Double time specification
[2025-12-21 00:41:22] [INFO]   -> Set field 'alarm' = null
[2025-12-21 00:41:22] [INFO] Mapping #9: Extracting 'CADServiceCall.UnitAssignment.UnitDispatchedDateTime' => 'dispatched'
[2025-12-21 00:41:22] [INFO]   -> Found value: 2025-12-20T18:08:47Z
[2025-12-21 00:41:22] [INFO]   -> Set field 'dispatched' = "2025-12-20 18:08:47"
[2025-12-21 00:41:22] [INFO] Mapping #10: Extracting 'CADServiceCall.AgencyEventID' => ["cADNumber","dispatchRunNumber"]
[2025-12-21 00:41:22] [INFO] Found 6 elements for 'AgencyEventID', concatenating 6 non-empty values
[2025-12-21 00:41:22] [INFO]   -> Found value: CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881
[2025-12-21 00:41:22] [INFO]   -> Set field 'cADNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:41:22] [INFO]   -> Set field 'dispatchRunNumber' = "CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881"
[2025-12-21 00:41:22] [INFO] Mapping #11: Extracting 'CADServiceCall.Note[0].CallNoteText' => 'dispatchNotes'
[2025-12-21 00:41:22] [INFO]   -> Found value: EVENT ENTRY INITIATED AT 12/20/2025 18:06:37.033
[2025-12-21 00:41:22] [INFO]   -> Set field 'dispatchNotes' = "EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033"
[2025-12-21 00:41:22] [INFO] Mapping #12: Extracting 'CADServiceCall.CallInitialNatureCode' => 'incidentTypeValue1'
[2025-12-21 00:41:22] [INFO]   -> Found value: STROKE
[2025-12-21 00:41:22] [INFO]   -> Set field 'incidentTypeValue1' = "STROKE"
[2025-12-21 00:41:22] [INFO] Finished extracting fields. Total fields extracted: 13
[2025-12-21 00:41:22] [INFO] Built locationCoordinates from lat/lng: 36.214471821021,-88.694826350466
[2025-12-21 00:41:22] [INFO] Extracted parsing rules data: {"incidentLocationStreetNumber":395,"streetName":"HOPPER RD","incidentLocationCity":"GLEASON","incidentLocationStateName":"TN","nERISIncidentPostalCode":38229,"nERISIncidentLatitude":36.21447182102129858094485825859010219573974609375,"nERISIncidentLongitude":-88.6948263504657035127820563502609729766845703125,"alarm":null,"dispatched":"2025-12-20 18:08:47","cADNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchRunNumber":"CAD25-049490\nCAD25-047814\nWCFS2540275\nWCFS2532571\nWCFS2532492\nWCFS2518881","dispatchNotes":"EVENT ENTRY INITIATED AT 12\/20\/2025 18:06:37.033","incidentTypeValue1":"STROKE","locationCoordinates":"36.214471821021,-88.694826350466"}
[2025-12-21 00:41:22] [INFO] Number of extracted fields: 14
[2025-12-21 00:41:22] [INFO] MULTI-AGENCY: No cADAgencyIdentifier found in extracted data
[2025-12-21 00:41:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'NULL', Parsed IDs = [], Assigned Agencies count = 1
[2025-12-21 00:41:22] [WARNING] WARNING: Multi-agency mailbox (1 agencies) received dispatch WITHOUT cADAgencyIdentifier. This dispatch will use mailbox default agency. Check XML field mapping for cADAgencyIdentifier.
[2025-12-21 00:41:22] [INFO] Single-agency mode: Using mailbox saasclientId: 653ad9b50d6738006
[2025-12-21 00:41:22] [INFO] Final routing: saasclientId = 653ad9b50d6738006, dispatchStationsIds = ["657eac8334fb835a4"]
[2025-12-21 00:41:22] [INFO] Normalized cADNumber to first value: CAD25-049490
[2025-12-21 00:41:22] [INFO] Found existing IncidentTypeMapping with ID: 69474008601351b7d
[2025-12-21 00:41:22] [INFO] Found existing Dispatch with cADNumber 'CAD25-049490
CAD25-047814
WCFS2540275
WCFS2532571
WCFS2532492
WCFS2518881', ID: 69474008b7dbe2db2 - will update instead of create
[2025-12-21 00:41:22] [INFO] Updated existing Dispatches record with ID: 69474008b7dbe2db2
[2025-12-21 00:41:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:21Z.xml
[2025-12-21 00:41:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:41:21Z.xml
[2025-12-21 00:42:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:42:40Z.xml
[2025-12-21 00:42:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:42:40Z.xml
[2025-12-21 00:42:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:42:41Z.xml
[2025-12-21 00:42:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:42:41Z.xml
[2025-12-21 00:45:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:45:16Z.xml
[2025-12-21 00:45:17] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 18:45:16Z.xml
[2025-12-21 01:03:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:42Z.xml
[2025-12-21 01:03:45] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:42Z.xml
[2025-12-21 01:03:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:44Z.xml
[2025-12-21 01:03:45] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:44Z.xml
[2025-12-21 01:03:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:46Z.xml
[2025-12-21 01:03:47] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:46Z.xml
[2025-12-21 01:03:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:47Z.xml
[2025-12-21 01:03:48] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:47Z.xml
[2025-12-21 01:03:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:56Z.xml
[2025-12-21 01:03:57] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:56Z.xml
[2025-12-21 01:03:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:58Z.xml
[2025-12-21 01:03:58] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD25-049490_2025-12-20 19:03:58Z.xml
[2025-12-21 03:11:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml
[2025-12-21 03:11:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml for user: 68d56363ec1209189
[2025-12-21 03:11:36] [INFO] File size: 2113 bytes
[2025-12-21 03:11:37] [INFO] Created FTPFiles record with ID: 69476568ef09d3f6f
[2025-12-21 03:11:37] [INFO] About to extract fields from XML. File size: 2113 bytes
[2025-12-21 03:11:37] [INFO] Number of mappings: 21
[2025-12-21 03:11:37] [INFO] Starting XML parsing. Content length: 2113
[2025-12-21 03:11:37] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 03:11:37] [INFO] Processing 21 field mappings
[2025-12-21 03:11:37] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 03:11:37] [INFO]   -> Found value: 25-30419
[2025-12-21 03:11:37] [INFO]   -> Set field 'dispatchRunNumber' = "25-30419"
[2025-12-21 03:11:37] [INFO]   -> Set field 'cADNumber' = "25-30419"
[2025-12-21 03:11:37] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 03:11:37] [INFO]   -> Found value: 1123
[2025-12-21 03:11:37] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1123
[2025-12-21 03:11:37] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 03:11:37] [INFO]   -> Found value: GENERAL GEORGE E DAY PKWY
[2025-12-21 03:11:37] [INFO]   -> Set field 'streetName' = "GENERAL GEORGE E DAY PKWY"
[2025-12-21 03:11:37] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 03:11:37] [INFO]   -> No value found (null or empty)
[2025-12-21 03:11:37] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 03:11:37] [INFO]   -> Found value: SIKESTON
[2025-12-21 03:11:37] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-21 03:11:37] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 03:11:37] [INFO]   -> Found value: WING ELEMENTARY
[2025-12-21 03:11:37] [INFO]   -> Set field 'businessName' = "WING ELEMENTARY"
[2025-12-21 03:11:37] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 03:11:37] [INFO]   -> Found value: MO
[2025-12-21 03:11:37] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-21 03:11:37] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 03:11:37] [INFO]   -> Found value: 63801
[2025-12-21 03:11:37] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-21 03:11:37] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 03:11:37] [INFO]   -> Found value: 0
[2025-12-21 03:11:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 03:11:37] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 03:11:37] [INFO]   -> Found value: 0
[2025-12-21 03:11:37] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 03:11:37] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 03:11:37] [INFO]   -> Found value: FIRE-GAS LEAK
[2025-12-21 03:11:37] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2025-12-21 03:11:37] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM 
POSSIBLY GAS...
[2025-12-21 03:11:37] [INFO]   -> Set field 'dispatchNotes' = "12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA"
[2025-12-21 03:11:37] [INFO]   -> Set field 'cADLog' = "12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA"
[2025-12-21 03:11:37] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025T20:03:43
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:03:43
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T20:03:43': Failed to parse time string (2025-20-12T20:03:43) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'alarm' = null
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:03:43
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T20:03:43': Failed to parse time string (2025-20-12T20:03:43) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 03:11:37] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025T20:05:35
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:05:35
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T20:05:35': Failed to parse time string (2025-20-12T20:05:35) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'onScene' = null
[2025-12-21 03:11:37] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025T21:11:04
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T21:11:04
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T21:11:04': Failed to parse time string (2025-20-12T21:11:04) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'cleared' = null
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T21:11:04
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T21:11:04': Failed to parse time string (2025-20-12T21:11:04) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'inService' = null
[2025-12-21 03:11:37] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 03:11:37] [INFO]   -> Found value: ENG2
[2025-12-21 03:11:37] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-12-21 03:11:37] [INFO]   -> Set field 'name' = "ENG2"
[2025-12-21 03:11:37] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025T20:06:22
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:06:22
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T20:06:22': Failed to parse time string (2025-20-12T20:06:22) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-21 03:11:37] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025T20:11:24
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:11:24
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T20:11:24': Failed to parse time string (2025-20-12T20:11:24) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'timeonscene' = null
[2025-12-21 03:11:37] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025T21:11:04
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T21:11:04
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T21:11:04': Failed to parse time string (2025-20-12T21:11:04) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 03:11:37] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 03:11:37] [INFO]   -> Found value: 12-20-2025T20:06:18
[2025-12-21 03:11:37] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:06:18
[2025-12-21 03:11:37] [ERROR] Error formatting datetime '2025-20-12T20:06:18': Failed to parse time string (2025-20-12T20:06:18) at position 6 (0): Unexpected character
[2025-12-21 03:11:37] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 03:11:37] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 03:11:37] [INFO]   -> Found value: SDPSFD
[2025-12-21 03:11:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-21 03:11:37] [INFO] Finished extracting fields. Total fields extracted: 25
[2025-12-21 03:11:37] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 03:11:37] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30419","cADNumber":"25-30419","incidentLocationStreetNumber":1123,"streetName":"GENERAL GEORGE E DAY PKWY","incidentLocationCity":"SIKESTON","businessName":"WING ELEMENTARY","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA","cADLog":"12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-21 03:11:37] [INFO] Number of extracted fields: 26
[2025-12-21 03:11:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-21 03:11:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Assigned Agencies count = 2
[2025-12-21 03:11:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-21 03:11:37] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (position 1)
[2025-12-21 03:11:37] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS for AgencyCode 'SDPSFD'
[2025-12-21 03:11:37] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on AgencyCode 'SDPSFD'
[2025-12-21 03:11:37] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 03:11:37] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 03:11:37] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-21 03:11:37] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2025-12-21 03:11:39] [INFO] Created new Dispatches record with ID: 69476569b8b7ffe9b
[2025-12-21 03:11:39] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml
[2025-12-21 03:11:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml
[2025-12-21 05:33:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139688_20251221_053317.XML
[2025-12-21 05:33:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139688_20251221_053317.XML for user: 68f1466aed072ad4a
[2025-12-21 05:33:17] [INFO] File size: 5414 bytes
[2025-12-21 05:33:17] [INFO] Created FTPFiles record with ID: 6947869d60c67c1f6
[2025-12-21 05:33:17] [INFO] About to extract fields from XML. File size: 5414 bytes
[2025-12-21 05:33:17] [INFO] Number of mappings: 28
[2025-12-21 05:33:17] [INFO] Starting XML parsing. Content length: 5414
[2025-12-21 05:33:17] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 05:33:17] [INFO] Processing 28 field mappings
[2025-12-21 05:33:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 05:33:17] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-21 05:33:17] [INFO]   -> Found value: PCFD
EMS
RESC
[2025-12-21 05:33:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2025-12-21 05:33:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 05:33:17] [INFO] Found 3 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-21 05:33:17] [INFO]   -> Found value: 2025003124
2025019829
[2025-12-21 05:33:17] [INFO]   -> Set field 'incidentInternalId' = "2025003124\n2025019829"
[2025-12-21 05:33:17] [INFO]   -> Set field 'dispatchRunNumber' = "2025003124\n2025019829"
[2025-12-21 05:33:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 05:33:17] [INFO]   -> Found value: FAINTING / SYNCOPE
[2025-12-21 05:33:17] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2025-12-21 05:33:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 05:33:17] [INFO]   -> Found value: 2245
[2025-12-21 05:33:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2245
[2025-12-21 05:33:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 05:33:17] [INFO]   -> Found value: TN
[2025-12-21 05:33:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 05:33:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 05:33:17] [INFO]   -> Found value: 36.20119
[2025-12-21 05:33:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.201189999999996871338225901126861572265625
[2025-12-21 05:33:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 05:33:17] [INFO]   -> Found value: -85.61318
[2025-12-21 05:33:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.61317999999999983629095368087291717529296875
[2025-12-21 05:33:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 05:33:17] [INFO]   -> Found value: 2025-12-20 23:32:02
[2025-12-21 05:33:17] [INFO]   -> Set field 'alarm' = "2025-12-20 23:32:02"
[2025-12-21 05:33:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 05:33:17] [INFO]   -> Found value: 2025-12-20 23:33:08
[2025-12-21 05:33:17] [INFO]   -> Set field 'dispatched' = "2025-12-20 23:33:08"
[2025-12-21 05:33:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 05:33:17] [INFO]   -> Found value: PCFR
[2025-12-21 05:33:17] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-21 05:33:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 05:33:17] [INFO]   -> Found value: 2025-12-20 23:33:08
[2025-12-21 05:33:17] [INFO]   -> Set field 'timedispatch' = "2025-12-20 23:33:08"
[2025-12-21 05:33:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 05:33:17] [INFO]   -> No value found (null or empty)
[2025-12-21 05:33:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 05:33:17] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-21 05:33:17] [INFO]   -> Found value: 20250139688
20250139687
20250139689
[2025-12-21 05:33:17] [INFO]   -> Set field 'policeReportNumber' = "20250139688\n20250139687\n20250139689"
[2025-12-21 05:33:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 05:33:17] [INFO]   -> Found value: [EMS] UDTS: {711} UNIT DIRECT  [12/20/25 23:33:09 DSWINK] [EMS] FRONT DOOR ENTRANCE  [12/20/25 23:32...
[2025-12-21 05:33:17] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: {711} UNIT DIRECT  [12\/20\/25 23:33:09 DSWINK] [EMS] FRONT DOOR ENTRANCE  [12\/20\/25 23:32:50 DSWINK] [EMS] UNKNOWN WHAT HAS CAUSED THIS \/\/ FEELS HOT AND LIKE SHE IS GOING TO PASS OUT AGAIN  [12\/20\/25 23:32:45 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [12\/20\/2025 23:32:02 DSWINK] WIFE PASSED OUT USING THE BATHROOM AWAKE NOW 35 YOF  [12\/20\/25 23:31:58 DSWINK]]"
[2025-12-21 05:33:17] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: {711} UNIT DIRECT  [12\/20\/25 23:33:09 DSWINK] [EMS] FRONT DOOR ENTRANCE  [12\/20\/25 23:32:50 DSWINK] [EMS] UNKNOWN WHAT HAS CAUSED THIS \/\/ FEELS HOT AND LIKE SHE IS GOING TO PASS OUT AGAIN  [12\/20\/25 23:32:45 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [12\/20\/2025 23:32:02 DSWINK] WIFE PASSED OUT USING THE BATHROOM AWAKE NOW 35 YOF  [12\/20\/25 23:31:58 DSWINK]]"
[2025-12-21 05:33:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 05:33:17] [INFO]   -> Found value: BAXTER
[2025-12-21 05:33:17] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2025-12-21 05:33:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 05:33:17] [INFO]   -> Found value: OLD GAINESBORO
[2025-12-21 05:33:17] [INFO]   -> Set field 'streetName' = "OLD GAINESBORO"
[2025-12-21 05:33:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 05:33:17] [INFO]   -> Found value: RD
[2025-12-21 05:33:17] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-21 05:33:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 05:33:17] [INFO]   -> Found value: 2245 OLD GAINESBORO RD
[2025-12-21 05:33:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2245 OLD GAINESBORO RD"
[2025-12-21 05:33:17] [INFO] Finished extracting fields. Total fields extracted: 19
[2025-12-21 05:33:17] [INFO] Concatenating street name and type
[2025-12-21 05:33:17] [INFO]   -> Combined street name: OLD GAINESBORO RD
[2025-12-21 05:33:17] [INFO] Built locationCoordinates from lat/lng: 36.20119,-85.61318
[2025-12-21 05:33:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2025003124\n2025019829","dispatchRunNumber":"2025003124\n2025019829","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":2245,"incidentLocationStateName":"TN","nERISIncidentLatitude":36.201189999999996871338225901126861572265625,"nERISIncidentLongitude":-85.61317999999999983629095368087291717529296875,"alarm":"2025-12-20 23:32:02","dispatched":"2025-12-20 23:33:08","cADVehicleID":"PCFR","timedispatch":"2025-12-20 23:33:08","policeReportNumber":"20250139688\n20250139687\n20250139689","dispatchNotes":"[EMS] UDTS: {711} UNIT DIRECT  [12\/20\/25 23:33:09 DSWINK] [EMS] FRONT DOOR ENTRANCE  [12\/20\/25 23:32:50 DSWINK] [EMS] UNKNOWN WHAT HAS CAUSED THIS \/\/ FEELS HOT AND LIKE SHE IS GOING TO PASS OUT AGAIN  [12\/20\/25 23:32:45 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [12\/20\/2025 23:32:02 DSWINK] WIFE PASSED OUT USING THE BATHROOM AWAKE NOW 35 YOF  [12\/20\/25 23:31:58 DSWINK]]","cADLog":"[EMS] UDTS: {711} UNIT DIRECT  [12\/20\/25 23:33:09 DSWINK] [EMS] FRONT DOOR ENTRANCE  [12\/20\/25 23:32:50 DSWINK] [EMS] UNKNOWN WHAT HAS CAUSED THIS \/\/ FEELS HOT AND LIKE SHE IS GOING TO PASS OUT AGAIN  [12\/20\/25 23:32:45 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [12\/20\/2025 23:32:02 DSWINK] WIFE PASSED OUT USING THE BATHROOM AWAKE NOW 35 YOF  [12\/20\/25 23:31:58 DSWINK]]","incidentLocationCity":"BAXTER","streetName":"OLD GAINESBORO RD","incidentAddressTextVersionStreet":"2245 OLD GAINESBORO RD","locationCoordinates":"36.20119,-85.61318"}
[2025-12-21 05:33:17] [INFO] Number of extracted fields: 19
[2025-12-21 05:33:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-21 05:33:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Assigned Agencies count = 4
[2025-12-21 05:33:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2025-12-21 05:33:17] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 05:33:17] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 05:33:17] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 05:33:17] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS","RESC"]
[2025-12-21 05:33:17] [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"]
[2025-12-21 05:33:17] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 05:33:17] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 05:33:17] [INFO] Normalized cADNumber to first value: 2025003124
[2025-12-21 05:33:17] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2025-12-21 05:33:20] [INFO] Created new Dispatches record with ID: 6947869e24d0a18de
[2025-12-21 05:33:20] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139688_20251221_053317.XML
[2025-12-21 05:33:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139688_20251221_053317.XML
[2025-12-21 06:32:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml
[2025-12-21 06:32:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml for user: 68d56363ec1209189
[2025-12-21 06:32:18] [INFO] File size: 2161 bytes
[2025-12-21 06:32:18] [INFO] Created FTPFiles record with ID: 69479472a0f02344b
[2025-12-21 06:32:18] [INFO] About to extract fields from XML. File size: 2161 bytes
[2025-12-21 06:32:18] [INFO] Number of mappings: 21
[2025-12-21 06:32:18] [INFO] Starting XML parsing. Content length: 2161
[2025-12-21 06:32:18] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 06:32:18] [INFO] Processing 21 field mappings
[2025-12-21 06:32:18] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 06:32:18] [INFO]   -> Found value: 25-30419
[2025-12-21 06:32:18] [INFO]   -> Set field 'dispatchRunNumber' = "25-30419"
[2025-12-21 06:32:18] [INFO]   -> Set field 'cADNumber' = "25-30419"
[2025-12-21 06:32:18] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 06:32:18] [INFO]   -> Found value: 1123
[2025-12-21 06:32:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1123
[2025-12-21 06:32:18] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 06:32:18] [INFO]   -> Found value: GENERAL GEORGE E DAY PKWY
[2025-12-21 06:32:18] [INFO]   -> Set field 'streetName' = "GENERAL GEORGE E DAY PKWY"
[2025-12-21 06:32:18] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 06:32:18] [INFO]   -> No value found (null or empty)
[2025-12-21 06:32:18] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 06:32:18] [INFO]   -> Found value: SIKESTON
[2025-12-21 06:32:18] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-21 06:32:18] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 06:32:18] [INFO]   -> Found value: WING ELEMENTARY
[2025-12-21 06:32:18] [INFO]   -> Set field 'businessName' = "WING ELEMENTARY"
[2025-12-21 06:32:18] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 06:32:18] [INFO]   -> Found value: MO
[2025-12-21 06:32:18] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-21 06:32:18] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 06:32:18] [INFO]   -> Found value: 63801
[2025-12-21 06:32:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-21 06:32:18] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 06:32:18] [INFO]   -> Found value: 0
[2025-12-21 06:32:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 06:32:18] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 06:32:18] [INFO]   -> Found value: 0
[2025-12-21 06:32:18] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 06:32:18] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 06:32:18] [INFO]   -> Found value: FIRE-GAS LEAK
[2025-12-21 06:32:18] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GAS LEAK"
[2025-12-21 06:32:18] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM 
POSSIBLY GAS...
[2025-12-21 06:32:18] [INFO]   -> Set field 'dispatchNotes' = "12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA 12-20-2025 21:11:09|Disposition - SDPS FD:  RPT"
[2025-12-21 06:32:18] [INFO]   -> Set field 'cADLog' = "12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA 12-20-2025 21:11:09|Disposition - SDPS FD:  RPT"
[2025-12-21 06:32:18] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025T20:03:43
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:03:43
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T20:03:43': Failed to parse time string (2025-20-12T20:03:43) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'alarm' = null
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:03:43
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T20:03:43': Failed to parse time string (2025-20-12T20:03:43) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 06:32:18] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025T20:05:35
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:05:35
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T20:05:35': Failed to parse time string (2025-20-12T20:05:35) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'onScene' = null
[2025-12-21 06:32:18] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025T21:11:04
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T21:11:04
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T21:11:04': Failed to parse time string (2025-20-12T21:11:04) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'cleared' = null
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T21:11:04
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T21:11:04': Failed to parse time string (2025-20-12T21:11:04) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'inService' = null
[2025-12-21 06:32:18] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 06:32:18] [INFO]   -> Found value: ENG2
[2025-12-21 06:32:18] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-12-21 06:32:18] [INFO]   -> Set field 'name' = "ENG2"
[2025-12-21 06:32:18] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025T20:06:22
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:06:22
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T20:06:22': Failed to parse time string (2025-20-12T20:06:22) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-21 06:32:18] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025T20:11:24
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:11:24
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T20:11:24': Failed to parse time string (2025-20-12T20:11:24) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'timeonscene' = null
[2025-12-21 06:32:18] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025T21:11:04
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T21:11:04
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T21:11:04': Failed to parse time string (2025-20-12T21:11:04) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 06:32:18] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 06:32:18] [INFO]   -> Found value: 12-20-2025T20:06:18
[2025-12-21 06:32:18] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T20:06:18
[2025-12-21 06:32:18] [ERROR] Error formatting datetime '2025-20-12T20:06:18': Failed to parse time string (2025-20-12T20:06:18) at position 6 (0): Unexpected character
[2025-12-21 06:32:18] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 06:32:18] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 06:32:18] [INFO]   -> Found value: SDPSFD
[2025-12-21 06:32:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-21 06:32:18] [INFO] Finished extracting fields. Total fields extracted: 25
[2025-12-21 06:32:18] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 06:32:18] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30419","cADNumber":"25-30419","incidentLocationStreetNumber":1123,"streetName":"GENERAL GEORGE E DAY PKWY","incidentLocationCity":"SIKESTON","businessName":"WING ELEMENTARY","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GAS LEAK","dispatchNotes":"12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA 12-20-2025 21:11:09|Disposition - SDPS FD:  RPT","cADLog":"12-20-2025 20:00:09|SMELL OF NATURAL GAS IN AREA  UNABLE TO TELL WHERE ITS COMING FROM \nPOSSIBLY GAS LINE TO WING ELEMENTARY  12-20-2025 20:16:49|LIBERTY NOTIFIED 12-20-2025 20:17:38|LIBERTY ENROUTE 12-20-2025 20:37:22|C92 ON YELLOWSTONE 12-20-2025 20:45:25|Disposition - SDPS PD:  NRN 12-20-2025 20:45:38|LIBERTY ON SCENE 12-20-2025 21:01:15|Disposition - SDPS PD:  NRN 12-20-2025 21:10:57|LEAK UNFOUNDED LIBERTY CHECKING THE AREA 12-20-2025 21:11:09|Disposition - SDPS FD:  RPT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-21 06:32:18] [INFO] Number of extracted fields: 26
[2025-12-21 06:32:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-21 06:32:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Assigned Agencies count = 2
[2025-12-21 06:32:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-21 06:32:18] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (position 1)
[2025-12-21 06:32:18] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS for AgencyCode 'SDPSFD'
[2025-12-21 06:32:18] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on AgencyCode 'SDPSFD'
[2025-12-21 06:32:18] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 06:32:18] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 06:32:18] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-21 06:32:19] [INFO] Found existing IncidentTypeMapping with ID: 68e4025e2ad978594
[2025-12-21 06:32:19] [INFO] Found existing Dispatch with cADNumber '25-30419', ID: 69476569b8b7ffe9b - will update instead of create
[2025-12-21 06:32:19] [INFO] Updated existing Dispatches record with ID: 69476569b8b7ffe9b
[2025-12-21 06:32:19] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml
[2025-12-21 06:32:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30419.xml
[2025-12-21 06:58:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30437.xml
[2025-12-21 06:58:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30437.xml for user: 68d56363ec1209189
[2025-12-21 06:58:39] [INFO] File size: 1527 bytes
[2025-12-21 06:58:39] [INFO] Created FTPFiles record with ID: 69479a9fb6ab67964
[2025-12-21 06:58:39] [INFO] About to extract fields from XML. File size: 1527 bytes
[2025-12-21 06:58:39] [INFO] Number of mappings: 21
[2025-12-21 06:58:39] [INFO] Starting XML parsing. Content length: 1527
[2025-12-21 06:58:39] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 06:58:39] [INFO] Processing 21 field mappings
[2025-12-21 06:58:39] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 06:58:39] [INFO]   -> Found value: 25-30437
[2025-12-21 06:58:39] [INFO]   -> Set field 'dispatchRunNumber' = "25-30437"
[2025-12-21 06:58:39] [INFO]   -> Set field 'cADNumber' = "25-30437"
[2025-12-21 06:58:39] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 06:58:39] [INFO]   -> Found value: 1008
[2025-12-21 06:58:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1008
[2025-12-21 06:58:39] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 06:58:39] [INFO]   -> Found value: N MAIN ST
[2025-12-21 06:58:39] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2025-12-21 06:58:39] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 06:58:39] [INFO]   -> No value found (null or empty)
[2025-12-21 06:58:39] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 06:58:39] [INFO]   -> Found value: SIKESTON
[2025-12-21 06:58:39] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-21 06:58:39] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 06:58:39] [INFO]   -> Found value: MDMC
[2025-12-21 06:58:39] [INFO]   -> Set field 'businessName' = "MDMC"
[2025-12-21 06:58:39] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 06:58:39] [INFO]   -> Found value: MO
[2025-12-21 06:58:39] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-21 06:58:39] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 06:58:39] [INFO]   -> Found value: 63801
[2025-12-21 06:58:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-21 06:58:39] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 06:58:39] [INFO]   -> Found value: 0
[2025-12-21 06:58:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 06:58:39] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 06:58:39] [INFO]   -> Found value: 0
[2025-12-21 06:58:39] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 06:58:39] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 06:58:39] [INFO]   -> Found value: FIRE-AIRCRAFT STANDBY
[2025-12-21 06:58:39] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-AIRCRAFT STANDBY"
[2025-12-21 06:58:39] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 06:58:39] [INFO]   -> Found value: 12-21-2025 00:12:29|ETA 10 MINUTES  12-21-2025 00:23:56|FLIGHT CREW ON BOARD ENROUTE TO ER 12-21-202...
[2025-12-21 06:58:39] [INFO]   -> Set field 'dispatchNotes' = "12-21-2025 00:12:29|ETA 10 MINUTES  12-21-2025 00:23:56|FLIGHT CREW ON BOARD ENROUTE TO ER 12-21-2025 00:24:20|AT ER MILEAGE 1.2 12-21-2025 00:46:08|PATIENT AND FLIGHT CREW LOADED ENROUTE TO HELI PAD"
[2025-12-21 06:58:39] [INFO]   -> Set field 'cADLog' = "12-21-2025 00:12:29|ETA 10 MINUTES  12-21-2025 00:23:56|FLIGHT CREW ON BOARD ENROUTE TO ER 12-21-2025 00:24:20|AT ER MILEAGE 1.2 12-21-2025 00:46:08|PATIENT AND FLIGHT CREW LOADED ENROUTE TO HELI PAD"
[2025-12-21 06:58:39] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 06:58:39] [INFO]   -> Found value: 12-21-2025T00:15:09
[2025-12-21 06:58:39] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T00:15:09
[2025-12-21 06:58:39] [ERROR] Error formatting datetime '2025-21-12T00:15:09': Failed to parse time string (2025-21-12T00:15:09) at position 6 (1): Unexpected character
[2025-12-21 06:58:39] [INFO]   -> Set field 'alarm' = null
[2025-12-21 06:58:39] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T00:15:09
[2025-12-21 06:58:39] [ERROR] Error formatting datetime '2025-21-12T00:15:09': Failed to parse time string (2025-21-12T00:15:09) at position 6 (1): Unexpected character
[2025-12-21 06:58:39] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 06:58:39] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 06:58:39] [INFO]   -> Found value: 12-21-2025T00:47:10
[2025-12-21 06:58:39] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T00:47:10
[2025-12-21 06:58:39] [ERROR] Error formatting datetime '2025-21-12T00:47:10': Failed to parse time string (2025-21-12T00:47:10) at position 6 (1): Unexpected character
[2025-12-21 06:58:39] [INFO]   -> Set field 'onScene' = null
[2025-12-21 06:58:39] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 06:58:39] [INFO]   -> Found value: 12-21-2025T00:57:58
[2025-12-21 06:58:39] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T00:57:58
[2025-12-21 06:58:39] [ERROR] Error formatting datetime '2025-21-12T00:57:58': Failed to parse time string (2025-21-12T00:57:58) at position 6 (1): Unexpected character
[2025-12-21 06:58:39] [INFO]   -> Set field 'cleared' = null
[2025-12-21 06:58:39] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T00:57:58
[2025-12-21 06:58:39] [ERROR] Error formatting datetime '2025-21-12T00:57:58': Failed to parse time string (2025-21-12T00:57:58) at position 6 (1): Unexpected character
[2025-12-21 06:58:39] [INFO]   -> Set field 'inService' = null
[2025-12-21 06:58:39] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 06:58:39] [INFO]   -> Found value: SIK STILL
[2025-12-21 06:58:39] [INFO]   -> Set field 'cADVehicleID' = "SIK STILL"
[2025-12-21 06:58:39] [INFO]   -> Set field 'name' = "SIK STILL"
[2025-12-21 06:58:39] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 06:58:39] [INFO]   -> No value found (null or empty)
[2025-12-21 06:58:39] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 06:58:39] [INFO]   -> No value found (null or empty)
[2025-12-21 06:58:39] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 06:58:39] [INFO]   -> Found value: 12-21-2025T00:57:58
[2025-12-21 06:58:39] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T00:57:58
[2025-12-21 06:58:39] [ERROR] Error formatting datetime '2025-21-12T00:57:58': Failed to parse time string (2025-21-12T00:57:58) at position 6 (1): Unexpected character
[2025-12-21 06:58:39] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 06:58:39] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 06:58:39] [INFO]   -> Found value: 12-21-2025T00:15:09
[2025-12-21 06:58:39] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T00:15:09
[2025-12-21 06:58:39] [ERROR] Error formatting datetime '2025-21-12T00:15:09': Failed to parse time string (2025-21-12T00:15:09) at position 6 (1): Unexpected character
[2025-12-21 06:58:39] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 06:58:39] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 06:58:39] [INFO]   -> Found value: SDPSFD
[2025-12-21 06:58:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-21 06:58:39] [INFO] Finished extracting fields. Total fields extracted: 23
[2025-12-21 06:58:39] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 06:58:39] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30437","cADNumber":"25-30437","incidentLocationStreetNumber":1008,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"MDMC","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-AIRCRAFT STANDBY","dispatchNotes":"12-21-2025 00:12:29|ETA 10 MINUTES  12-21-2025 00:23:56|FLIGHT CREW ON BOARD ENROUTE TO ER 12-21-2025 00:24:20|AT ER MILEAGE 1.2 12-21-2025 00:46:08|PATIENT AND FLIGHT CREW LOADED ENROUTE TO HELI PAD","cADLog":"12-21-2025 00:12:29|ETA 10 MINUTES  12-21-2025 00:23:56|FLIGHT CREW ON BOARD ENROUTE TO ER 12-21-2025 00:24:20|AT ER MILEAGE 1.2 12-21-2025 00:46:08|PATIENT AND FLIGHT CREW LOADED ENROUTE TO HELI PAD","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"SIK STILL","name":"SIK STILL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-21 06:58:39] [INFO] Number of extracted fields: 24
[2025-12-21 06:58:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-21 06:58:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Assigned Agencies count = 2
[2025-12-21 06:58:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-21 06:58:39] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (position 1)
[2025-12-21 06:58:39] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS for AgencyCode 'SDPSFD'
[2025-12-21 06:58:39] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on AgencyCode 'SDPSFD'
[2025-12-21 06:58:40] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 06:58:40] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 06:58:40] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-21 06:58:40] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e875662f9c
[2025-12-21 06:58:41] [INFO] Created new Dispatches record with ID: 69479aa070e548a1a
[2025-12-21 06:58:41] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30437.xml
[2025-12-21 06:58:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30437.xml
[2025-12-21 08:33:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30435.xml
[2025-12-21 08:33:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30435.xml for user: 68d56363ec1209189
[2025-12-21 08:33:57] [INFO] File size: 2211 bytes
[2025-12-21 08:33:57] [INFO] Created FTPFiles record with ID: 6947b0f56bb989fe9
[2025-12-21 08:33:57] [INFO] About to extract fields from XML. File size: 2211 bytes
[2025-12-21 08:33:57] [INFO] Number of mappings: 21
[2025-12-21 08:33:57] [INFO] Starting XML parsing. Content length: 2211
[2025-12-21 08:33:57] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 08:33:57] [INFO] Processing 21 field mappings
[2025-12-21 08:33:57] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 08:33:57] [INFO]   -> Found value: 25-30435
[2025-12-21 08:33:57] [INFO]   -> Set field 'dispatchRunNumber' = "25-30435"
[2025-12-21 08:33:57] [INFO]   -> Set field 'cADNumber' = "25-30435"
[2025-12-21 08:33:57] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 08:33:57] [INFO]   -> Found value: 1
[2025-12-21 08:33:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1
[2025-12-21 08:33:57] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 08:33:57] [INFO]   -> Found value: S SPRIGG ST
[2025-12-21 08:33:57] [INFO]   -> Set field 'streetName' = "S SPRIGG ST"
[2025-12-21 08:33:57] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 08:33:57] [INFO]   -> No value found (null or empty)
[2025-12-21 08:33:57] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 08:33:57] [INFO]   -> Found value: CAPE GIRARDEAU
[2025-12-21 08:33:57] [INFO]   -> Set field 'incidentLocationCity' = "CAPE GIRARDEAU"
[2025-12-21 08:33:57] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 08:33:57] [INFO]   -> No value found (null or empty)
[2025-12-21 08:33:57] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 08:33:57] [INFO]   -> No value found (null or empty)
[2025-12-21 08:33:57] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 08:33:57] [INFO]   -> No value found (null or empty)
[2025-12-21 08:33:57] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 08:33:57] [INFO]   -> Found value: 0
[2025-12-21 08:33:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 08:33:57] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 08:33:57] [INFO]   -> Found value: 0
[2025-12-21 08:33:57] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 08:33:57] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 08:33:57] [INFO]   -> Found value: FIRE-MUTUAL AID
[2025-12-21 08:33:57] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-MUTUAL AID"
[2025-12-21 08:33:57] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-20-2025 23:07:23|2ND ALARM FIRE
STAGE AT STATION ONE IN CASE NEEDED 
 12-20-2025 23:27:28|ENG 1 A...
[2025-12-21 08:33:57] [INFO]   -> Set field 'dispatchNotes' = "12-20-2025 23:07:23|2ND ALARM FIRE\nSTAGE AT STATION ONE IN CASE NEEDED \n 12-20-2025 23:27:28|ENG 1 AT STATION 3 12-20-2025 23:34:50|C84 IS TAKING LADDER 3 AND FIRE PERSONAL 12-20-2025 23:35:39|L3 EN ROUTE TO CAPE WITH 4  C84 EN ROUTE WITH 2 12-21-2025 01:35:19|RELEASED FROM CAPE RETURNING TO CITY"
[2025-12-21 08:33:57] [INFO]   -> Set field 'cADLog' = "12-20-2025 23:07:23|2ND ALARM FIRE\nSTAGE AT STATION ONE IN CASE NEEDED \n 12-20-2025 23:27:28|ENG 1 AT STATION 3 12-20-2025 23:34:50|C84 IS TAKING LADDER 3 AND FIRE PERSONAL 12-20-2025 23:35:39|L3 EN ROUTE TO CAPE WITH 4  C84 EN ROUTE WITH 2 12-21-2025 01:35:19|RELEASED FROM CAPE RETURNING TO CITY"
[2025-12-21 08:33:57] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-20-2025T23:14:53
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T23:14:53
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-20-12T23:14:53': Failed to parse time string (2025-20-12T23:14:53) at position 6 (0): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'alarm' = null
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T23:14:53
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-20-12T23:14:53': Failed to parse time string (2025-20-12T23:14:53) at position 6 (0): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 08:33:57] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-20-2025T23:27:15
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T23:27:15
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-20-12T23:27:15': Failed to parse time string (2025-20-12T23:27:15) at position 6 (0): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'onScene' = null
[2025-12-21 08:33:57] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-21-2025T02:33:29
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T02:33:29
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-21-12T02:33:29': Failed to parse time string (2025-21-12T02:33:29) at position 6 (1): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'cleared' = null
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T02:33:29
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-21-12T02:33:29': Failed to parse time string (2025-21-12T02:33:29) at position 6 (1): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'inService' = null
[2025-12-21 08:33:57] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 08:33:57] [INFO]   -> Found value: ENG1
[2025-12-21 08:33:57] [INFO]   -> Set field 'cADVehicleID' = "ENG1"
[2025-12-21 08:33:57] [INFO]   -> Set field 'name' = "ENG1"
[2025-12-21 08:33:57] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-20-2025T23:22:16
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T23:22:16
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-20-12T23:22:16': Failed to parse time string (2025-20-12T23:22:16) at position 6 (0): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-21 08:33:57] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-20-2025T23:27:15
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T23:27:15
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-20-12T23:27:15': Failed to parse time string (2025-20-12T23:27:15) at position 6 (0): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'timeonscene' = null
[2025-12-21 08:33:57] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-21-2025T02:33:29
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T02:33:29
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-21-12T02:33:29': Failed to parse time string (2025-21-12T02:33:29) at position 6 (1): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 08:33:57] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 08:33:57] [INFO]   -> Found value: 12-20-2025T23:22:10
[2025-12-21 08:33:57] [INFO] Reformatted DD-MM-YYYY date '12-20-2025' (day=12, month=20) to ISO: 2025-20-12T23:22:10
[2025-12-21 08:33:57] [ERROR] Error formatting datetime '2025-20-12T23:22:10': Failed to parse time string (2025-20-12T23:22:10) at position 6 (0): Unexpected character
[2025-12-21 08:33:57] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 08:33:57] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 08:33:57] [INFO]   -> Found value: SDPSFD
[2025-12-21 08:33:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-21 08:33:57] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-21 08:33:57] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 08:33:57] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30435","cADNumber":"25-30435","incidentLocationStreetNumber":1,"streetName":"S SPRIGG ST","incidentLocationCity":"CAPE GIRARDEAU","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-MUTUAL AID","dispatchNotes":"12-20-2025 23:07:23|2ND ALARM FIRE\nSTAGE AT STATION ONE IN CASE NEEDED \n 12-20-2025 23:27:28|ENG 1 AT STATION 3 12-20-2025 23:34:50|C84 IS TAKING LADDER 3 AND FIRE PERSONAL 12-20-2025 23:35:39|L3 EN ROUTE TO CAPE WITH 4  C84 EN ROUTE WITH 2 12-21-2025 01:35:19|RELEASED FROM CAPE RETURNING TO CITY","cADLog":"12-20-2025 23:07:23|2ND ALARM FIRE\nSTAGE AT STATION ONE IN CASE NEEDED \n 12-20-2025 23:27:28|ENG 1 AT STATION 3 12-20-2025 23:34:50|C84 IS TAKING LADDER 3 AND FIRE PERSONAL 12-20-2025 23:35:39|L3 EN ROUTE TO CAPE WITH 4  C84 EN ROUTE WITH 2 12-21-2025 01:35:19|RELEASED FROM CAPE RETURNING TO CITY","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG1","name":"ENG1","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-21 08:33:57] [INFO] Number of extracted fields: 23
[2025-12-21 08:33:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-21 08:33:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Assigned Agencies count = 2
[2025-12-21 08:33:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-21 08:33:57] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (position 1)
[2025-12-21 08:33:57] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS for AgencyCode 'SDPSFD'
[2025-12-21 08:33:57] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on AgencyCode 'SDPSFD'
[2025-12-21 08:33:57] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 08:33:57] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 08:33:57] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-21 08:33:57] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e88612c925
[2025-12-21 08:33:59] [INFO] Created new Dispatches record with ID: 6947b0f62a41744f2
[2025-12-21 08:33:59] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30435.xml
[2025-12-21 08:33:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30435.xml
[2025-12-21 10:14:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139723_20251221_101407.XML
[2025-12-21 10:14:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139723_20251221_101407.XML for user: 68f1466aed072ad4a
[2025-12-21 10:14:07] [INFO] File size: 5838 bytes
[2025-12-21 10:14:07] [INFO] Created FTPFiles record with ID: 6947c86fa9a53b633
[2025-12-21 10:14:07] [INFO] About to extract fields from XML. File size: 5838 bytes
[2025-12-21 10:14:07] [INFO] Number of mappings: 28
[2025-12-21 10:14:07] [INFO] Starting XML parsing. Content length: 5838
[2025-12-21 10:14:07] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 10:14:07] [INFO] Processing 28 field mappings
[2025-12-21 10:14:07] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 10:14:07] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-21 10:14:07] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-21 10:14:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-21 10:14:07] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 10:14:07] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-21 10:14:07] [INFO]   -> Found value: 2025003125
2025019836
[2025-12-21 10:14:07] [INFO]   -> Set field 'incidentInternalId' = "2025003125\n2025019836"
[2025-12-21 10:14:07] [INFO]   -> Set field 'dispatchRunNumber' = "2025003125\n2025019836"
[2025-12-21 10:14:07] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 10:14:07] [INFO]   -> Found value: UNCONSCIOUS
[2025-12-21 10:14:07] [INFO]   -> Set field 'incidentTypeValue1' = "UNCONSCIOUS"
[2025-12-21 10:14:07] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 10:14:07] [INFO]   -> Found value: 4135
[2025-12-21 10:14:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4135
[2025-12-21 10:14:07] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 10:14:07] [INFO]   -> Found value: TN
[2025-12-21 10:14:07] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 10:14:07] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 10:14:07] [INFO]   -> Found value: 38501
[2025-12-21 10:14:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2025-12-21 10:14:07] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 10:14:07] [INFO]   -> Found value: 36.17964
[2025-12-21 10:14:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.17963999999999913370629656128585338592529296875
[2025-12-21 10:14:07] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 10:14:07] [INFO]   -> Found value: -85.58664
[2025-12-21 10:14:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5866400000000027148416847921907901763916015625
[2025-12-21 10:14:07] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 10:14:07] [INFO]   -> Found value: 2025-12-21 04:13:19
[2025-12-21 10:14:07] [INFO]   -> Set field 'alarm' = "2025-12-21 04:13:19"
[2025-12-21 10:14:07] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 10:14:07] [INFO]   -> Found value: 2025-12-21 04:14:02
[2025-12-21 10:14:07] [INFO]   -> Set field 'dispatched' = "2025-12-21 04:14:02"
[2025-12-21 10:14:07] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 10:14:07] [INFO]   -> Found value: SAVANNAH TRCE/PLUNK WHITSON RD
[2025-12-21 10:14:07] [INFO]   -> Set field 'incidentLocationCross' = "SAVANNAH TRCE\/PLUNK WHITSON RD"
[2025-12-21 10:14:07] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 10:14:07] [INFO]   -> Found value: PCFR
[2025-12-21 10:14:07] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-21 10:14:07] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 10:14:07] [INFO]   -> Found value: 2025-12-21 04:14:02
[2025-12-21 10:14:07] [INFO]   -> Set field 'timedispatch' = "2025-12-21 04:14:02"
[2025-12-21 10:14:07] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 10:14:07] [INFO]   -> No value found (null or empty)
[2025-12-21 10:14:07] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 10:14:07] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-21 10:14:07] [INFO]   -> Found value: 20250139723
20250139721
20250139722
20250139724
[2025-12-21 10:14:07] [INFO]   -> Set field 'policeReportNumber' = "20250139723\n20250139721\n20250139722\n20250139724"
[2025-12-21 10:14:07] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 10:14:07] [INFO]   -> Found value: [EMS] 59 YOM  [12/21/25 04:13:39 DSWINK] [EMS] SEMI AT THIS TIME  [12/21/25 04:13:32 DSWINK] [LAW] U...
[2025-12-21 10:14:07] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 59 YOM  [12\/21\/25 04:13:39 DSWINK] [EMS] SEMI AT THIS TIME  [12\/21\/25 04:13:32 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 04:13:29 CHERNANDEZ] [APCO INTELLICOMM] Case ID: ETIw1qJ2Hm Caller Phone: 9315443867 Caller Name: T-MOBILE USA  INC. Incident Location: 4135 CHARLTON SQ Incident Location Detail: SAVANNAH TRCE\/PLUNK WHITSON RD Nature: UNCONSCIOUS Incident #: 20250139721 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/21\/25 04:13:21 PSUTIL01] Event spawned from UNCONSCIOUS.  [12\/21\/2025 04:13:19 DSWINK]"
[2025-12-21 10:14:07] [INFO]   -> Set field 'cADLog' = "[EMS] 59 YOM  [12\/21\/25 04:13:39 DSWINK] [EMS] SEMI AT THIS TIME  [12\/21\/25 04:13:32 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 04:13:29 CHERNANDEZ] [APCO INTELLICOMM] Case ID: ETIw1qJ2Hm Caller Phone: 9315443867 Caller Name: T-MOBILE USA  INC. Incident Location: 4135 CHARLTON SQ Incident Location Detail: SAVANNAH TRCE\/PLUNK WHITSON RD Nature: UNCONSCIOUS Incident #: 20250139721 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/21\/25 04:13:21 PSUTIL01] Event spawned from UNCONSCIOUS.  [12\/21\/2025 04:13:19 DSWINK]"
[2025-12-21 10:14:07] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 10:14:07] [INFO]   -> Found value: COOKEVILLE
[2025-12-21 10:14:07] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-21 10:14:07] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 10:14:07] [INFO]   -> Found value: CHARLTON
[2025-12-21 10:14:07] [INFO]   -> Set field 'streetName' = "CHARLTON"
[2025-12-21 10:14:07] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 10:14:07] [INFO]   -> Found value: SQ
[2025-12-21 10:14:07] [INFO]   -> Set field 'streetType' = "SQ"
[2025-12-21 10:14:07] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 10:14:07] [INFO]   -> Found value: 4135 CHARLTON SQ
[2025-12-21 10:14:07] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4135 CHARLTON SQ"
[2025-12-21 10:14:07] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-21 10:14:07] [INFO] Concatenating street name and type
[2025-12-21 10:14:07] [INFO]   -> Combined street name: CHARLTON SQ
[2025-12-21 10:14:07] [INFO] Built locationCoordinates from lat/lng: 36.17964,-85.58664
[2025-12-21 10:14:07] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003125\n2025019836","dispatchRunNumber":"2025003125\n2025019836","incidentTypeValue1":"UNCONSCIOUS","incidentLocationStreetNumber":4135,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.17963999999999913370629656128585338592529296875,"nERISIncidentLongitude":-85.5866400000000027148416847921907901763916015625,"alarm":"2025-12-21 04:13:19","dispatched":"2025-12-21 04:14:02","incidentLocationCross":"SAVANNAH TRCE\/PLUNK WHITSON RD","cADVehicleID":"PCFR","timedispatch":"2025-12-21 04:14:02","policeReportNumber":"20250139723\n20250139721\n20250139722\n20250139724","dispatchNotes":"[EMS] 59 YOM  [12\/21\/25 04:13:39 DSWINK] [EMS] SEMI AT THIS TIME  [12\/21\/25 04:13:32 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 04:13:29 CHERNANDEZ] [APCO INTELLICOMM] Case ID: ETIw1qJ2Hm Caller Phone: 9315443867 Caller Name: T-MOBILE USA  INC. Incident Location: 4135 CHARLTON SQ Incident Location Detail: SAVANNAH TRCE\/PLUNK WHITSON RD Nature: UNCONSCIOUS Incident #: 20250139721 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/21\/25 04:13:21 PSUTIL01] Event spawned from UNCONSCIOUS.  [12\/21\/2025 04:13:19 DSWINK]","cADLog":"[EMS] 59 YOM  [12\/21\/25 04:13:39 DSWINK] [EMS] SEMI AT THIS TIME  [12\/21\/25 04:13:32 DSWINK] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 04:13:29 CHERNANDEZ] [APCO INTELLICOMM] Case ID: ETIw1qJ2Hm Caller Phone: 9315443867 Caller Name: T-MOBILE USA  INC. Incident Location: 4135 CHARLTON SQ Incident Location Detail: SAVANNAH TRCE\/PLUNK WHITSON RD Nature: UNCONSCIOUS Incident #: 20250139721 CAD Call Taker: DSWINK Chief Complaint: (empty)  [12\/21\/25 04:13:21 PSUTIL01] Event spawned from UNCONSCIOUS.  [12\/21\/2025 04:13:19 DSWINK]","incidentLocationCity":"COOKEVILLE","streetName":"CHARLTON SQ","incidentAddressTextVersionStreet":"4135 CHARLTON SQ","locationCoordinates":"36.17964,-85.58664"}
[2025-12-21 10:14:07] [INFO] Number of extracted fields: 21
[2025-12-21 10:14:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-21 10:14:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Assigned Agencies count = 4
[2025-12-21 10:14:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2025-12-21 10:14:07] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 10:14:07] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 10:14:07] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 10:14:07] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS","PCSO","RESC"]
[2025-12-21 10:14:08] [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"]
[2025-12-21 10:14:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 10:14:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 10:14:08] [INFO] Normalized cADNumber to first value: 2025003125
[2025-12-21 10:14:08] [INFO] Found existing IncidentTypeMapping with ID: 693976706d4f7fb2e
[2025-12-21 10:14:11] [INFO] Created new Dispatches record with ID: 6947c8706586d941c
[2025-12-21 10:14:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139723_20251221_101407.XML
[2025-12-21 10:14:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139723_20251221_101407.XML
[2025-12-21 14:01:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139749_20251221_140150.XML
[2025-12-21 14:01:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139749_20251221_140150.XML for user: 68f1466aed072ad4a
[2025-12-21 14:01:50] [INFO] File size: 5457 bytes
[2025-12-21 14:01:50] [INFO] Created FTPFiles record with ID: 6947fdcee3839c54b
[2025-12-21 14:01:50] [INFO] About to extract fields from XML. File size: 5457 bytes
[2025-12-21 14:01:50] [INFO] Number of mappings: 28
[2025-12-21 14:01:50] [INFO] Starting XML parsing. Content length: 5457
[2025-12-21 14:01:50] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 14:01:50] [INFO] Processing 28 field mappings
[2025-12-21 14:01:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 14:01:50] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2025-12-21 14:01:50] [INFO]   -> Found value: PCFD
EMS
RESC
[2025-12-21 14:01:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2025-12-21 14:01:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 14:01:50] [INFO] Found 3 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-21 14:01:50] [INFO]   -> Found value: 2025003126
2025002518
[2025-12-21 14:01:50] [INFO]   -> Set field 'incidentInternalId' = "2025003126\n2025002518"
[2025-12-21 14:01:50] [INFO]   -> Set field 'dispatchRunNumber' = "2025003126\n2025002518"
[2025-12-21 14:01:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 14:01:50] [INFO]   -> Found value: BREATHING PROBLEMS
[2025-12-21 14:01:50] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2025-12-21 14:01:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 14:01:50] [INFO]   -> Found value: 1220
[2025-12-21 14:01:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1220
[2025-12-21 14:01:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 14:01:50] [INFO]   -> Found value: TN
[2025-12-21 14:01:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 14:01:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 14:01:50] [INFO]   -> Found value: 38574
[2025-12-21 14:01:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-21 14:01:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 14:01:50] [INFO]   -> Found value: 36.15812
[2025-12-21 14:01:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15811999999999670762917958199977874755859375
[2025-12-21 14:01:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 14:01:50] [INFO]   -> Found value: -85.25364
[2025-12-21 14:01:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2536400000000043064574128948152065277099609375
[2025-12-21 14:01:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 14:01:50] [INFO]   -> Found value: 2025-12-21 08:01:01
[2025-12-21 14:01:50] [INFO]   -> Set field 'alarm' = "2025-12-21 08:01:01"
[2025-12-21 14:01:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 14:01:50] [INFO]   -> Found value: 2025-12-21 08:01:43
[2025-12-21 14:01:50] [INFO]   -> Set field 'dispatched' = "2025-12-21 08:01:43"
[2025-12-21 14:01:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 14:01:50] [INFO]   -> Found value: HANGING LIMB RD
[2025-12-21 14:01:50] [INFO]   -> Set field 'incidentLocationCross' = "HANGING LIMB RD"
[2025-12-21 14:01:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 14:01:50] [INFO]   -> Found value: PCFR
[2025-12-21 14:01:50] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-21 14:01:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 14:01:50] [INFO]   -> Found value: 2025-12-21 08:01:43
[2025-12-21 14:01:50] [INFO]   -> Set field 'timedispatch' = "2025-12-21 08:01:43"
[2025-12-21 14:01:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 14:01:50] [INFO]   -> No value found (null or empty)
[2025-12-21 14:01:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 14:01:50] [INFO] Found 3 elements for 'CadInciNumber', concatenating 3 non-empty values
[2025-12-21 14:01:50] [INFO]   -> Found value: 20250139749
20250139748
20250139750
[2025-12-21 14:01:50] [INFO]   -> Set field 'policeReportNumber' = "20250139749\n20250139748\n20250139750"
[2025-12-21 14:01:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 14:01:50] [INFO]   -> Found value: [EMS] DONNA LANDERS  [12/21/25 08:01:15 KBEATY] [APCO INTELLICOMM] Case ID: hnSGMVJBgH Caller Phone:...
[2025-12-21 14:01:50] [INFO]   -> Set field 'dispatchNotes' = "[EMS] DONNA LANDERS  [12\/21\/25 08:01:15 KBEATY] [APCO INTELLICOMM] Case ID: hnSGMVJBgH Caller Phone: 9312391968 Caller Name: VERIZON Incident Location: 1220 EVERGREEN LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20250139748 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:01:03 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/21\/2025 08:01:01 KBEATY]"
[2025-12-21 14:01:50] [INFO]   -> Set field 'cADLog' = "[EMS] DONNA LANDERS  [12\/21\/25 08:01:15 KBEATY] [APCO INTELLICOMM] Case ID: hnSGMVJBgH Caller Phone: 9312391968 Caller Name: VERIZON Incident Location: 1220 EVERGREEN LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20250139748 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:01:03 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/21\/2025 08:01:01 KBEATY]"
[2025-12-21 14:01:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 14:01:50] [INFO]   -> Found value: MONTEREY
[2025-12-21 14:01:50] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2025-12-21 14:01:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 14:01:50] [INFO]   -> Found value: EVERGREEN
[2025-12-21 14:01:50] [INFO]   -> Set field 'streetName' = "EVERGREEN"
[2025-12-21 14:01:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 14:01:50] [INFO]   -> Found value: LN
[2025-12-21 14:01:50] [INFO]   -> Set field 'streetType' = "LN"
[2025-12-21 14:01:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 14:01:50] [INFO]   -> Found value: 1220 EVERGREEN LN
[2025-12-21 14:01:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1220 EVERGREEN LN"
[2025-12-21 14:01:50] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-21 14:01:50] [INFO] Concatenating street name and type
[2025-12-21 14:01:50] [INFO]   -> Combined street name: EVERGREEN LN
[2025-12-21 14:01:50] [INFO] Built locationCoordinates from lat/lng: 36.15812,-85.25364
[2025-12-21 14:01:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2025003126\n2025002518","dispatchRunNumber":"2025003126\n2025002518","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1220,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.15811999999999670762917958199977874755859375,"nERISIncidentLongitude":-85.2536400000000043064574128948152065277099609375,"alarm":"2025-12-21 08:01:01","dispatched":"2025-12-21 08:01:43","incidentLocationCross":"HANGING LIMB RD","cADVehicleID":"PCFR","timedispatch":"2025-12-21 08:01:43","policeReportNumber":"20250139749\n20250139748\n20250139750","dispatchNotes":"[EMS] DONNA LANDERS  [12\/21\/25 08:01:15 KBEATY] [APCO INTELLICOMM] Case ID: hnSGMVJBgH Caller Phone: 9312391968 Caller Name: VERIZON Incident Location: 1220 EVERGREEN LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20250139748 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:01:03 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/21\/2025 08:01:01 KBEATY]","cADLog":"[EMS] DONNA LANDERS  [12\/21\/25 08:01:15 KBEATY] [APCO INTELLICOMM] Case ID: hnSGMVJBgH Caller Phone: 9312391968 Caller Name: VERIZON Incident Location: 1220 EVERGREEN LN Incident Location Detail: HANGING LIMB RD\/ Nature: BREATHING PROBLEMS Incident #: 20250139748 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:01:03 PSUTIL01] Event spawned from BREATHING PROBLEMS.  [12\/21\/2025 08:01:01 KBEATY]","incidentLocationCity":"MONTEREY","streetName":"EVERGREEN LN","incidentAddressTextVersionStreet":"1220 EVERGREEN LN","locationCoordinates":"36.15812,-85.25364"}
[2025-12-21 14:01:50] [INFO] Number of extracted fields: 21
[2025-12-21 14:01:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2025-12-21 14:01:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Assigned Agencies count = 4
[2025-12-21 14:01:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2025-12-21 14:01:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 14:01:51] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 14:01:51] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 14:01:51] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS","RESC"]
[2025-12-21 14:01:51] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 14:01:51] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 14:01:51] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 14:01:51] [INFO] Normalized cADNumber to first value: 2025003126
[2025-12-21 14:01:51] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2025-12-21 14:01:54] [INFO] Created new Dispatches record with ID: 6947fdcfb1df94e0c
[2025-12-21 14:01:54] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139749_20251221_140150.XML
[2025-12-21 14:01:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139749_20251221_140150.XML
[2025-12-21 14:11:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139756_20251221_141157.XML
[2025-12-21 14:11:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139756_20251221_141157.XML for user: 68f1466aed072ad4a
[2025-12-21 14:11:57] [INFO] File size: 5733 bytes
[2025-12-21 14:11:57] [INFO] Created FTPFiles record with ID: 6948002daa9066c0c
[2025-12-21 14:11:57] [INFO] About to extract fields from XML. File size: 5733 bytes
[2025-12-21 14:11:57] [INFO] Number of mappings: 28
[2025-12-21 14:11:57] [INFO] Starting XML parsing. Content length: 5733
[2025-12-21 14:11:57] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 14:11:57] [INFO] Processing 28 field mappings
[2025-12-21 14:11:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 14:11:57] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-21 14:11:57] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-21 14:11:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-21 14:11:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 14:11:57] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-21 14:11:57] [INFO]   -> Found value: 2025003127
2025019841
[2025-12-21 14:11:57] [INFO]   -> Set field 'incidentInternalId' = "2025003127\n2025019841"
[2025-12-21 14:11:57] [INFO]   -> Set field 'dispatchRunNumber' = "2025003127\n2025019841"
[2025-12-21 14:11:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 14:11:57] [INFO]   -> Found value: SEIZURE
[2025-12-21 14:11:57] [INFO]   -> Set field 'incidentTypeValue1' = "SEIZURE"
[2025-12-21 14:11:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 14:11:57] [INFO]   -> Found value: 4927
[2025-12-21 14:11:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4927
[2025-12-21 14:11:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 14:11:57] [INFO]   -> Found value: TN
[2025-12-21 14:11:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 14:11:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 14:11:57] [INFO]   -> Found value: 38501
[2025-12-21 14:11:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2025-12-21 14:11:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 14:11:57] [INFO]   -> Found value: 36.23573
[2025-12-21 14:11:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23572999999999666442818124778568744659423828125
[2025-12-21 14:11:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 14:11:57] [INFO]   -> Found value: -85.52257
[2025-12-21 14:11:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.522570000000001755324774421751499176025390625
[2025-12-21 14:11:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 14:11:57] [INFO]   -> Found value: 2025-12-21 08:11:17
[2025-12-21 14:11:57] [INFO]   -> Set field 'alarm' = "2025-12-21 08:11:17"
[2025-12-21 14:11:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 14:11:57] [INFO]   -> Found value: 2025-12-21 08:11:52
[2025-12-21 14:11:57] [INFO]   -> Set field 'dispatched' = "2025-12-21 08:11:52"
[2025-12-21 14:11:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 14:11:57] [INFO]   -> Found value: N PINE HILL RD/HILL RD
[2025-12-21 14:11:57] [INFO]   -> Set field 'incidentLocationCross' = "N PINE HILL RD\/HILL RD"
[2025-12-21 14:11:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 14:11:57] [INFO]   -> Found value: PCFR
[2025-12-21 14:11:57] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-21 14:11:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 14:11:57] [INFO]   -> Found value: 2025-12-21 08:11:52
[2025-12-21 14:11:57] [INFO]   -> Set field 'timedispatch' = "2025-12-21 08:11:52"
[2025-12-21 14:11:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 14:11:57] [INFO]   -> No value found (null or empty)
[2025-12-21 14:11:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 14:11:57] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-21 14:11:57] [INFO]   -> Found value: 20250139756
20250139754
20250139755
20250139757
[2025-12-21 14:11:57] [INFO]   -> Set field 'policeReportNumber' = "20250139756\n20250139754\n20250139755\n20250139757"
[2025-12-21 14:11:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 14:11:57] [INFO]   -> Found value: [EMS] NOAH LYTLE  [12/21/25 08:11:50 KBEATY] [EMS] 34 LBS  [12/21/25 08:11:39 KBEATY] [EMS] 6 Y/O  [...
[2025-12-21 14:11:57] [INFO]   -> Set field 'dispatchNotes' = "[EMS] NOAH LYTLE  [12\/21\/25 08:11:50 KBEATY] [EMS] 34 LBS  [12\/21\/25 08:11:39 KBEATY] [EMS] 6 Y\/O  [12\/21\/25 08:11:33 KBEATY] [APCO INTELLICOMM] Case ID: vlwadCb61i Caller Phone: 9319799691 Caller Name: VERIZON Incident Location: 4927 KUYKENDALL RD Incident Location Detail: N PINE HILL RD\/HILL RD Nature: SEIZURE Incident #: 20250139754 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:11:19 PSUTIL01] Event spawned from SEIZURE.  [12\/21\/2025 08:11:17 KBEATY]"
[2025-12-21 14:11:57] [INFO]   -> Set field 'cADLog' = "[EMS] NOAH LYTLE  [12\/21\/25 08:11:50 KBEATY] [EMS] 34 LBS  [12\/21\/25 08:11:39 KBEATY] [EMS] 6 Y\/O  [12\/21\/25 08:11:33 KBEATY] [APCO INTELLICOMM] Case ID: vlwadCb61i Caller Phone: 9319799691 Caller Name: VERIZON Incident Location: 4927 KUYKENDALL RD Incident Location Detail: N PINE HILL RD\/HILL RD Nature: SEIZURE Incident #: 20250139754 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:11:19 PSUTIL01] Event spawned from SEIZURE.  [12\/21\/2025 08:11:17 KBEATY]"
[2025-12-21 14:11:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 14:11:57] [INFO]   -> Found value: COOKEVILLE
[2025-12-21 14:11:57] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-21 14:11:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 14:11:57] [INFO]   -> Found value: KUYKENDALL
[2025-12-21 14:11:57] [INFO]   -> Set field 'streetName' = "KUYKENDALL"
[2025-12-21 14:11:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 14:11:57] [INFO]   -> Found value: RD
[2025-12-21 14:11:57] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-21 14:11:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 14:11:57] [INFO]   -> Found value: 4927 KUYKENDALL RD
[2025-12-21 14:11:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4927 KUYKENDALL RD"
[2025-12-21 14:11:57] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-21 14:11:57] [INFO] Concatenating street name and type
[2025-12-21 14:11:57] [INFO]   -> Combined street name: KUYKENDALL RD
[2025-12-21 14:11:57] [INFO] Built locationCoordinates from lat/lng: 36.23573,-85.52257
[2025-12-21 14:11:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003127\n2025019841","dispatchRunNumber":"2025003127\n2025019841","incidentTypeValue1":"SEIZURE","incidentLocationStreetNumber":4927,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.23572999999999666442818124778568744659423828125,"nERISIncidentLongitude":-85.522570000000001755324774421751499176025390625,"alarm":"2025-12-21 08:11:17","dispatched":"2025-12-21 08:11:52","incidentLocationCross":"N PINE HILL RD\/HILL RD","cADVehicleID":"PCFR","timedispatch":"2025-12-21 08:11:52","policeReportNumber":"20250139756\n20250139754\n20250139755\n20250139757","dispatchNotes":"[EMS] NOAH LYTLE  [12\/21\/25 08:11:50 KBEATY] [EMS] 34 LBS  [12\/21\/25 08:11:39 KBEATY] [EMS] 6 Y\/O  [12\/21\/25 08:11:33 KBEATY] [APCO INTELLICOMM] Case ID: vlwadCb61i Caller Phone: 9319799691 Caller Name: VERIZON Incident Location: 4927 KUYKENDALL RD Incident Location Detail: N PINE HILL RD\/HILL RD Nature: SEIZURE Incident #: 20250139754 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:11:19 PSUTIL01] Event spawned from SEIZURE.  [12\/21\/2025 08:11:17 KBEATY]","cADLog":"[EMS] NOAH LYTLE  [12\/21\/25 08:11:50 KBEATY] [EMS] 34 LBS  [12\/21\/25 08:11:39 KBEATY] [EMS] 6 Y\/O  [12\/21\/25 08:11:33 KBEATY] [APCO INTELLICOMM] Case ID: vlwadCb61i Caller Phone: 9319799691 Caller Name: VERIZON Incident Location: 4927 KUYKENDALL RD Incident Location Detail: N PINE HILL RD\/HILL RD Nature: SEIZURE Incident #: 20250139754 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 08:11:19 PSUTIL01] Event spawned from SEIZURE.  [12\/21\/2025 08:11:17 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"KUYKENDALL RD","incidentAddressTextVersionStreet":"4927 KUYKENDALL RD","locationCoordinates":"36.23573,-85.52257"}
[2025-12-21 14:11:57] [INFO] Number of extracted fields: 21
[2025-12-21 14:11:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-21 14:11:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Assigned Agencies count = 4
[2025-12-21 14:11:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2025-12-21 14:11:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 14:11:57] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 14:11:57] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 14:11:57] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS","PCSO","RESC"]
[2025-12-21 14:11: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"]
[2025-12-21 14:11:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 14:11:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 14:11:57] [INFO] Normalized cADNumber to first value: 2025003127
[2025-12-21 14:11:58] [INFO] Found existing IncidentTypeMapping with ID: 6938221e4d49ca73b
[2025-12-21 14:12:01] [INFO] Created new Dispatches record with ID: 6948002e6d1501b3f
[2025-12-21 14:12:01] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139756_20251221_141157.XML
[2025-12-21 14:12:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139756_20251221_141157.XML
[2025-12-21 14:57:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:57:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 14:57:44] [INFO] File size: 13828 bytes
[2025-12-21 14:57:44] [INFO] Created FTPFiles record with ID: 69480ae8b223d2310
[2025-12-21 14:57:44] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 14:57:44] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:57:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:57:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:57:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 14:57:45] [INFO] File size: 13828 bytes
[2025-12-21 14:57:45] [INFO] Created FTPFiles record with ID: 69480ae994348d4e9
[2025-12-21 14:57:45] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 14:57:45] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:57:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:59:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:59:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 14:59:24] [INFO] File size: 17313 bytes
[2025-12-21 14:59:25] [INFO] Created FTPFiles record with ID: 69480b4d0dee22091
[2025-12-21 14:59:25] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 14:59:25] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:59:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:59:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:59:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 14:59:36] [INFO] File size: 18893 bytes
[2025-12-21 14:59:36] [INFO] Created FTPFiles record with ID: 69480b58a42250aee
[2025-12-21 14:59:36] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 14:59:36] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 14:59:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:02:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:02:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 15:02:38] [INFO] File size: 21128 bytes
[2025-12-21 15:02:38] [INFO] Created FTPFiles record with ID: 69480c0e72a078732
[2025-12-21 15:02:38] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 15:02:38] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:02:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:02:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:02:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 15:02:50] [INFO] File size: 22076 bytes
[2025-12-21 15:02:50] [INFO] Created FTPFiles record with ID: 69480c1a955362c0c
[2025-12-21 15:02:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 15:02:50] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:02:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:04:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:04:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 15:04:38] [INFO] File size: 23665 bytes
[2025-12-21 15:04:39] [INFO] Created FTPFiles record with ID: 69480c87025527d3f
[2025-12-21 15:04:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 15:04:39] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:04:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:07:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30454.xml
[2025-12-21 15:07:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30454.xml for user: 68d56363ec1209189
[2025-12-21 15:07:22] [INFO] File size: 2383 bytes
[2025-12-21 15:07:23] [INFO] Created FTPFiles record with ID: 69480d2b442a9cbae
[2025-12-21 15:07:23] [INFO] About to extract fields from XML. File size: 2383 bytes
[2025-12-21 15:07:23] [INFO] Number of mappings: 21
[2025-12-21 15:07:23] [INFO] Starting XML parsing. Content length: 2383
[2025-12-21 15:07:23] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 15:07:23] [INFO] Processing 21 field mappings
[2025-12-21 15:07:23] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 15:07:23] [INFO]   -> Found value: 25-30454
[2025-12-21 15:07:23] [INFO]   -> Set field 'dispatchRunNumber' = "25-30454"
[2025-12-21 15:07:23] [INFO]   -> Set field 'cADNumber' = "25-30454"
[2025-12-21 15:07:23] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 15:07:23] [INFO]   -> Found value: 430
[2025-12-21 15:07:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 430
[2025-12-21 15:07:23] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 15:07:23] [INFO]   -> Found value: E KATHLEEN ST
[2025-12-21 15:07:23] [INFO]   -> Set field 'streetName' = "E KATHLEEN ST"
[2025-12-21 15:07:23] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 15:07:23] [INFO]   -> No value found (null or empty)
[2025-12-21 15:07:23] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 15:07:23] [INFO]   -> Found value: SIKESTON
[2025-12-21 15:07:23] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-21 15:07:23] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 15:07:23] [INFO]   -> No value found (null or empty)
[2025-12-21 15:07:23] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 15:07:23] [INFO]   -> Found value: MO
[2025-12-21 15:07:23] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-21 15:07:23] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 15:07:23] [INFO]   -> Found value: 63801
[2025-12-21 15:07:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-21 15:07:23] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 15:07:23] [INFO]   -> Found value: 0
[2025-12-21 15:07:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 15:07:23] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 15:07:23] [INFO]   -> Found value: 0
[2025-12-21 15:07:23] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 15:07:23] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 15:07:23] [INFO]   -> Found value: SUSPICIOUS ODOR
[2025-12-21 15:07:23] [INFO]   -> Set field 'incidentTypeValue1' = "SUSPICIOUS ODOR"
[2025-12-21 15:07:23] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 15:07:23] [INFO]   -> Found value: 12-21-2025 08:37:59|POTENTIAL CHEMICAL FIRE SMELLS LIKE PLASTIC BURNING
400 BLOCK EAST KATHLEEN
PROB...
[2025-12-21 15:07:23] [INFO]   -> Set field 'dispatchNotes' = "12-21-2025 08:37:59|POTENTIAL CHEMICAL FIRE SMELLS LIKE PLASTIC BURNING\n400 BLOCK EAST KATHLEEN\nPROBABLY COPPER WIRE BURNING IN BACK YARD OF ANTHONY MACK\nHUNG UP BEFORE FURTHER\nUPON CALL BACK WISHES TO REMAIN ANONYMOUS\n 12-21-2025 08:43:29|565 OUT AT PRESTOX - BELIEVES SMELL IS COMING FROM THERE 12-21-2025 08:51:19|537 AT 403 E KATHLEEN WITH ILLEGAL BURN 12-21-2025 08:52:19|CORRECTION 430 E KATHLEEN 12-21-2025 09:03:17|537 REQUESTING STATION 1 TO RESPOND WITH RESCUE FOR ILLEGAL BURN 12-21-2025 09:05:59|537 FIRE EXTINGUISHED"
[2025-12-21 15:07:23] [INFO]   -> Set field 'cADLog' = "12-21-2025 08:37:59|POTENTIAL CHEMICAL FIRE SMELLS LIKE PLASTIC BURNING\n400 BLOCK EAST KATHLEEN\nPROBABLY COPPER WIRE BURNING IN BACK YARD OF ANTHONY MACK\nHUNG UP BEFORE FURTHER\nUPON CALL BACK WISHES TO REMAIN ANONYMOUS\n 12-21-2025 08:43:29|565 OUT AT PRESTOX - BELIEVES SMELL IS COMING FROM THERE 12-21-2025 08:51:19|537 AT 403 E KATHLEEN WITH ILLEGAL BURN 12-21-2025 08:52:19|CORRECTION 430 E KATHLEEN 12-21-2025 09:03:17|537 REQUESTING STATION 1 TO RESPOND WITH RESCUE FOR ILLEGAL BURN 12-21-2025 09:05:59|537 FIRE EXTINGUISHED"
[2025-12-21 15:07:23] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 15:07:23] [INFO]   -> Found value: 12-21-2025T08:41:42
[2025-12-21 15:07:23] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T08:41:42
[2025-12-21 15:07:23] [ERROR] Error formatting datetime '2025-21-12T08:41:42': Failed to parse time string (2025-21-12T08:41:42) at position 6 (1): Unexpected character
[2025-12-21 15:07:23] [INFO]   -> Set field 'alarm' = null
[2025-12-21 15:07:23] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T08:41:42
[2025-12-21 15:07:23] [ERROR] Error formatting datetime '2025-21-12T08:41:42': Failed to parse time string (2025-21-12T08:41:42) at position 6 (1): Unexpected character
[2025-12-21 15:07:23] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 15:07:23] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 15:07:23] [INFO]   -> Found value: 12-21-2025T08:43:12
[2025-12-21 15:07:23] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T08:43:12
[2025-12-21 15:07:23] [ERROR] Error formatting datetime '2025-21-12T08:43:12': Failed to parse time string (2025-21-12T08:43:12) at position 6 (1): Unexpected character
[2025-12-21 15:07:23] [INFO]   -> Set field 'onScene' = null
[2025-12-21 15:07:23] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 15:07:23] [INFO]   -> Found value: 12-21-2025T09:06:09
[2025-12-21 15:07:23] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:06:09
[2025-12-21 15:07:23] [ERROR] Error formatting datetime '2025-21-12T09:06:09': Failed to parse time string (2025-21-12T09:06:09) at position 6 (1): Unexpected character
[2025-12-21 15:07:23] [INFO]   -> Set field 'cleared' = null
[2025-12-21 15:07:23] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:06:09
[2025-12-21 15:07:23] [ERROR] Error formatting datetime '2025-21-12T09:06:09': Failed to parse time string (2025-21-12T09:06:09) at position 6 (1): Unexpected character
[2025-12-21 15:07:23] [INFO]   -> Set field 'inService' = null
[2025-12-21 15:07:23] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 15:07:23] [INFO]   -> Found value: ENG2
[2025-12-21 15:07:23] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2025-12-21 15:07:23] [INFO]   -> Set field 'name' = "ENG2"
[2025-12-21 15:07:23] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 15:07:23] [INFO]   -> Found value: 12-21-2025T09:05:16
[2025-12-21 15:07:23] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:05:16
[2025-12-21 15:07:23] [ERROR] Error formatting datetime '2025-21-12T09:05:16': Failed to parse time string (2025-21-12T09:05:16) at position 6 (1): Unexpected character
[2025-12-21 15:07:23] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-21 15:07:23] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 15:07:23] [INFO]   -> No value found (null or empty)
[2025-12-21 15:07:23] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 15:07:23] [INFO]   -> Found value: 12-21-2025T09:05:19
[2025-12-21 15:07:23] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:05:19
[2025-12-21 15:07:23] [ERROR] Error formatting datetime '2025-21-12T09:05:19': Failed to parse time string (2025-21-12T09:05:19) at position 6 (1): Unexpected character
[2025-12-21 15:07:23] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 15:07:23] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 15:07:23] [INFO]   -> No value found (null or empty)
[2025-12-21 15:07:23] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 15:07:23] [INFO]   -> Found value: SDPSFD
[2025-12-21 15:07:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-21 15:07:23] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-21 15:07:23] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 15:07:23] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30454","cADNumber":"25-30454","incidentLocationStreetNumber":430,"streetName":"E KATHLEEN ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"SUSPICIOUS ODOR","dispatchNotes":"12-21-2025 08:37:59|POTENTIAL CHEMICAL FIRE SMELLS LIKE PLASTIC BURNING\n400 BLOCK EAST KATHLEEN\nPROBABLY COPPER WIRE BURNING IN BACK YARD OF ANTHONY MACK\nHUNG UP BEFORE FURTHER\nUPON CALL BACK WISHES TO REMAIN ANONYMOUS\n 12-21-2025 08:43:29|565 OUT AT PRESTOX - BELIEVES SMELL IS COMING FROM THERE 12-21-2025 08:51:19|537 AT 403 E KATHLEEN WITH ILLEGAL BURN 12-21-2025 08:52:19|CORRECTION 430 E KATHLEEN 12-21-2025 09:03:17|537 REQUESTING STATION 1 TO RESPOND WITH RESCUE FOR ILLEGAL BURN 12-21-2025 09:05:59|537 FIRE EXTINGUISHED","cADLog":"12-21-2025 08:37:59|POTENTIAL CHEMICAL FIRE SMELLS LIKE PLASTIC BURNING\n400 BLOCK EAST KATHLEEN\nPROBABLY COPPER WIRE BURNING IN BACK YARD OF ANTHONY MACK\nHUNG UP BEFORE FURTHER\nUPON CALL BACK WISHES TO REMAIN ANONYMOUS\n 12-21-2025 08:43:29|565 OUT AT PRESTOX - BELIEVES SMELL IS COMING FROM THERE 12-21-2025 08:51:19|537 AT 403 E KATHLEEN WITH ILLEGAL BURN 12-21-2025 08:52:19|CORRECTION 430 E KATHLEEN 12-21-2025 09:03:17|537 REQUESTING STATION 1 TO RESPOND WITH RESCUE FOR ILLEGAL BURN 12-21-2025 09:05:59|537 FIRE EXTINGUISHED","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":null,"timeunitclear":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-21 15:07:23] [INFO] Number of extracted fields: 23
[2025-12-21 15:07:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-21 15:07:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Assigned Agencies count = 2
[2025-12-21 15:07:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-21 15:07:23] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (position 1)
[2025-12-21 15:07:23] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS for AgencyCode 'SDPSFD'
[2025-12-21 15:07:23] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on AgencyCode 'SDPSFD'
[2025-12-21 15:07:23] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 15:07:23] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 15:07:23] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-21 15:07:23] [INFO] Found existing IncidentTypeMapping with ID: 6903627a629b85e2f
[2025-12-21 15:07:25] [INFO] Created new Dispatches record with ID: 69480d2c0cad30b99
[2025-12-21 15:07:25] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30454.xml
[2025-12-21 15:07:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30454.xml
[2025-12-21 15:08:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:08:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml for user: 69320e6a9e3e5ef71
[2025-12-21 15:08:58] [INFO] File size: 24684 bytes
[2025-12-21 15:08:58] [INFO] Created FTPFiles record with ID: 69480d8a9f1075088
[2025-12-21 15:08:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 15:08:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:08:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088336.xml
[2025-12-21 15:19:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30457.xml
[2025-12-21 15:19:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30457.xml for user: 68d56363ec1209189
[2025-12-21 15:19:32] [INFO] File size: 3296 bytes
[2025-12-21 15:19:32] [INFO] Created FTPFiles record with ID: 694810047463786d8
[2025-12-21 15:19:32] [INFO] About to extract fields from XML. File size: 3296 bytes
[2025-12-21 15:19:32] [INFO] Number of mappings: 21
[2025-12-21 15:19:32] [INFO] Starting XML parsing. Content length: 3296
[2025-12-21 15:19:32] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 15:19:32] [INFO] Processing 21 field mappings
[2025-12-21 15:19:32] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 15:19:32] [INFO]   -> Found value: 25-30457
[2025-12-21 15:19:32] [INFO]   -> Set field 'dispatchRunNumber' = "25-30457"
[2025-12-21 15:19:32] [INFO]   -> Set field 'cADNumber' = "25-30457"
[2025-12-21 15:19:32] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 15:19:32] [INFO]   -> Found value: 533
[2025-12-21 15:19:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 533
[2025-12-21 15:19:32] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 15:19:32] [INFO]   -> Found value: N MAIN ST
[2025-12-21 15:19:32] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2025-12-21 15:19:32] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 15:19:32] [INFO]   -> No value found (null or empty)
[2025-12-21 15:19:32] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 15:19:32] [INFO]   -> Found value: SIKESTON
[2025-12-21 15:19:32] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-21 15:19:32] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 15:19:32] [INFO]   -> Found value: RALLYS
[2025-12-21 15:19:32] [INFO]   -> Set field 'businessName' = "RALLYS"
[2025-12-21 15:19:32] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 15:19:32] [INFO]   -> No value found (null or empty)
[2025-12-21 15:19:32] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 15:19:32] [INFO]   -> No value found (null or empty)
[2025-12-21 15:19:32] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 15:19:32] [INFO]   -> Found value: 0
[2025-12-21 15:19:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 15:19:32] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 15:19:32] [INFO]   -> Found value: 0
[2025-12-21 15:19:32] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 15:19:32] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 15:19:32] [INFO]   -> Found value: FIRE-STRUCTURE
[2025-12-21 15:19:32] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2025-12-21 15:19:32] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 15:19:32] [INFO]   -> Found value: 12-21-2025 09:03:10|RP STATED HIS MANAGER CALLED HIM AND SAID THE BUILDING IS ON FIRE
UNK INFORMATIO...
[2025-12-21 15:19:32] [INFO]   -> Set field 'dispatchNotes' = "12-21-2025 09:03:10|RP STATED HIS MANAGER CALLED HIM AND SAID THE BUILDING IS ON FIRE\nUNK INFORMATION 12-21-2025 09:05:13|ee 12-21-2025 09:05:58|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:04:07\nNotes: Call Received on 12\/21\/2025 @ 09:04\n\nPAIGE LETT WONT LEAVE THE BUILDING\n\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:06:04|C90 ON SCENE SINGLE STORY NOTHING SHOWING 12-21-2025 09:06:55|C60 FRYER CAUGHT FIRE NO ACTIVE FIRE AT THIS TIME 12-21-2025 09:09:00|B49 ADVISED TO CANCEL STRUCTURE 12-21-2025 09:09:27|Disposition - SSCA UNIT:  AD 12-21-2025 09:09:38|1515 CLEAR PER FIRE COMMAND 12-21-2025 09:10:01|B49 TO L3 CLEAR 12-21-2025 09:10:12|Disposition - SSCA:  RPT 12-21-2025 09:18:50|FIRE SUPPERSION SYS FAILED TO ACTIVE INSPECTION WILL BE DONE ON MONDAY"
[2025-12-21 15:19:32] [INFO]   -> Set field 'cADLog' = "12-21-2025 09:03:10|RP STATED HIS MANAGER CALLED HIM AND SAID THE BUILDING IS ON FIRE\nUNK INFORMATION 12-21-2025 09:05:13|ee 12-21-2025 09:05:58|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:04:07\nNotes: Call Received on 12\/21\/2025 @ 09:04\n\nPAIGE LETT WONT LEAVE THE BUILDING\n\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:06:04|C90 ON SCENE SINGLE STORY NOTHING SHOWING 12-21-2025 09:06:55|C60 FRYER CAUGHT FIRE NO ACTIVE FIRE AT THIS TIME 12-21-2025 09:09:00|B49 ADVISED TO CANCEL STRUCTURE 12-21-2025 09:09:27|Disposition - SSCA UNIT:  AD 12-21-2025 09:09:38|1515 CLEAR PER FIRE COMMAND 12-21-2025 09:10:01|B49 TO L3 CLEAR 12-21-2025 09:10:12|Disposition - SSCA:  RPT 12-21-2025 09:18:50|FIRE SUPPERSION SYS FAILED TO ACTIVE INSPECTION WILL BE DONE ON MONDAY"
[2025-12-21 15:19:32] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 15:19:32] [INFO]   -> Found value: 12-21-2025T09:04:32
[2025-12-21 15:19:32] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:04:32
[2025-12-21 15:19:32] [ERROR] Error formatting datetime '2025-21-12T09:04:32': Failed to parse time string (2025-21-12T09:04:32) at position 6 (1): Unexpected character
[2025-12-21 15:19:32] [INFO]   -> Set field 'alarm' = null
[2025-12-21 15:19:32] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:04:32
[2025-12-21 15:19:32] [ERROR] Error formatting datetime '2025-21-12T09:04:32': Failed to parse time string (2025-21-12T09:04:32) at position 6 (1): Unexpected character
[2025-12-21 15:19:32] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 15:19:32] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 15:19:32] [INFO]   -> Found value: 12-21-2025T09:06:38
[2025-12-21 15:19:32] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:06:38
[2025-12-21 15:19:32] [ERROR] Error formatting datetime '2025-21-12T09:06:38': Failed to parse time string (2025-21-12T09:06:38) at position 6 (1): Unexpected character
[2025-12-21 15:19:32] [INFO]   -> Set field 'onScene' = null
[2025-12-21 15:19:32] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 15:19:32] [INFO]   -> Found value: 12-21-2025T09:18:54
[2025-12-21 15:19:32] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:18:54
[2025-12-21 15:19:32] [ERROR] Error formatting datetime '2025-21-12T09:18:54': Failed to parse time string (2025-21-12T09:18:54) at position 6 (1): Unexpected character
[2025-12-21 15:19:32] [INFO]   -> Set field 'cleared' = null
[2025-12-21 15:19:32] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:18:54
[2025-12-21 15:19:32] [ERROR] Error formatting datetime '2025-21-12T09:18:54': Failed to parse time string (2025-21-12T09:18:54) at position 6 (1): Unexpected character
[2025-12-21 15:19:32] [INFO]   -> Set field 'inService' = null
[2025-12-21 15:19:32] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 15:19:32] [INFO]   -> Found value: CANCEL
[2025-12-21 15:19:32] [INFO]   -> Set field 'cADVehicleID' = "CANCEL"
[2025-12-21 15:19:32] [INFO]   -> Set field 'name' = "CANCEL"
[2025-12-21 15:19:32] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 15:19:32] [INFO]   -> No value found (null or empty)
[2025-12-21 15:19:32] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 15:19:32] [INFO]   -> No value found (null or empty)
[2025-12-21 15:19:32] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 15:19:32] [INFO]   -> Found value: 12-21-2025T09:18:54
[2025-12-21 15:19:32] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:18:54
[2025-12-21 15:19:32] [ERROR] Error formatting datetime '2025-21-12T09:18:54': Failed to parse time string (2025-21-12T09:18:54) at position 6 (1): Unexpected character
[2025-12-21 15:19:32] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 15:19:32] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 15:19:32] [INFO]   -> Found value: 12-21-2025T09:08:47
[2025-12-21 15:19:32] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:08:47
[2025-12-21 15:19:32] [ERROR] Error formatting datetime '2025-21-12T09:08:47': Failed to parse time string (2025-21-12T09:08:47) at position 6 (1): Unexpected character
[2025-12-21 15:19:32] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 15:19:32] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 15:19:32] [INFO]   -> Found value: SDPSFD
[2025-12-21 15:19:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-21 15:19:32] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-21 15:19:32] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 15:19:32] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30457","cADNumber":"25-30457","incidentLocationStreetNumber":533,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"RALLYS","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"12-21-2025 09:03:10|RP STATED HIS MANAGER CALLED HIM AND SAID THE BUILDING IS ON FIRE\nUNK INFORMATION 12-21-2025 09:05:13|ee 12-21-2025 09:05:58|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:04:07\nNotes: Call Received on 12\/21\/2025 @ 09:04\n\nPAIGE LETT WONT LEAVE THE BUILDING\n\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:06:04|C90 ON SCENE SINGLE STORY NOTHING SHOWING 12-21-2025 09:06:55|C60 FRYER CAUGHT FIRE NO ACTIVE FIRE AT THIS TIME 12-21-2025 09:09:00|B49 ADVISED TO CANCEL STRUCTURE 12-21-2025 09:09:27|Disposition - SSCA UNIT:  AD 12-21-2025 09:09:38|1515 CLEAR PER FIRE COMMAND 12-21-2025 09:10:01|B49 TO L3 CLEAR 12-21-2025 09:10:12|Disposition - SSCA:  RPT 12-21-2025 09:18:50|FIRE SUPPERSION SYS FAILED TO ACTIVE INSPECTION WILL BE DONE ON MONDAY","cADLog":"12-21-2025 09:03:10|RP STATED HIS MANAGER CALLED HIM AND SAID THE BUILDING IS ON FIRE\nUNK INFORMATION 12-21-2025 09:05:13|ee 12-21-2025 09:05:58|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:04:07\nNotes: Call Received on 12\/21\/2025 @ 09:04\n\nPAIGE LETT WONT LEAVE THE BUILDING\n\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:06:04|C90 ON SCENE SINGLE STORY NOTHING SHOWING 12-21-2025 09:06:55|C60 FRYER CAUGHT FIRE NO ACTIVE FIRE AT THIS TIME 12-21-2025 09:09:00|B49 ADVISED TO CANCEL STRUCTURE 12-21-2025 09:09:27|Disposition - SSCA UNIT:  AD 12-21-2025 09:09:38|1515 CLEAR PER FIRE COMMAND 12-21-2025 09:10:01|B49 TO L3 CLEAR 12-21-2025 09:10:12|Disposition - SSCA:  RPT 12-21-2025 09:18:50|FIRE SUPPERSION SYS FAILED TO ACTIVE INSPECTION WILL BE DONE ON MONDAY","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"CANCEL","name":"CANCEL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2025-12-21 15:19:32] [INFO] Number of extracted fields: 22
[2025-12-21 15:19:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-21 15:19:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Assigned Agencies count = 2
[2025-12-21 15:19:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-21 15:19:32] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (position 1)
[2025-12-21 15:19:32] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS for AgencyCode 'SDPSFD'
[2025-12-21 15:19:32] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on AgencyCode 'SDPSFD'
[2025-12-21 15:19:32] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 15:19:32] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 15:19:32] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-21 15:19:32] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e868e55c0c
[2025-12-21 15:19:34] [INFO] Created new Dispatches record with ID: 694810052e1fe7848
[2025-12-21 15:19:34] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30457.xml
[2025-12-21 15:19:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30457.xml
[2025-12-21 16:40:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30459.xml
[2025-12-21 16:40:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30459.xml for user: 68d56363ec1209189
[2025-12-21 16:40:36] [INFO] File size: 2735 bytes
[2025-12-21 16:40:37] [INFO] Created FTPFiles record with ID: 694823050ee57d90b
[2025-12-21 16:40:37] [INFO] About to extract fields from XML. File size: 2735 bytes
[2025-12-21 16:40:37] [INFO] Number of mappings: 21
[2025-12-21 16:40:37] [INFO] Starting XML parsing. Content length: 2735
[2025-12-21 16:40:37] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 16:40:37] [INFO] Processing 21 field mappings
[2025-12-21 16:40:37] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 16:40:37] [INFO]   -> Found value: 25-30459
[2025-12-21 16:40:37] [INFO]   -> Set field 'dispatchRunNumber' = "25-30459"
[2025-12-21 16:40:37] [INFO]   -> Set field 'cADNumber' = "25-30459"
[2025-12-21 16:40:37] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 16:40:37] [INFO]   -> No value found (null or empty)
[2025-12-21 16:40:37] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 16:40:37] [INFO]   -> Found value: I-57 NB 0.6 MM
[2025-12-21 16:40:37] [INFO]   -> Set field 'streetName' = "I-57 NB 0.6 MM"
[2025-12-21 16:40:37] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 16:40:37] [INFO]   -> No value found (null or empty)
[2025-12-21 16:40:37] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 16:40:37] [INFO]   -> No value found (null or empty)
[2025-12-21 16:40:37] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 16:40:37] [INFO]   -> No value found (null or empty)
[2025-12-21 16:40:37] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 16:40:37] [INFO]   -> No value found (null or empty)
[2025-12-21 16:40:37] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 16:40:37] [INFO]   -> No value found (null or empty)
[2025-12-21 16:40:37] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 16:40:37] [INFO]   -> Found value: 36.87825
[2025-12-21 16:40:37] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.87825000000000130739863379858434200286865234375
[2025-12-21 16:40:37] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 16:40:37] [INFO]   -> Found value: -89.519528
[2025-12-21 16:40:37] [INFO]   -> Set field 'nERISIncidentLongitude' = -89.5195279999999939946064841933548450469970703125
[2025-12-21 16:40:37] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 16:40:37] [INFO]   -> Found value: FIRE-OUT OF TOWN
[2025-12-21 16:40:37] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-OUT OF TOWN"
[2025-12-21 16:40:37] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025 09:40:02|0.6 NB 

DITCH ON FIRE 12-21-2025 09:41:28|****** Appended notes from Work Area ...
[2025-12-21 16:40:37] [INFO]   -> Set field 'dispatchNotes' = "12-21-2025 09:40:02|0.6 NB \n\nDITCH ON FIRE 12-21-2025 09:41:28|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:40:18\nNotes: Call Received on 12\/21\/2025 @ 09:40\n\n0.8\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:47:48|562 ON SCENE APPROX 200 FT ON FIRE SPREADING QUICKLY 12-21-2025 09:49:21|B45 ON SCENE REQUESTING TROOP FOR TRAFFIC CONTROL 12-21-2025 09:49:43|TROOP EN ROUTE 12-21-2025 09:53:08|TNK3 ON SCENE 12-21-2025 10:11:40|FIRE OUT"
[2025-12-21 16:40:37] [INFO]   -> Set field 'cADLog' = "12-21-2025 09:40:02|0.6 NB \n\nDITCH ON FIRE 12-21-2025 09:41:28|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:40:18\nNotes: Call Received on 12\/21\/2025 @ 09:40\n\n0.8\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:47:48|562 ON SCENE APPROX 200 FT ON FIRE SPREADING QUICKLY 12-21-2025 09:49:21|B45 ON SCENE REQUESTING TROOP FOR TRAFFIC CONTROL 12-21-2025 09:49:43|TROOP EN ROUTE 12-21-2025 09:53:08|TNK3 ON SCENE 12-21-2025 10:11:40|FIRE OUT"
[2025-12-21 16:40:37] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025T09:41:35
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:41:35
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T09:41:35': Failed to parse time string (2025-21-12T09:41:35) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'alarm' = null
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:41:35
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T09:41:35': Failed to parse time string (2025-21-12T09:41:35) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 16:40:37] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025T09:48:08
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:48:08
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T09:48:08': Failed to parse time string (2025-21-12T09:48:08) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'onScene' = null
[2025-12-21 16:40:37] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025T10:40:11
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T10:40:11
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T10:40:11': Failed to parse time string (2025-21-12T10:40:11) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'cleared' = null
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T10:40:11
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T10:40:11': Failed to parse time string (2025-21-12T10:40:11) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'inService' = null
[2025-12-21 16:40:37] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 16:40:37] [INFO]   -> Found value: ENG3
[2025-12-21 16:40:37] [INFO]   -> Set field 'cADVehicleID' = "ENG3"
[2025-12-21 16:40:37] [INFO]   -> Set field 'name' = "ENG3"
[2025-12-21 16:40:37] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025T09:43:14
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:43:14
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T09:43:14': Failed to parse time string (2025-21-12T09:43:14) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-21 16:40:37] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025T09:52:04
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:52:04
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T09:52:04': Failed to parse time string (2025-21-12T09:52:04) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'timeonscene' = null
[2025-12-21 16:40:37] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025T10:40:11
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T10:40:11
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T10:40:11': Failed to parse time string (2025-21-12T10:40:11) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 16:40:37] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 16:40:37] [INFO]   -> Found value: 12-21-2025T09:43:08
[2025-12-21 16:40:37] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T09:43:08
[2025-12-21 16:40:37] [ERROR] Error formatting datetime '2025-21-12T09:43:08': Failed to parse time string (2025-21-12T09:43:08) at position 6 (1): Unexpected character
[2025-12-21 16:40:37] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 16:40:37] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 16:40:37] [INFO]   -> Found value: SDPSFD
[2025-12-21 16:40:37] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2025-12-21 16:40:37] [INFO] Finished extracting fields. Total fields extracted: 20
[2025-12-21 16:40:37] [INFO] Built locationCoordinates from lat/lng: 36.87825,-89.519528
[2025-12-21 16:40:37] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30459","cADNumber":"25-30459","streetName":"I-57 NB 0.6 MM","nERISIncidentLatitude":36.87825000000000130739863379858434200286865234375,"nERISIncidentLongitude":-89.5195279999999939946064841933548450469970703125,"incidentTypeValue1":"FIRE-OUT OF TOWN","dispatchNotes":"12-21-2025 09:40:02|0.6 NB \n\nDITCH ON FIRE 12-21-2025 09:41:28|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:40:18\nNotes: Call Received on 12\/21\/2025 @ 09:40\n\n0.8\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:47:48|562 ON SCENE APPROX 200 FT ON FIRE SPREADING QUICKLY 12-21-2025 09:49:21|B45 ON SCENE REQUESTING TROOP FOR TRAFFIC CONTROL 12-21-2025 09:49:43|TROOP EN ROUTE 12-21-2025 09:53:08|TNK3 ON SCENE 12-21-2025 10:11:40|FIRE OUT","cADLog":"12-21-2025 09:40:02|0.6 NB \n\nDITCH ON FIRE 12-21-2025 09:41:28|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 09:40:18\nNotes: Call Received on 12\/21\/2025 @ 09:40\n\n0.8\n****** Appended notes from Work Area end   ******\n 12-21-2025 09:47:48|562 ON SCENE APPROX 200 FT ON FIRE SPREADING QUICKLY 12-21-2025 09:49:21|B45 ON SCENE REQUESTING TROOP FOR TRAFFIC CONTROL 12-21-2025 09:49:43|TROOP EN ROUTE 12-21-2025 09:53:08|TNK3 ON SCENE 12-21-2025 10:11:40|FIRE OUT","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"ENG3","name":"ENG3","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"36.87825,-89.519528"}
[2025-12-21 16:40:37] [INFO] Number of extracted fields: 21
[2025-12-21 16:40:37] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2025-12-21 16:40:37] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Assigned Agencies count = 2
[2025-12-21 16:40:37] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2025-12-21 16:40:37] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (position 1)
[2025-12-21 16:40:37] [INFO] Found SAASClient match: ID = 6772cab7157b2ebde, Name = Sikeston DPS for AgencyCode 'SDPSFD'
[2025-12-21 16:40:37] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) based on AgencyCode 'SDPSFD'
[2025-12-21 16:40:37] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 16:40:37] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2025-12-21 16:40:37] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2025-12-21 16:40:37] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e878336f04
[2025-12-21 16:40:39] [INFO] Created new Dispatches record with ID: 69482305c0abcba34
[2025-12-21 16:40:39] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30459.xml
[2025-12-21 16:40:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_25-30459.xml
[2025-12-21 17:38:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250139811_20251221_173817.XML
[2025-12-21 17:38:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250139811_20251221_173817.XML for user: 68f1466aed072ad4a
[2025-12-21 17:38:17] [INFO] File size: 4875 bytes
[2025-12-21 17:38:17] [INFO] Created FTPFiles record with ID: 69483089e0ebd90fe
[2025-12-21 17:38:17] [INFO] About to extract fields from XML. File size: 4875 bytes
[2025-12-21 17:38:17] [INFO] Number of mappings: 28
[2025-12-21 17:38:17] [INFO] Starting XML parsing. Content length: 4875
[2025-12-21 17:38:17] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 17:38:17] [INFO] Processing 28 field mappings
[2025-12-21 17:38:17] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 17:38:17] [INFO]   -> Found value: AFD
[2025-12-21 17:38:17] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2025-12-21 17:38:17] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025000595
[2025-12-21 17:38:17] [INFO]   -> Set field 'incidentInternalId' = "2025000595"
[2025-12-21 17:38:17] [INFO]   -> Set field 'dispatchRunNumber' = "2025000595"
[2025-12-21 17:38:17] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 17:38:17] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2025-12-21 17:38:17] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2025-12-21 17:38:17] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 17:38:17] [INFO]   -> Found value: 470
[2025-12-21 17:38:17] [INFO]   -> Set field 'incidentLocationStreetNumber' = 470
[2025-12-21 17:38:17] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 17:38:17] [INFO]   -> Found value: TN
[2025-12-21 17:38:17] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 17:38:17] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 17:38:17] [INFO]   -> Found value: 38506
[2025-12-21 17:38:17] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-21 17:38:17] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 17:38:17] [INFO]   -> No value found (null or empty)
[2025-12-21 17:38:17] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 17:38:17] [INFO]   -> No value found (null or empty)
[2025-12-21 17:38:17] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 17:38:17] [INFO]   -> Found value: 36.20185
[2025-12-21 17:38:17] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20185000000000030695446184836328029632568359375
[2025-12-21 17:38:17] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 17:38:17] [INFO]   -> Found value: -85.43980
[2025-12-21 17:38:17] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4398000000000052978066378273069858551025390625
[2025-12-21 17:38:17] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025-12-21 11:37:44
[2025-12-21 17:38:17] [INFO]   -> Set field 'alarm' = "2025-12-21 11:37:44"
[2025-12-21 17:38:17] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025-12-21 11:38:10
[2025-12-21 17:38:17] [INFO]   -> Set field 'dispatched' = "2025-12-21 11:38:10"
[2025-12-21 17:38:17] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025-12-21 11:38:10
[2025-12-21 17:38:17] [INFO]   -> Set field 'enroute' = "2025-12-21 11:38:10"
[2025-12-21 17:38:17] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025-12-21 11:38:13
[2025-12-21 17:38:17] [INFO]   -> Set field 'onScene' = "2025-12-21 11:38:13"
[2025-12-21 17:38:17] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 17:38:17] [INFO]   -> No value found (null or empty)
[2025-12-21 17:38:17] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 17:38:17] [INFO]   -> Found value: DURANT ST/HWY 111 N
[2025-12-21 17:38:17] [INFO]   -> Set field 'incidentLocationCross' = "DURANT ST\/HWY 111 N"
[2025-12-21 17:38:17] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 17:38:17] [INFO]   -> Found value: A1221
[2025-12-21 17:38:17] [INFO]   -> Set field 'cADVehicleID' = "A1221"
[2025-12-21 17:38:17] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025-12-21 11:38:10
[2025-12-21 17:38:17] [INFO]   -> Set field 'timedispatch' = "2025-12-21 11:38:10"
[2025-12-21 17:38:17] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025-12-21 11:38:10
[2025-12-21 17:38:17] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-21 11:38:10"
[2025-12-21 17:38:17] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 17:38:17] [INFO]   -> Found value: 2025-12-21 11:38:13
[2025-12-21 17:38:17] [INFO]   -> Set field 'timeonscene' = "2025-12-21 11:38:13"
[2025-12-21 17:38:17] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 17:38:17] [INFO]   -> No value found (null or empty)
[2025-12-21 17:38:17] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 17:38:17] [INFO]   -> No value found (null or empty)
[2025-12-21 17:38:17] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 17:38:17] [INFO]   -> Found value: 20250139811
[2025-12-21 17:38:17] [INFO]   -> Set field 'policeReportNumber' = "20250139811"
[2025-12-21 17:38:17] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 17:38:17] [INFO]   -> No value found (null or empty)
[2025-12-21 17:38:17] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 17:38:17] [INFO]   -> Found value: ALGOOD
[2025-12-21 17:38:17] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2025-12-21 17:38:17] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 17:38:17] [INFO]   -> Found value: MAIN
[2025-12-21 17:38:17] [INFO]   -> Set field 'streetName' = "MAIN"
[2025-12-21 17:38:17] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 17:38:17] [INFO]   -> Found value: ST
[2025-12-21 17:38:17] [INFO]   -> Set field 'streetType' = "ST"
[2025-12-21 17:38:17] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 17:38:17] [INFO]   -> Found value: 470 E MAIN ST
[2025-12-21 17:38:17] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "470 E MAIN ST"
[2025-12-21 17:38:17] [INFO] Finished extracting fields. Total fields extracted: 23
[2025-12-21 17:38:17] [INFO] Concatenating street name and type
[2025-12-21 17:38:17] [INFO]   -> Combined street name: MAIN ST
[2025-12-21 17:38:17] [INFO] Built locationCoordinates from lat/lng: 36.20185,-85.4398
[2025-12-21 17:38:17] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2025000595","dispatchRunNumber":"2025000595","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":470,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.20185000000000030695446184836328029632568359375,"nERISIncidentLongitude":-85.4398000000000052978066378273069858551025390625,"alarm":"2025-12-21 11:37:44","dispatched":"2025-12-21 11:38:10","enroute":"2025-12-21 11:38:10","onScene":"2025-12-21 11:38:13","incidentLocationCross":"DURANT ST\/HWY 111 N","cADVehicleID":"A1221","timedispatch":"2025-12-21 11:38:10","timeenroutetoscene":"2025-12-21 11:38:10","timeonscene":"2025-12-21 11:38:13","policeReportNumber":"20250139811","incidentLocationCity":"ALGOOD","streetName":"MAIN ST","incidentAddressTextVersionStreet":"470 E MAIN ST","locationCoordinates":"36.20185,-85.4398"}
[2025-12-21 17:38:17] [INFO] Number of extracted fields: 23
[2025-12-21 17:38:17] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2025-12-21 17:38:17] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Assigned Agencies count = 4
[2025-12-21 17:38:17] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2025-12-21 17:38:17] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (position 1)
[2025-12-21 17:38:18] [INFO] Found SAASClient match: ID = 68910627445d6e167, Name = Algood Fire Department for AgencyCode 'AFD'
[2025-12-21 17:38:18] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) based on AgencyCode 'AFD'
[2025-12-21 17:38:18] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2025-12-21 17:38:18] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"]
[2025-12-21 17:38:18] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2025-12-21 17:38:18] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"SMOKE ALARM INSTALL","saasclientId":"68910627445d6e167","name":"SMOKE ALARM INSTALL"}
[2025-12-21 17:38:18] [INFO] Created new IncidentTypeMapping with ID: 6948308a96fa6a599
[2025-12-21 17:38:21] [INFO] Created new Dispatches record with ID: 6948308ae0a66e2c2
[2025-12-21 17:38:21] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250139811_20251221_173817.XML
[2025-12-21 17:38:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20250139811_20251221_173817.XML
[2025-12-21 18:03:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139821_20251221_180317.XML
[2025-12-21 18:03:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139821_20251221_180317.XML for user: 68f1466aed072ad4a
[2025-12-21 18:03:17] [INFO] File size: 5603 bytes
[2025-12-21 18:03:18] [INFO] Created FTPFiles record with ID: 6948366607b6b3eeb
[2025-12-21 18:03:18] [INFO] About to extract fields from XML. File size: 5603 bytes
[2025-12-21 18:03:18] [INFO] Number of mappings: 28
[2025-12-21 18:03:18] [INFO] Starting XML parsing. Content length: 5603
[2025-12-21 18:03:18] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 18:03:18] [INFO] Processing 28 field mappings
[2025-12-21 18:03:18] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 18:03:18] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-21 18:03:18] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-21 18:03:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-21 18:03:18] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 18:03:18] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-21 18:03:18] [INFO]   -> Found value: 2025003128
2025019847
[2025-12-21 18:03:18] [INFO]   -> Set field 'incidentInternalId' = "2025003128\n2025019847"
[2025-12-21 18:03:18] [INFO]   -> Set field 'dispatchRunNumber' = "2025003128\n2025019847"
[2025-12-21 18:03:18] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 18:03:18] [INFO]   -> Found value: CHEST PAIN
[2025-12-21 18:03:18] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2025-12-21 18:03:18] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 18:03:18] [INFO]   -> Found value: 273
[2025-12-21 18:03:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 273
[2025-12-21 18:03:18] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 18:03:18] [INFO]   -> Found value: TN
[2025-12-21 18:03:18] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 18:03:18] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 18:03:18] [INFO]   -> Found value: MM273W
[2025-12-21 18:03:18] [INFO]   -> Set field 'businessName' = "MM273W"
[2025-12-21 18:03:18] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 18:03:18] [INFO]   -> Found value: 36.09180
[2025-12-21 18:03:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.09179999999999921556081972084939479827880859375
[2025-12-21 18:03:18] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 18:03:18] [INFO]   -> Found value: -85.72942
[2025-12-21 18:03:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.7294200000000046202330850064754486083984375
[2025-12-21 18:03:18] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 18:03:18] [INFO]   -> Found value: 2025-12-21 12:02:25
[2025-12-21 18:03:18] [INFO]   -> Set field 'alarm' = "2025-12-21 12:02:25"
[2025-12-21 18:03:18] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 18:03:18] [INFO]   -> Found value: 2025-12-21 12:03:14
[2025-12-21 18:03:18] [INFO]   -> Set field 'dispatched' = "2025-12-21 12:03:14"
[2025-12-21 18:03:18] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 18:03:18] [INFO]   -> Found value: PCFR
[2025-12-21 18:03:18] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-21 18:03:18] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 18:03:18] [INFO]   -> Found value: 2025-12-21 12:03:14
[2025-12-21 18:03:18] [INFO]   -> Set field 'timedispatch' = "2025-12-21 12:03:14"
[2025-12-21 18:03:18] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 18:03:18] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-21 18:03:18] [INFO]   -> Found value: 20250139821
20250139819
20250139820
20250139822
[2025-12-21 18:03:18] [INFO]   -> Set field 'policeReportNumber' = "20250139821\n20250139819\n20250139820\n20250139822"
[2025-12-21 18:03:18] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 18:03:18] [INFO]   -> Found value: [APCO INTELLICOMM] Case ID: djc9TnPtTx Caller Phone: 9197101276 Caller Name: VERIZON Incident Locati...
[2025-12-21 18:03:18] [INFO]   -> Set field 'dispatchNotes' = "[APCO INTELLICOMM] Case ID: djc9TnPtTx Caller Phone: 9197101276 Caller Name: VERIZON Incident Location: 273 W I 40 Incident Location Detail: (empty) Nature: CHEST PAIN Incident #: 20250139819 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 12:02:26 PSUTIL01] Event spawned from CHEST PAIN.  [12\/21\/2025 12:02:25 KBEATY] BLACK DODGER CHALLENGER  [12\/21\/25 12:02:20 KBEATY]]"
[2025-12-21 18:03:18] [INFO]   -> Set field 'cADLog' = "[APCO INTELLICOMM] Case ID: djc9TnPtTx Caller Phone: 9197101276 Caller Name: VERIZON Incident Location: 273 W I 40 Incident Location Detail: (empty) Nature: CHEST PAIN Incident #: 20250139819 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 12:02:26 PSUTIL01] Event spawned from CHEST PAIN.  [12\/21\/2025 12:02:25 KBEATY] BLACK DODGER CHALLENGER  [12\/21\/25 12:02:20 KBEATY]]"
[2025-12-21 18:03:18] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 18:03:18] [INFO]   -> Found value: SILVER POINT
[2025-12-21 18:03:18] [INFO]   -> Set field 'incidentLocationCity' = "SILVER POINT"
[2025-12-21 18:03:18] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 18:03:18] [INFO]   -> Found value: I 40
[2025-12-21 18:03:18] [INFO]   -> Set field 'streetName' = "I 40"
[2025-12-21 18:03:18] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 18:03:18] [INFO]   -> No value found (null or empty)
[2025-12-21 18:03:18] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 18:03:18] [INFO]   -> Found value: 273 W I 40
[2025-12-21 18:03:18] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "273 W I 40"
[2025-12-21 18:03:18] [INFO] Finished extracting fields. Total fields extracted: 19
[2025-12-21 18:03:18] [INFO] Built locationCoordinates from lat/lng: 36.0918,-85.72942
[2025-12-21 18:03:18] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003128\n2025019847","dispatchRunNumber":"2025003128\n2025019847","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":273,"incidentLocationStateName":"TN","businessName":"MM273W","nERISIncidentLatitude":36.09179999999999921556081972084939479827880859375,"nERISIncidentLongitude":-85.7294200000000046202330850064754486083984375,"alarm":"2025-12-21 12:02:25","dispatched":"2025-12-21 12:03:14","cADVehicleID":"PCFR","timedispatch":"2025-12-21 12:03:14","policeReportNumber":"20250139821\n20250139819\n20250139820\n20250139822","dispatchNotes":"[APCO INTELLICOMM] Case ID: djc9TnPtTx Caller Phone: 9197101276 Caller Name: VERIZON Incident Location: 273 W I 40 Incident Location Detail: (empty) Nature: CHEST PAIN Incident #: 20250139819 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 12:02:26 PSUTIL01] Event spawned from CHEST PAIN.  [12\/21\/2025 12:02:25 KBEATY] BLACK DODGER CHALLENGER  [12\/21\/25 12:02:20 KBEATY]]","cADLog":"[APCO INTELLICOMM] Case ID: djc9TnPtTx Caller Phone: 9197101276 Caller Name: VERIZON Incident Location: 273 W I 40 Incident Location Detail: (empty) Nature: CHEST PAIN Incident #: 20250139819 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 12:02:26 PSUTIL01] Event spawned from CHEST PAIN.  [12\/21\/2025 12:02:25 KBEATY] BLACK DODGER CHALLENGER  [12\/21\/25 12:02:20 KBEATY]]","incidentLocationCity":"SILVER POINT","streetName":"I 40","incidentAddressTextVersionStreet":"273 W I 40","locationCoordinates":"36.0918,-85.72942"}
[2025-12-21 18:03:18] [INFO] Number of extracted fields: 20
[2025-12-21 18:03:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-21 18:03:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Assigned Agencies count = 4
[2025-12-21 18:03:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2025-12-21 18:03:18] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 18:03:18] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 18:03:18] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 18:03:18] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS","PCSO","RESC"]
[2025-12-21 18:03:18] [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"]
[2025-12-21 18:03:18] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 18:03:18] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 18:03:18] [INFO] Normalized cADNumber to first value: 2025003128
[2025-12-21 18:03:18] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2025-12-21 18:03:21] [INFO] Created new Dispatches record with ID: 69483666c3738931b
[2025-12-21 18:03:21] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139821_20251221_180317.XML
[2025-12-21 18:03:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139821_20251221_180317.XML
[2025-12-21 18:14:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30468.xml
[2025-12-21 18:14:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30468.xml for user: 68d56363ec1209189
[2025-12-21 18:14:53] [INFO] File size: 1465 bytes
[2025-12-21 18:14:53] [INFO] Created FTPFiles record with ID: 6948391da18862b63
[2025-12-21 18:14:53] [INFO] About to extract fields from XML. File size: 1465 bytes
[2025-12-21 18:14:53] [INFO] Number of mappings: 21
[2025-12-21 18:14:53] [INFO] Starting XML parsing. Content length: 1465
[2025-12-21 18:14:53] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 18:14:53] [INFO] Processing 21 field mappings
[2025-12-21 18:14:53] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 18:14:53] [INFO]   -> Found value: 25-30468
[2025-12-21 18:14:53] [INFO]   -> Set field 'dispatchRunNumber' = "25-30468"
[2025-12-21 18:14:53] [INFO]   -> Set field 'cADNumber' = "25-30468"
[2025-12-21 18:14:53] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 18:14:53] [INFO]   -> Found value: 1905
[2025-12-21 18:14:53] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1905
[2025-12-21 18:14:53] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 18:14:53] [INFO]   -> Found value: E COUNTY HIGHWAY 450
[2025-12-21 18:14:53] [INFO]   -> Set field 'streetName' = "E COUNTY HIGHWAY 450"
[2025-12-21 18:14:53] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 18:14:53] [INFO]   -> No value found (null or empty)
[2025-12-21 18:14:53] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 18:14:53] [INFO]   -> Found value: SIKESTON
[2025-12-21 18:14:53] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-21 18:14:53] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 18:14:53] [INFO]   -> Found value: AMOS & DORIS  JOHNSON
[2025-12-21 18:14:53] [INFO]   -> Set field 'businessName' = "AMOS & DORIS  JOHNSON"
[2025-12-21 18:14:53] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 18:14:53] [INFO]   -> No value found (null or empty)
[2025-12-21 18:14:53] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 18:14:53] [INFO]   -> No value found (null or empty)
[2025-12-21 18:14:53] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 18:14:53] [INFO]   -> Found value: 0
[2025-12-21 18:14:53] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 18:14:53] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 18:14:53] [INFO]   -> Found value: 0
[2025-12-21 18:14:53] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 18:14:53] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 18:14:53] [INFO]   -> Found value: FALL
[2025-12-21 18:14:53] [INFO]   -> Set field 'incidentTypeValue1' = "FALL"
[2025-12-21 18:14:53] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 18:14:53] [INFO]   -> Found value: 12-21-2025 11:29:25|89 YEAR OLD MALE FALLEN UNSURE INJURIES  12-21-2025 11:36:46|1705 EN ROUTE 12-21...
[2025-12-21 18:14:53] [INFO]   -> Set field 'dispatchNotes' = "12-21-2025 11:29:25|89 YEAR OLD MALE FALLEN UNSURE INJURIES  12-21-2025 11:36:46|1705 EN ROUTE 12-21-2025 11:45:43|1704 ON SCENE 12-21-2025 12:13:38|ONE SIGNED REFUSAL"
[2025-12-21 18:14:53] [INFO]   -> Set field 'cADLog' = "12-21-2025 11:29:25|89 YEAR OLD MALE FALLEN UNSURE INJURIES  12-21-2025 11:36:46|1705 EN ROUTE 12-21-2025 11:45:43|1704 ON SCENE 12-21-2025 12:13:38|ONE SIGNED REFUSAL"
[2025-12-21 18:14:53] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 18:14:53] [INFO]   -> Found value: 12-21-2025T11:31:35
[2025-12-21 18:14:53] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T11:31:35
[2025-12-21 18:14:53] [ERROR] Error formatting datetime '2025-21-12T11:31:35': Failed to parse time string (2025-21-12T11:31:35) at position 6 (1): Unexpected character
[2025-12-21 18:14:53] [INFO]   -> Set field 'alarm' = null
[2025-12-21 18:14:53] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T11:31:35
[2025-12-21 18:14:53] [ERROR] Error formatting datetime '2025-21-12T11:31:35': Failed to parse time string (2025-21-12T11:31:35) at position 6 (1): Unexpected character
[2025-12-21 18:14:53] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 18:14:53] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 18:14:53] [INFO]   -> No value found (null or empty)
[2025-12-21 18:14:53] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 18:14:53] [INFO]   -> No value found (null or empty)
[2025-12-21 18:14:53] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 18:14:53] [INFO]   -> Found value: RURAL PAGE
[2025-12-21 18:14:53] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2025-12-21 18:14:53] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2025-12-21 18:14:53] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 18:14:53] [INFO]   -> No value found (null or empty)
[2025-12-21 18:14:53] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 18:14:53] [INFO]   -> No value found (null or empty)
[2025-12-21 18:14:53] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 18:14:53] [INFO]   -> Found value: 12-21-2025T12:13:55
[2025-12-21 18:14:53] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T12:13:55
[2025-12-21 18:14:53] [ERROR] Error formatting datetime '2025-21-12T12:13:55': Failed to parse time string (2025-21-12T12:13:55) at position 6 (1): Unexpected character
[2025-12-21 18:14:53] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 18:14:53] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 18:14:53] [INFO]   -> Found value: 12-21-2025T11:31:35
[2025-12-21 18:14:53] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T11:31:35
[2025-12-21 18:14:53] [ERROR] Error formatting datetime '2025-21-12T11:31:35': Failed to parse time string (2025-21-12T11:31:35) at position 6 (1): Unexpected character
[2025-12-21 18:14:53] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 18:14:53] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 18:14:53] [INFO]   -> Found value: SCRFD
[2025-12-21 18:14:53] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2025-12-21 18:14:53] [INFO] Finished extracting fields. Total fields extracted: 18
[2025-12-21 18:14:53] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 18:14:53] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30468","cADNumber":"25-30468","incidentLocationStreetNumber":1905,"streetName":"E COUNTY HIGHWAY 450","incidentLocationCity":"SIKESTON","businessName":"AMOS & DORIS  JOHNSON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FALL","dispatchNotes":"12-21-2025 11:29:25|89 YEAR OLD MALE FALLEN UNSURE INJURIES  12-21-2025 11:36:46|1705 EN ROUTE 12-21-2025 11:45:43|1704 ON SCENE 12-21-2025 12:13:38|ONE SIGNED REFUSAL","cADLog":"12-21-2025 11:29:25|89 YEAR OLD MALE FALLEN UNSURE INJURIES  12-21-2025 11:36:46|1705 EN ROUTE 12-21-2025 11:45:43|1704 ON SCENE 12-21-2025 12:13:38|ONE SIGNED REFUSAL","alarm":null,"dispatched":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2025-12-21 18:14:53] [INFO] Number of extracted fields: 19
[2025-12-21 18:14:53] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2025-12-21 18:14:53] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Assigned Agencies count = 2
[2025-12-21 18:14:53] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2025-12-21 18:14:53] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (position 1)
[2025-12-21 18:14:53] [INFO] Found SAASClient match: ID = 6643bdb30659f00d8, Name = Scott County Rural Fire Protection District for AgencyCode 'SCRFD'
[2025-12-21 18:14:53] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) based on AgencyCode 'SCRFD'
[2025-12-21 18:14:53] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-21 18:14:53] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-21 18:14:54] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2025-12-21 18:14:54] [INFO] Found existing IncidentTypeMapping with ID: 694108adc0afa89c5
[2025-12-21 18:15:05] [INFO] Created new Dispatches record with ID: 6948391e77bd6fdc2
[2025-12-21 18:15:05] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30468.xml
[2025-12-21 18:15:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30468.xml
[2025-12-21 19:05:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250139841_20251221_190507.XML
[2025-12-21 19:05:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250139841_20251221_190507.XML for user: 68f1466aed072ad4a
[2025-12-21 19:05:08] [INFO] File size: 5183 bytes
[2025-12-21 19:05:08] [INFO] Created FTPFiles record with ID: 694844e4636949e7c
[2025-12-21 19:05:08] [INFO] About to extract fields from XML. File size: 5183 bytes
[2025-12-21 19:05:08] [INFO] Number of mappings: 28
[2025-12-21 19:05:08] [INFO] Starting XML parsing. Content length: 5183
[2025-12-21 19:05:08] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 19:05:08] [INFO] Processing 28 field mappings
[2025-12-21 19:05:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 19:05:08] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2025-12-21 19:05:08] [INFO]   -> Found value: MFD
EMS
[2025-12-21 19:05:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS"
[2025-12-21 19:05:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 19:05:08] [INFO] Found 2 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-21 19:05:08] [INFO]   -> Found value: 2025000376
2025019850
[2025-12-21 19:05:08] [INFO]   -> Set field 'incidentInternalId' = "2025000376\n2025019850"
[2025-12-21 19:05:08] [INFO]   -> Set field 'dispatchRunNumber' = "2025000376\n2025019850"
[2025-12-21 19:05:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 19:05:08] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2025-12-21 19:05:08] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2025-12-21 19:05:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 19:05:08] [INFO]   -> Found value: 708
[2025-12-21 19:05:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 708
[2025-12-21 19:05:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 19:05:08] [INFO]   -> Found value: TN
[2025-12-21 19:05:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 19:05:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 19:05:08] [INFO]   -> Found value: 38574
[2025-12-21 19:05:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2025-12-21 19:05:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 19:05:08] [INFO]   -> Found value: 36.15052
[2025-12-21 19:05:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.150520000000000209183781407773494720458984375
[2025-12-21 19:05:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 19:05:08] [INFO]   -> Found value: -85.25939
[2025-12-21 19:05:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.25938999999999623469193466007709503173828125
[2025-12-21 19:05:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 19:05:08] [INFO]   -> Found value: 2025-12-21 13:03:43
[2025-12-21 19:05:08] [INFO]   -> Set field 'alarm' = "2025-12-21 13:03:43"
[2025-12-21 19:05:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 19:05:08] [INFO]   -> Found value: 2025-12-21 13:05:03
[2025-12-21 19:05:08] [INFO]   -> Set field 'dispatched' = "2025-12-21 13:05:03"
[2025-12-21 19:05:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 19:05:08] [INFO]   -> Found value: E LOUIS AVE/E MINNIE AVE
[2025-12-21 19:05:08] [INFO]   -> Set field 'incidentLocationCross' = "E LOUIS AVE\/E MINNIE AVE"
[2025-12-21 19:05:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 19:05:08] [INFO]   -> Found value: MFEN1
[2025-12-21 19:05:08] [INFO]   -> Set field 'cADVehicleID' = "MFEN1"
[2025-12-21 19:05:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 19:05:08] [INFO]   -> Found value: 2025-12-21 13:05:03
[2025-12-21 19:05:08] [INFO]   -> Set field 'timedispatch' = "2025-12-21 13:05:03"
[2025-12-21 19:05:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 19:05:08] [INFO]   -> No value found (null or empty)
[2025-12-21 19:05:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 19:05:08] [INFO] Found 2 elements for 'CadInciNumber', concatenating 2 non-empty values
[2025-12-21 19:05:08] [INFO]   -> Found value: 20250139841
20250139840
[2025-12-21 19:05:08] [INFO]   -> Set field 'policeReportNumber' = "20250139841\n20250139840"
[2025-12-21 19:05:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 19:05:08] [INFO]   -> Found value: [EMS] MALE WEIGHS 300+ LBS  [12/21/25 13:03:59 KBEATY] Event spawned from EMS NON-EMERGENCY.  [12/21...
[2025-12-21 19:05:08] [INFO]   -> Set field 'dispatchNotes' = "[EMS] MALE WEIGHS 300+ LBS  [12\/21\/25 13:03:59 KBEATY] Event spawned from EMS NON-EMERGENCY.  [12\/21\/2025 13:03:43 KBEATY] TIM BOYD  [12\/21\/25 13:03:33 KBEATY] UDTS: LIFT ASSIST ONLY  [12\/21\/25 13:03:17 KBEATY]"
[2025-12-21 19:05:08] [INFO]   -> Set field 'cADLog' = "[EMS] MALE WEIGHS 300+ LBS  [12\/21\/25 13:03:59 KBEATY] Event spawned from EMS NON-EMERGENCY.  [12\/21\/2025 13:03:43 KBEATY] TIM BOYD  [12\/21\/25 13:03:33 KBEATY] UDTS: LIFT ASSIST ONLY  [12\/21\/25 13:03:17 KBEATY]"
[2025-12-21 19:05:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 19:05:08] [INFO]   -> Found value: MONTEREY
[2025-12-21 19:05:08] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2025-12-21 19:05:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 19:05:08] [INFO]   -> Found value: ELM
[2025-12-21 19:05:08] [INFO]   -> Set field 'streetName' = "ELM"
[2025-12-21 19:05:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 19:05:08] [INFO]   -> Found value: ST
[2025-12-21 19:05:08] [INFO]   -> Set field 'streetType' = "ST"
[2025-12-21 19:05:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 19:05:08] [INFO]   -> Found value: 708 N ELM ST
[2025-12-21 19:05:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "708 N ELM ST"
[2025-12-21 19:05:08] [INFO] Finished extracting fields. Total fields extracted: 21
[2025-12-21 19:05:08] [INFO] Concatenating street name and type
[2025-12-21 19:05:08] [INFO]   -> Combined street name: ELM ST
[2025-12-21 19:05:08] [INFO] Built locationCoordinates from lat/lng: 36.15052,-85.25939
[2025-12-21 19:05:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS","incidentInternalId":"2025000376\n2025019850","dispatchRunNumber":"2025000376\n2025019850","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":708,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.150520000000000209183781407773494720458984375,"nERISIncidentLongitude":-85.25938999999999623469193466007709503173828125,"alarm":"2025-12-21 13:03:43","dispatched":"2025-12-21 13:05:03","incidentLocationCross":"E LOUIS AVE\/E MINNIE AVE","cADVehicleID":"MFEN1","timedispatch":"2025-12-21 13:05:03","policeReportNumber":"20250139841\n20250139840","dispatchNotes":"[EMS] MALE WEIGHS 300+ LBS  [12\/21\/25 13:03:59 KBEATY] Event spawned from EMS NON-EMERGENCY.  [12\/21\/2025 13:03:43 KBEATY] TIM BOYD  [12\/21\/25 13:03:33 KBEATY] UDTS: LIFT ASSIST ONLY  [12\/21\/25 13:03:17 KBEATY]","cADLog":"[EMS] MALE WEIGHS 300+ LBS  [12\/21\/25 13:03:59 KBEATY] Event spawned from EMS NON-EMERGENCY.  [12\/21\/2025 13:03:43 KBEATY] TIM BOYD  [12\/21\/25 13:03:33 KBEATY] UDTS: LIFT ASSIST ONLY  [12\/21\/25 13:03:17 KBEATY]","incidentLocationCity":"MONTEREY","streetName":"ELM ST","incidentAddressTextVersionStreet":"708 N ELM ST","locationCoordinates":"36.15052,-85.25939"}
[2025-12-21 19:05:08] [INFO] Number of extracted fields: 21
[2025-12-21 19:05:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS'
[2025-12-21 19:05:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS', Parsed IDs = ["MFD","EMS"], Assigned Agencies count = 4
[2025-12-21 19:05:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS"]
[2025-12-21 19:05:08] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (position 1)
[2025-12-21 19:05:08] [INFO] Found SAASClient match: ID = 68e67aaba2bb4565e, Name = Monterey Fire Department for AgencyCode 'MFD'
[2025-12-21 19:05:08] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) based on AgencyCode 'MFD'
[2025-12-21 19:05:08] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS"]
[2025-12-21 19:05:08] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2025-12-21 19:05:08] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"]
[2025-12-21 19:05:08] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2025-12-21 19:05:08] [INFO] Normalized cADNumber to first value: 2025000376
[2025-12-21 19:05:08] [INFO] Found existing IncidentTypeMapping with ID: 6946a65ce82f04f50
[2025-12-21 19:05:10] [INFO] Created new Dispatches record with ID: 694844e539b002bf9
[2025-12-21 19:05:10] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250139841_20251221_190507.XML
[2025-12-21 19:05:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20250139841_20251221_190507.XML
[2025-12-21 20:12:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139853_20251221_201207.XML
[2025-12-21 20:12:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139853_20251221_201207.XML for user: 68f1466aed072ad4a
[2025-12-21 20:12:07] [INFO] File size: 4786 bytes
[2025-12-21 20:12:08] [INFO] Created FTPFiles record with ID: 6948549820db51662
[2025-12-21 20:12:08] [INFO] About to extract fields from XML. File size: 4786 bytes
[2025-12-21 20:12:08] [INFO] Number of mappings: 28
[2025-12-21 20:12:08] [INFO] Starting XML parsing. Content length: 4786
[2025-12-21 20:12:08] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 20:12:08] [INFO] Processing 28 field mappings
[2025-12-21 20:12:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 20:12:08] [INFO]   -> Found value: PCFD
[2025-12-21 20:12:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2025-12-21 20:12:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025003129
[2025-12-21 20:12:08] [INFO]   -> Set field 'incidentInternalId' = "2025003129"
[2025-12-21 20:12:08] [INFO]   -> Set field 'dispatchRunNumber' = "2025003129"
[2025-12-21 20:12:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 20:12:08] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2025-12-21 20:12:08] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2025-12-21 20:12:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 20:12:08] [INFO]   -> Found value: 4898
[2025-12-21 20:12:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4898
[2025-12-21 20:12:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 20:12:08] [INFO]   -> Found value: TN
[2025-12-21 20:12:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 20:12:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 20:12:08] [INFO]   -> Found value: 38506
[2025-12-21 20:12:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2025-12-21 20:12:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 20:12:08] [INFO]   -> Found value: 4898 VILLAGE RD
[2025-12-21 20:12:08] [INFO]   -> Set field 'businessName' = "4898 VILLAGE RD"
[2025-12-21 20:12:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 20:12:08] [INFO]   -> No value found (null or empty)
[2025-12-21 20:12:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 20:12:08] [INFO]   -> Found value: 36.23292
[2025-12-21 20:12:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.23292000000000001591615728102624416351318359375
[2025-12-21 20:12:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 20:12:08] [INFO]   -> Found value: -85.49118
[2025-12-21 20:12:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4911799999999999499777914024889469146728515625
[2025-12-21 20:12:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025-12-21 14:11:37
[2025-12-21 20:12:08] [INFO]   -> Set field 'alarm' = "2025-12-21 14:11:37"
[2025-12-21 20:12:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025-12-21 14:11:58
[2025-12-21 20:12:08] [INFO]   -> Set field 'dispatched' = "2025-12-21 14:11:58"
[2025-12-21 20:12:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025-12-21 14:11:58
[2025-12-21 20:12:08] [INFO]   -> Set field 'enroute' = "2025-12-21 14:11:58"
[2025-12-21 20:12:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025-12-21 14:11:58
[2025-12-21 20:12:08] [INFO]   -> Set field 'onScene' = "2025-12-21 14:11:58"
[2025-12-21 20:12:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 20:12:08] [INFO]   -> No value found (null or empty)
[2025-12-21 20:12:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 20:12:08] [INFO]   -> Found value: RIDGEWOOD RD/PINE VALLEY RD
[2025-12-21 20:12:08] [INFO]   -> Set field 'incidentLocationCross' = "RIDGEWOOD RD\/PINE VALLEY RD"
[2025-12-21 20:12:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 20:12:08] [INFO]   -> Found value: TK12
[2025-12-21 20:12:08] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2025-12-21 20:12:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025-12-21 14:11:58
[2025-12-21 20:12:08] [INFO]   -> Set field 'timedispatch' = "2025-12-21 14:11:58"
[2025-12-21 20:12:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025-12-21 14:11:58
[2025-12-21 20:12:08] [INFO]   -> Set field 'timeenroutetoscene' = "2025-12-21 14:11:58"
[2025-12-21 20:12:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 20:12:08] [INFO]   -> Found value: 2025-12-21 14:11:58
[2025-12-21 20:12:08] [INFO]   -> Set field 'timeonscene' = "2025-12-21 14:11:58"
[2025-12-21 20:12:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 20:12:08] [INFO]   -> No value found (null or empty)
[2025-12-21 20:12:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 20:12:08] [INFO]   -> No value found (null or empty)
[2025-12-21 20:12:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 20:12:08] [INFO]   -> Found value: 20250139853
[2025-12-21 20:12:08] [INFO]   -> Set field 'policeReportNumber' = "20250139853"
[2025-12-21 20:12:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 20:12:08] [INFO]   -> No value found (null or empty)
[2025-12-21 20:12:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 20:12:08] [INFO]   -> Found value: COOKEVILLE
[2025-12-21 20:12:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-21 20:12:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 20:12:08] [INFO]   -> Found value: VILLAGE
[2025-12-21 20:12:08] [INFO]   -> Set field 'streetName' = "VILLAGE"
[2025-12-21 20:12:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 20:12:08] [INFO]   -> Found value: RD
[2025-12-21 20:12:08] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-21 20:12:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 20:12:08] [INFO]   -> Found value: 4898 VILLAGE RD
[2025-12-21 20:12:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4898 VILLAGE RD"
[2025-12-21 20:12:08] [INFO] Finished extracting fields. Total fields extracted: 24
[2025-12-21 20:12:08] [INFO] Concatenating street name and type
[2025-12-21 20:12:08] [INFO]   -> Combined street name: VILLAGE RD
[2025-12-21 20:12:08] [INFO] Built locationCoordinates from lat/lng: 36.23292,-85.49118
[2025-12-21 20:12:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2025003129","dispatchRunNumber":"2025003129","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":4898,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"4898 VILLAGE RD","nERISIncidentLatitude":36.23292000000000001591615728102624416351318359375,"nERISIncidentLongitude":-85.4911799999999999499777914024889469146728515625,"alarm":"2025-12-21 14:11:37","dispatched":"2025-12-21 14:11:58","enroute":"2025-12-21 14:11:58","onScene":"2025-12-21 14:11:58","incidentLocationCross":"RIDGEWOOD RD\/PINE VALLEY RD","cADVehicleID":"TK12","timedispatch":"2025-12-21 14:11:58","timeenroutetoscene":"2025-12-21 14:11:58","timeonscene":"2025-12-21 14:11:58","policeReportNumber":"20250139853","incidentLocationCity":"COOKEVILLE","streetName":"VILLAGE RD","incidentAddressTextVersionStreet":"4898 VILLAGE RD","locationCoordinates":"36.23292,-85.49118"}
[2025-12-21 20:12:08] [INFO] Number of extracted fields: 24
[2025-12-21 20:12:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2025-12-21 20:12:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Assigned Agencies count = 4
[2025-12-21 20:12:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2025-12-21 20:12:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 20:12:08] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 20:12:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 20:12:08] [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"]
[2025-12-21 20:12:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 20:12:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 20:12:08] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2025-12-21 20:12:11] [INFO] Created new Dispatches record with ID: 6948549907ec07e81
[2025-12-21 20:12:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139853_20251221_201207.XML
[2025-12-21 20:12:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139853_20251221_201207.XML
[2025-12-21 20:32:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30482.xml
[2025-12-21 20:32:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30482.xml for user: 68d56363ec1209189
[2025-12-21 20:32:33] [INFO] File size: 3818 bytes
[2025-12-21 20:32:33] [INFO] Created FTPFiles record with ID: 69485961e2655048d
[2025-12-21 20:32:33] [INFO] About to extract fields from XML. File size: 3818 bytes
[2025-12-21 20:32:33] [INFO] Number of mappings: 21
[2025-12-21 20:32:33] [INFO] Starting XML parsing. Content length: 3818
[2025-12-21 20:32:33] [INFO] XML parsed successfully. Root element: Incident
[2025-12-21 20:32:33] [INFO] Processing 21 field mappings
[2025-12-21 20:32:33] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2025-12-21 20:32:33] [INFO]   -> Found value: 25-30482
[2025-12-21 20:32:33] [INFO]   -> Set field 'dispatchRunNumber' = "25-30482"
[2025-12-21 20:32:33] [INFO]   -> Set field 'cADNumber' = "25-30482"
[2025-12-21 20:32:33] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2025-12-21 20:32:33] [INFO]   -> Found value: 322
[2025-12-21 20:32:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 322
[2025-12-21 20:32:33] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2025-12-21 20:32:33] [INFO]   -> Found value: COUNTY HIGHWAY 448
[2025-12-21 20:32:33] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 448"
[2025-12-21 20:32:33] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2025-12-21 20:32:33] [INFO]   -> No value found (null or empty)
[2025-12-21 20:32:33] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2025-12-21 20:32:33] [INFO]   -> Found value: SIKESTON
[2025-12-21 20:32:33] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2025-12-21 20:32:33] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2025-12-21 20:32:33] [INFO]   -> No value found (null or empty)
[2025-12-21 20:32:33] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2025-12-21 20:32:33] [INFO]   -> Found value: MO
[2025-12-21 20:32:33] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2025-12-21 20:32:33] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2025-12-21 20:32:33] [INFO]   -> Found value: 63801
[2025-12-21 20:32:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2025-12-21 20:32:33] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2025-12-21 20:32:33] [INFO]   -> Found value: 0
[2025-12-21 20:32:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2025-12-21 20:32:33] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2025-12-21 20:32:33] [INFO]   -> Found value: 0
[2025-12-21 20:32:33] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2025-12-21 20:32:33] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2025-12-21 20:32:33] [INFO]   -> Found value: FIRE-GRASS/BRUSH/TREES
[2025-12-21 20:32:33] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-GRASS\/BRUSH\/TREES"
[2025-12-21 20:32:33] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025 14:00:29|RP STATED THERE WAS TRASH BURNING AND NOW A FIELD IS ON FIRE HEADING TOWARDS HER...
[2025-12-21 20:32:33] [INFO]   -> Set field 'dispatchNotes' = "12-21-2025 14:00:29|RP STATED THERE WAS TRASH BURNING AND NOW A FIELD IS ON FIRE HEADING TOWARDS HER HOUSE\nFIRE IS NOT LARGE AT THIS TIME HOWEVER SPREADING FAST 12-21-2025 14:02:35|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 14:01:09\nNotes: Call Received on 12\/21\/2025 @ 14:01\n\nFIELD ON FIRE STRUCTURE IN DANGER \nHUSBAND IS TRYING YO PUT OUT WITH TRUCK AND BUCKETS WIND STRONG\n****** Appended notes from Work Area end   ******\n 12-21-2025 14:02:55|FIRST PAGE 14:02 12-21-2025 14:03:46|1704 EN ROUTE TO STATION 4 12-21-2025 14:08:52|1704 REQUESTING MUTIAL AID BRUSH TRUCKS AND PERSONEL 12-21-2025 14:08:53|3414 3415 SECURE 12-21-2025 14:09:02|DISREGARD LAST NOTE 12-21-2025 14:09:04|MINER NOTIFIED 12-21-2025 14:10:34|1765, 1781 AND 1773 EN ROUTE 12-21-2025 14:11:44|SCOTT CITY ADVISE FIRE IS OUT PER CALLER 12-21-2025 14:11:49|BUT STILL SMOKE 12-21-2025 14:13:26|1765 ADVISED TO DOWNGRADE SCRF AND DISREGARD MINER 12-21-2025 14:13:32|MINER HAS BEEN NOTIFIED 12-21-2025 14:13:34|DOWNGRADE PAGED 12-21-2025 14:16:00|1773 AND 1781 ON SCENE 12-21-2025 14:20:33|PER COMMAND DISREGARD ANY SCRF NOT ON SCENE. REMANING PERSONEL WILL REMAIN ON SCENE TO PUT OUT HOT SPOTS 12-21-2025 14:31:41|448 COMMAND ADVISED FIRE IS OUT ALL SCRF PERSONEL CLEARING SCENE"
[2025-12-21 20:32:33] [INFO]   -> Set field 'cADLog' = "12-21-2025 14:00:29|RP STATED THERE WAS TRASH BURNING AND NOW A FIELD IS ON FIRE HEADING TOWARDS HER HOUSE\nFIRE IS NOT LARGE AT THIS TIME HOWEVER SPREADING FAST 12-21-2025 14:02:35|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 14:01:09\nNotes: Call Received on 12\/21\/2025 @ 14:01\n\nFIELD ON FIRE STRUCTURE IN DANGER \nHUSBAND IS TRYING YO PUT OUT WITH TRUCK AND BUCKETS WIND STRONG\n****** Appended notes from Work Area end   ******\n 12-21-2025 14:02:55|FIRST PAGE 14:02 12-21-2025 14:03:46|1704 EN ROUTE TO STATION 4 12-21-2025 14:08:52|1704 REQUESTING MUTIAL AID BRUSH TRUCKS AND PERSONEL 12-21-2025 14:08:53|3414 3415 SECURE 12-21-2025 14:09:02|DISREGARD LAST NOTE 12-21-2025 14:09:04|MINER NOTIFIED 12-21-2025 14:10:34|1765, 1781 AND 1773 EN ROUTE 12-21-2025 14:11:44|SCOTT CITY ADVISE FIRE IS OUT PER CALLER 12-21-2025 14:11:49|BUT STILL SMOKE 12-21-2025 14:13:26|1765 ADVISED TO DOWNGRADE SCRF AND DISREGARD MINER 12-21-2025 14:13:32|MINER HAS BEEN NOTIFIED 12-21-2025 14:13:34|DOWNGRADE PAGED 12-21-2025 14:16:00|1773 AND 1781 ON SCENE 12-21-2025 14:20:33|PER COMMAND DISREGARD ANY SCRF NOT ON SCENE. REMANING PERSONEL WILL REMAIN ON SCENE TO PUT OUT HOT SPOTS 12-21-2025 14:31:41|448 COMMAND ADVISED FIRE IS OUT ALL SCRF PERSONEL CLEARING SCENE"
[2025-12-21 20:32:33] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025T14:01:41
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:01:41
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:01:41': Failed to parse time string (2025-21-12T14:01:41) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'alarm' = null
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:01:41
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:01:41': Failed to parse time string (2025-21-12T14:01:41) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'dispatched' = null
[2025-12-21 20:32:33] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025T14:15:38
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:15:38
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:15:38': Failed to parse time string (2025-21-12T14:15:38) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'onScene' = null
[2025-12-21 20:32:33] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025T14:31:48
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:31:48
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:31:48': Failed to parse time string (2025-21-12T14:31:48) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'cleared' = null
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:31:48
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:31:48': Failed to parse time string (2025-21-12T14:31:48) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'inService' = null
[2025-12-21 20:32:33] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2025-12-21 20:32:33] [INFO]   -> Found value: 1765
[2025-12-21 20:32:33] [INFO]   -> Set field 'cADVehicleID' = 1765
[2025-12-21 20:32:33] [INFO]   -> Set field 'name' = "1765"
[2025-12-21 20:32:33] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025T14:09:54
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:09:54
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:09:54': Failed to parse time string (2025-21-12T14:09:54) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'timeenroutetoscene' = null
[2025-12-21 20:32:33] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025T14:15:38
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:15:38
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:15:38': Failed to parse time string (2025-21-12T14:15:38) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'timeonscene' = null
[2025-12-21 20:32:33] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025T14:31:48
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:31:48
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:31:48': Failed to parse time string (2025-21-12T14:31:48) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'timeunitclear' = null
[2025-12-21 20:32:33] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2025-12-21 20:32:33] [INFO]   -> Found value: 12-21-2025T14:09:38
[2025-12-21 20:32:33] [INFO] Reformatted DD-MM-YYYY date '12-21-2025' (day=12, month=21) to ISO: 2025-21-12T14:09:38
[2025-12-21 20:32:33] [ERROR] Error formatting datetime '2025-21-12T14:09:38': Failed to parse time string (2025-21-12T14:09:38) at position 6 (1): Unexpected character
[2025-12-21 20:32:33] [INFO]   -> Set field 'timedispatch' = null
[2025-12-21 20:32:33] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2025-12-21 20:32:33] [INFO]   -> Found value: SCRFD
[2025-12-21 20:32:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2025-12-21 20:32:33] [INFO] Finished extracting fields. Total fields extracted: 24
[2025-12-21 20:32:33] [INFO] Built locationCoordinates from lat/lng: 0,0
[2025-12-21 20:32:33] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"25-30482","cADNumber":"25-30482","incidentLocationStreetNumber":322,"streetName":"COUNTY HIGHWAY 448","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-GRASS\/BRUSH\/TREES","dispatchNotes":"12-21-2025 14:00:29|RP STATED THERE WAS TRASH BURNING AND NOW A FIELD IS ON FIRE HEADING TOWARDS HER HOUSE\nFIRE IS NOT LARGE AT THIS TIME HOWEVER SPREADING FAST 12-21-2025 14:02:35|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 14:01:09\nNotes: Call Received on 12\/21\/2025 @ 14:01\n\nFIELD ON FIRE STRUCTURE IN DANGER \nHUSBAND IS TRYING YO PUT OUT WITH TRUCK AND BUCKETS WIND STRONG\n****** Appended notes from Work Area end   ******\n 12-21-2025 14:02:55|FIRST PAGE 14:02 12-21-2025 14:03:46|1704 EN ROUTE TO STATION 4 12-21-2025 14:08:52|1704 REQUESTING MUTIAL AID BRUSH TRUCKS AND PERSONEL 12-21-2025 14:08:53|3414 3415 SECURE 12-21-2025 14:09:02|DISREGARD LAST NOTE 12-21-2025 14:09:04|MINER NOTIFIED 12-21-2025 14:10:34|1765, 1781 AND 1773 EN ROUTE 12-21-2025 14:11:44|SCOTT CITY ADVISE FIRE IS OUT PER CALLER 12-21-2025 14:11:49|BUT STILL SMOKE 12-21-2025 14:13:26|1765 ADVISED TO DOWNGRADE SCRF AND DISREGARD MINER 12-21-2025 14:13:32|MINER HAS BEEN NOTIFIED 12-21-2025 14:13:34|DOWNGRADE PAGED 12-21-2025 14:16:00|1773 AND 1781 ON SCENE 12-21-2025 14:20:33|PER COMMAND DISREGARD ANY SCRF NOT ON SCENE. REMANING PERSONEL WILL REMAIN ON SCENE TO PUT OUT HOT SPOTS 12-21-2025 14:31:41|448 COMMAND ADVISED FIRE IS OUT ALL SCRF PERSONEL CLEARING SCENE","cADLog":"12-21-2025 14:00:29|RP STATED THERE WAS TRASH BURNING AND NOW A FIELD IS ON FIRE HEADING TOWARDS HER HOUSE\nFIRE IS NOT LARGE AT THIS TIME HOWEVER SPREADING FAST 12-21-2025 14:02:35|****** Appended notes from Work Area begin ******\nSource: E911 \nLaw Enf: Sikeston Department of Public Safety \nOpened DateTime: 12\/21\/2025 14:01:09\nNotes: Call Received on 12\/21\/2025 @ 14:01\n\nFIELD ON FIRE STRUCTURE IN DANGER \nHUSBAND IS TRYING YO PUT OUT WITH TRUCK AND BUCKETS WIND STRONG\n****** Appended notes from Work Area end   ******\n 12-21-2025 14:02:55|FIRST PAGE 14:02 12-21-2025 14:03:46|1704 EN ROUTE TO STATION 4 12-21-2025 14:08:52|1704 REQUESTING MUTIAL AID BRUSH TRUCKS AND PERSONEL 12-21-2025 14:08:53|3414 3415 SECURE 12-21-2025 14:09:02|DISREGARD LAST NOTE 12-21-2025 14:09:04|MINER NOTIFIED 12-21-2025 14:10:34|1765, 1781 AND 1773 EN ROUTE 12-21-2025 14:11:44|SCOTT CITY ADVISE FIRE IS OUT PER CALLER 12-21-2025 14:11:49|BUT STILL SMOKE 12-21-2025 14:13:26|1765 ADVISED TO DOWNGRADE SCRF AND DISREGARD MINER 12-21-2025 14:13:32|MINER HAS BEEN NOTIFIED 12-21-2025 14:13:34|DOWNGRADE PAGED 12-21-2025 14:16:00|1773 AND 1781 ON SCENE 12-21-2025 14:20:33|PER COMMAND DISREGARD ANY SCRF NOT ON SCENE. REMANING PERSONEL WILL REMAIN ON SCENE TO PUT OUT HOT SPOTS 12-21-2025 14:31:41|448 COMMAND ADVISED FIRE IS OUT ALL SCRF PERSONEL CLEARING SCENE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1765,"name":"1765","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2025-12-21 20:32:33] [INFO] Number of extracted fields: 25
[2025-12-21 20:32:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2025-12-21 20:32:33] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Assigned Agencies count = 2
[2025-12-21 20:32:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2025-12-21 20:32:33] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (position 1)
[2025-12-21 20:32:34] [INFO] Found SAASClient match: ID = 6643bdb30659f00d8, Name = Scott County Rural Fire Protection District for AgencyCode 'SCRFD'
[2025-12-21 20:32:34] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) based on AgencyCode 'SCRFD'
[2025-12-21 20:32:34] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-21 20:32:34] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2025-12-21 20:32:34] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2025-12-21 20:32:34] [INFO] Found existing IncidentTypeMapping with ID: 6938ba16ac72f649f
[2025-12-21 20:32:44] [INFO] Created new Dispatches record with ID: 69485962c0db029b4
[2025-12-21 20:32:44] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30482.xml
[2025-12-21 20:32:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_25-30482.xml
[2025-12-21 23:08:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:08:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml for user: 69320e6a9e3e5ef71
[2025-12-21 23:08:06] [INFO] File size: 12547 bytes
[2025-12-21 23:08:07] [INFO] Created FTPFiles record with ID: 69487dd706145a072
[2025-12-21 23:08:07] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 23:08:07] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:08:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:09:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:09:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml for user: 69320e6a9e3e5ef71
[2025-12-21 23:09:09] [INFO] File size: 14784 bytes
[2025-12-21 23:09:10] [INFO] Created FTPFiles record with ID: 69487e1614cd3a078
[2025-12-21 23:09:10] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 23:09:10] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:09:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:09:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:09:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml for user: 69320e6a9e3e5ef71
[2025-12-21 23:09:52] [INFO] File size: 16370 bytes
[2025-12-21 23:09:52] [INFO] Created FTPFiles record with ID: 69487e4056eadcd25
[2025-12-21 23:09:52] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 23:09:52] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:09:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:11:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:11:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml for user: 69320e6a9e3e5ef71
[2025-12-21 23:11:39] [INFO] File size: 17984 bytes
[2025-12-21 23:11:39] [INFO] Created FTPFiles record with ID: 69487eabb8f1f870f
[2025-12-21 23:11:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 23:11:39] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:11:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:23:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:23:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml for user: 69320e6a9e3e5ef71
[2025-12-21 23:23:18] [INFO] File size: 19015 bytes
[2025-12-21 23:23:18] [INFO] Created FTPFiles record with ID: 69488166665c255c9
[2025-12-21 23:23:18] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 23:23:18] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:23:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:23:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:23:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml for user: 69320e6a9e3e5ef71
[2025-12-21 23:23:22] [INFO] File size: 20610 bytes
[2025-12-21 23:23:22] [INFO] Created FTPFiles record with ID: 6948816a6ec1c5d08
[2025-12-21 23:23:22] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2025-12-21 23:23:22] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:23:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2025-088388.xml
[2025-12-21 23:52:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139889_20251221_235207.XML
[2025-12-21 23:52:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139889_20251221_235207.XML for user: 68f1466aed072ad4a
[2025-12-21 23:52:07] [INFO] File size: 5972 bytes
[2025-12-21 23:52:08] [INFO] Created FTPFiles record with ID: 694888284aafbb064
[2025-12-21 23:52:08] [INFO] About to extract fields from XML. File size: 5972 bytes
[2025-12-21 23:52:08] [INFO] Number of mappings: 28
[2025-12-21 23:52:08] [INFO] Starting XML parsing. Content length: 5972
[2025-12-21 23:52:08] [INFO] XML parsed successfully. Root element: CADExport
[2025-12-21 23:52:08] [INFO] Processing 28 field mappings
[2025-12-21 23:52:08] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2025-12-21 23:52:08] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2025-12-21 23:52:08] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2025-12-21 23:52:08] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2025-12-21 23:52:08] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2025-12-21 23:52:08] [INFO] Found 4 elements for 'ReportNumber', concatenating 2 non-empty values
[2025-12-21 23:52:08] [INFO]   -> Found value: 2025003130
2025019857
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentInternalId' = "2025003130\n2025019857"
[2025-12-21 23:52:08] [INFO]   -> Set field 'dispatchRunNumber' = "2025003130\n2025019857"
[2025-12-21 23:52:08] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2025-12-21 23:52:08] [INFO]   -> Found value: DIABETIC PROBLEM
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2025-12-21 23:52:08] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2025-12-21 23:52:08] [INFO]   -> Found value: 2530
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2530
[2025-12-21 23:52:08] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2025-12-21 23:52:08] [INFO]   -> Found value: TN
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2025-12-21 23:52:08] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2025-12-21 23:52:08] [INFO]   -> Found value: 38501
[2025-12-21 23:52:08] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2025-12-21 23:52:08] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2025-12-21 23:52:08] [INFO]   -> Found value: 4
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentLocationApt' = 4
[2025-12-21 23:52:08] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2025-12-21 23:52:08] [INFO]   -> Found value: 36.20010
[2025-12-21 23:52:08] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20009999999999905639924691058695316314697265625
[2025-12-21 23:52:08] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2025-12-21 23:52:08] [INFO]   -> Found value: -85.51226
[2025-12-21 23:52:08] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.512259999999997717168298549950122833251953125
[2025-12-21 23:52:08] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2025-12-21 23:52:08] [INFO]   -> Found value: 2025-12-21 17:51:20
[2025-12-21 23:52:08] [INFO]   -> Set field 'alarm' = "2025-12-21 17:51:20"
[2025-12-21 23:52:08] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2025-12-21 23:52:08] [INFO]   -> Found value: 2025-12-21 17:52:00
[2025-12-21 23:52:08] [INFO]   -> Set field 'dispatched' = "2025-12-21 17:52:00"
[2025-12-21 23:52:08] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2025-12-21 23:52:08] [INFO]   -> Found value: N DIXIE AVE/KINNIARD RD
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentLocationCross' = "N DIXIE AVE\/KINNIARD RD"
[2025-12-21 23:52:08] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2025-12-21 23:52:08] [INFO]   -> Found value: PCFR
[2025-12-21 23:52:08] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2025-12-21 23:52:08] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2025-12-21 23:52:08] [INFO]   -> Found value: 2025-12-21 17:52:00
[2025-12-21 23:52:08] [INFO]   -> Set field 'timedispatch' = "2025-12-21 17:52:00"
[2025-12-21 23:52:08] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2025-12-21 23:52:08] [INFO]   -> No value found (null or empty)
[2025-12-21 23:52:08] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2025-12-21 23:52:08] [INFO] Found 4 elements for 'CadInciNumber', concatenating 4 non-empty values
[2025-12-21 23:52:08] [INFO]   -> Found value: 20250139889
20250139887
20250139888
20250139890
[2025-12-21 23:52:08] [INFO]   -> Set field 'policeReportNumber' = "20250139889\n20250139887\n20250139888\n20250139890"
[2025-12-21 23:52:08] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2025-12-21 23:52:08] [INFO]   -> Found value: [EMS] DOB 4/23/1979  [12/21/25 17:51:55 KBEATY] [EMS] JAHAIRA WALKER  [12/21/25 17:51:43 KBEATY] [LA...
[2025-12-21 23:52:08] [INFO]   -> Set field 'dispatchNotes' = "[EMS] DOB 4\/23\/1979  [12\/21\/25 17:51:55 KBEATY] [EMS] JAHAIRA WALKER  [12\/21\/25 17:51:43 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [12\/21\/25 17:51:33 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 17:51:32 ECLEMENS] [APCO INTELLICOMM] Case ID: MgbGDvcaEK Caller Phone: 2056029130 Caller Name: AT&amp;T MOBILITY Incident Location: 2530-4 DODSON BRANCH RD Incident Location Detail: N DIXIE AVE\/KINNIARD RD Nature: DIABETIC PROBLEM Incident #: 20250139887 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 17:51:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/21\/2025 17:51:20 KBEATY]"
[2025-12-21 23:52:08] [INFO]   -> Set field 'cADLog' = "[EMS] DOB 4\/23\/1979  [12\/21\/25 17:51:55 KBEATY] [EMS] JAHAIRA WALKER  [12\/21\/25 17:51:43 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [12\/21\/25 17:51:33 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 17:51:32 ECLEMENS] [APCO INTELLICOMM] Case ID: MgbGDvcaEK Caller Phone: 2056029130 Caller Name: AT&amp;T MOBILITY Incident Location: 2530-4 DODSON BRANCH RD Incident Location Detail: N DIXIE AVE\/KINNIARD RD Nature: DIABETIC PROBLEM Incident #: 20250139887 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 17:51:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/21\/2025 17:51:20 KBEATY]"
[2025-12-21 23:52:08] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2025-12-21 23:52:08] [INFO]   -> Found value: COOKEVILLE
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2025-12-21 23:52:08] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2025-12-21 23:52:08] [INFO]   -> Found value: DODSON BRANCH
[2025-12-21 23:52:08] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2025-12-21 23:52:08] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2025-12-21 23:52:08] [INFO]   -> Found value: RD
[2025-12-21 23:52:08] [INFO]   -> Set field 'streetType' = "RD"
[2025-12-21 23:52:08] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2025-12-21 23:52:08] [INFO]   -> Found value: 2530-4 DODSON BRANCH RD
[2025-12-21 23:52:08] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2530-4 DODSON BRANCH RD"
[2025-12-21 23:52:08] [INFO] Finished extracting fields. Total fields extracted: 22
[2025-12-21 23:52:08] [INFO] Concatenating street name and type
[2025-12-21 23:52:08] [INFO]   -> Combined street name: DODSON BRANCH RD
[2025-12-21 23:52:08] [INFO] Built locationCoordinates from lat/lng: 36.2001,-85.51226
[2025-12-21 23:52:08] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2025003130\n2025019857","dispatchRunNumber":"2025003130\n2025019857","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":2530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":4,"nERISIncidentLatitude":36.20009999999999905639924691058695316314697265625,"nERISIncidentLongitude":-85.512259999999997717168298549950122833251953125,"alarm":"2025-12-21 17:51:20","dispatched":"2025-12-21 17:52:00","incidentLocationCross":"N DIXIE AVE\/KINNIARD RD","cADVehicleID":"PCFR","timedispatch":"2025-12-21 17:52:00","policeReportNumber":"20250139889\n20250139887\n20250139888\n20250139890","dispatchNotes":"[EMS] DOB 4\/23\/1979  [12\/21\/25 17:51:55 KBEATY] [EMS] JAHAIRA WALKER  [12\/21\/25 17:51:43 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [12\/21\/25 17:51:33 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 17:51:32 ECLEMENS] [APCO INTELLICOMM] Case ID: MgbGDvcaEK Caller Phone: 2056029130 Caller Name: AT&amp;T MOBILITY Incident Location: 2530-4 DODSON BRANCH RD Incident Location Detail: N DIXIE AVE\/KINNIARD RD Nature: DIABETIC PROBLEM Incident #: 20250139887 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 17:51:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/21\/2025 17:51:20 KBEATY]","cADLog":"[EMS] DOB 4\/23\/1979  [12\/21\/25 17:51:55 KBEATY] [EMS] JAHAIRA WALKER  [12\/21\/25 17:51:43 KBEATY] [LAW] UDTS: LE NOT RESPONDING  [12\/21\/25 17:51:33 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [12\/21\/25 17:51:32 ECLEMENS] [APCO INTELLICOMM] Case ID: MgbGDvcaEK Caller Phone: 2056029130 Caller Name: AT&amp;T MOBILITY Incident Location: 2530-4 DODSON BRANCH RD Incident Location Detail: N DIXIE AVE\/KINNIARD RD Nature: DIABETIC PROBLEM Incident #: 20250139887 CAD Call Taker: KBEATY Chief Complaint: (empty)  [12\/21\/25 17:51:22 PSUTIL01] Event spawned from DIABETIC PROBLEM.  [12\/21\/2025 17:51:20 KBEATY]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"2530-4 DODSON BRANCH RD","locationCoordinates":"36.2001,-85.51226"}
[2025-12-21 23:52:08] [INFO] Number of extracted fields: 22
[2025-12-21 23:52:08] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2025-12-21 23:52:08] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Assigned Agencies count = 4
[2025-12-21 23:52:08] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2025-12-21 23:52:08] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (position 1)
[2025-12-21 23:52:08] [INFO] Found SAASClient match: ID = 68eeb686225c40db4, Name = Putnam County Fire Department for AgencyCode 'PCFD'
[2025-12-21 23:52:08] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) based on AgencyCode 'PCFD'
[2025-12-21 23:52:08] [INFO] INFO: Ignoring additional AgencyCode values after first match: ["EMS","PCSO","RESC"]
[2025-12-21 23:52:08] [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"]
[2025-12-21 23:52:08] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2025-12-21 23:52:08] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2025-12-21 23:52:08] [INFO] Normalized cADNumber to first value: 2025003130
[2025-12-21 23:52:08] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2025-12-21 23:52:11] [INFO] Created new Dispatches record with ID: 6948882907ee1c5dc
[2025-12-21 23:52:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139889_20251221_235207.XML
[2025-12-21 23:52:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20250139889_20251221_235207.XML
