[2026-02-19 00:03:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05125.xml
[2026-02-19 00:03:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05125.xml for user: 68d56363ec1209189
[2026-02-19 00:03:28] [INFO] File size: 1324 bytes
[2026-02-19 00:03:28] [INFO] Created FTPFiles record with ID: 6996535081dfbcb1a
[2026-02-19 00:03:28] [INFO] About to extract fields from XML. File size: 1324 bytes
[2026-02-19 00:03:28] [INFO] Number of mappings: 21
[2026-02-19 00:03:28] [INFO] Starting XML parsing. Content length: 1324
[2026-02-19 00:03:28] [INFO] XML parsed successfully. Root element: Incident
[2026-02-19 00:03:28] [INFO] Processing 21 field mappings
[2026-02-19 00:03:28] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-19 00:03:28] [INFO]   -> Found value: 26-05125
[2026-02-19 00:03:28] [INFO]   -> Set field 'dispatchRunNumber' = "26-05125"
[2026-02-19 00:03:28] [INFO]   -> Set field 'cADNumber' = "26-05125"
[2026-02-19 00:03:28] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-19 00:03:28] [INFO]   -> Found value: 201
[2026-02-19 00:03:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-02-19 00:03:28] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-19 00:03:28] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-02-19 00:03:28] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-02-19 00:03:28] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-19 00:03:28] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:28] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-19 00:03:28] [INFO]   -> Found value: SIKESTON
[2026-02-19 00:03:28] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-19 00:03:28] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-19 00:03:28] [INFO]   -> Found value: SIKESTON DPS
[2026-02-19 00:03:28] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-02-19 00:03:28] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-19 00:03:28] [INFO]   -> Found value: MO
[2026-02-19 00:03:28] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-19 00:03:28] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-19 00:03:28] [INFO]   -> Found value: 63801
[2026-02-19 00:03:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-19 00:03:28] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-19 00:03:28] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:28] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-19 00:03:28] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:28] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-19 00:03:28] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-02-19 00:03:28] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-02-19 00:03:28] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-19 00:03:28] [INFO]   -> Found value: 02-18-2026 18:00:00|WED EVENING PAGER TEST
[2026-02-19 00:03:28] [INFO]   -> Set field 'dispatchNotes' = "02-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-02-19 00:03:28] [INFO]   -> Set field 'cADLog' = "02-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-02-19 00:03:28] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-19 00:03:28] [INFO]   -> Found value: 02-18-2026T18:01:59
[2026-02-19 00:03:28] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:01:59
[2026-02-19 00:03:28] [ERROR] Error formatting datetime '2026-18-02T18:01:59': Failed to parse time string (2026-18-02T18:01:59) at position 6 (8): Unexpected character
[2026-02-19 00:03:28] [INFO]   -> Set field 'alarm' = null
[2026-02-19 00:03:28] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:01:59
[2026-02-19 00:03:28] [ERROR] Error formatting datetime '2026-18-02T18:01:59': Failed to parse time string (2026-18-02T18:01:59) at position 6 (8): Unexpected character
[2026-02-19 00:03:28] [INFO]   -> Set field 'dispatched' = null
[2026-02-19 00:03:28] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-19 00:03:28] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:28] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-19 00:03:28] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:28] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-19 00:03:28] [INFO]   -> Found value: RURAL PAGE
[2026-02-19 00:03:28] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-02-19 00:03:28] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-02-19 00:03:28] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-19 00:03:28] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:28] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-19 00:03:28] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:28] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-19 00:03:28] [INFO]   -> Found value: 02-18-2026T18:02:45
[2026-02-19 00:03:28] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:02:45
[2026-02-19 00:03:28] [ERROR] Error formatting datetime '2026-18-02T18:02:45': Failed to parse time string (2026-18-02T18:02:45) at position 6 (8): Unexpected character
[2026-02-19 00:03:28] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-19 00:03:28] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-19 00:03:28] [INFO]   -> Found value: 02-18-2026T18:01:59
[2026-02-19 00:03:28] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:01:59
[2026-02-19 00:03:28] [ERROR] Error formatting datetime '2026-18-02T18:01:59': Failed to parse time string (2026-18-02T18:01:59) at position 6 (8): Unexpected character
[2026-02-19 00:03:28] [INFO]   -> Set field 'timedispatch' = null
[2026-02-19 00:03:28] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-19 00:03:28] [INFO]   -> Found value: SCRFD
[2026-02-19 00:03:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-19 00:03:28] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-02-19 00:03:28] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-05125","cADNumber":"26-05125","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"02-18-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"02-18-2026 18:00:00|WED EVENING PAGER TEST","alarm":null,"dispatched":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD"}
[2026-02-19 00:03:28] [INFO] Number of extracted fields: 18
[2026-02-19 00:03:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-19 00:03:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-02-19 00:03:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-19 00:03:28] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-19 00:03:28] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-19 00:03:28] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-19 00:03:28] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-19 00:03:29] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-19 00:03:29] [INFO] Found existing IncidentTypeMapping with ID: 693a0a64a7bfdcdfa
[2026-02-19 00:03:29] [INFO] Found existing Dispatch with cADNumber '26-05125', ID: 699652fb297bc962f - will update instead of create
[2026-02-19 00:03:29] [INFO] Updated existing Dispatches record with ID: 699652fb297bc962f
[2026-02-19 00:03:29] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-19
[2026-02-19 00:03:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05125.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-19/SCRFD_26-05125.xml
[2026-02-19 00:03:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05125.xml
[2026-02-19 00:03:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05125.xml
[2026-02-19 00:03:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05125.xml for user: 68d56363ec1209189
[2026-02-19 00:03:29] [INFO] File size: 1327 bytes
[2026-02-19 00:03:30] [INFO] Created FTPFiles record with ID: 69965352901bbe0bb
[2026-02-19 00:03:30] [INFO] About to extract fields from XML. File size: 1327 bytes
[2026-02-19 00:03:30] [INFO] Number of mappings: 21
[2026-02-19 00:03:30] [INFO] Starting XML parsing. Content length: 1327
[2026-02-19 00:03:30] [INFO] XML parsed successfully. Root element: Incident
[2026-02-19 00:03:30] [INFO] Processing 21 field mappings
[2026-02-19 00:03:30] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-19 00:03:30] [INFO]   -> Found value: 26-05125
[2026-02-19 00:03:30] [INFO]   -> Set field 'dispatchRunNumber' = "26-05125"
[2026-02-19 00:03:30] [INFO]   -> Set field 'cADNumber' = "26-05125"
[2026-02-19 00:03:30] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-19 00:03:30] [INFO]   -> Found value: 201
[2026-02-19 00:03:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-02-19 00:03:30] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-19 00:03:30] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-02-19 00:03:30] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-02-19 00:03:30] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-19 00:03:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:30] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-19 00:03:30] [INFO]   -> Found value: SIKESTON
[2026-02-19 00:03:30] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-02-19 00:03:30] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-19 00:03:30] [INFO]   -> Found value: SIKESTON DPS
[2026-02-19 00:03:30] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-02-19 00:03:30] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-19 00:03:30] [INFO]   -> Found value: MO
[2026-02-19 00:03:30] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-19 00:03:30] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-19 00:03:30] [INFO]   -> Found value: 63801
[2026-02-19 00:03:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-02-19 00:03:30] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-19 00:03:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:30] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-19 00:03:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:30] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-19 00:03:30] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-02-19 00:03:30] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-02-19 00:03:30] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-19 00:03:30] [INFO]   -> Found value: 02-18-2026 18:00:00|WED EVENING PAGER TEST
[2026-02-19 00:03:30] [INFO]   -> Set field 'dispatchNotes' = "02-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-02-19 00:03:30] [INFO]   -> Set field 'cADLog' = "02-18-2026 18:00:00|WED EVENING PAGER TEST"
[2026-02-19 00:03:30] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-19 00:03:30] [INFO]   -> Found value: 02-18-2026T18:01:59
[2026-02-19 00:03:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:01:59
[2026-02-19 00:03:30] [ERROR] Error formatting datetime '2026-18-02T18:01:59': Failed to parse time string (2026-18-02T18:01:59) at position 6 (8): Unexpected character
[2026-02-19 00:03:30] [INFO]   -> Set field 'alarm' = null
[2026-02-19 00:03:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:01:59
[2026-02-19 00:03:30] [ERROR] Error formatting datetime '2026-18-02T18:01:59': Failed to parse time string (2026-18-02T18:01:59) at position 6 (8): Unexpected character
[2026-02-19 00:03:30] [INFO]   -> Set field 'dispatched' = null
[2026-02-19 00:03:30] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-19 00:03:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:30] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-19 00:03:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:30] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-19 00:03:30] [INFO]   -> Found value: SIK ALL PAGE
[2026-02-19 00:03:30] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-02-19 00:03:30] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-02-19 00:03:30] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-19 00:03:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:30] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-19 00:03:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:03:30] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-19 00:03:30] [INFO]   -> Found value: 02-18-2026T18:02:45
[2026-02-19 00:03:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:02:45
[2026-02-19 00:03:30] [ERROR] Error formatting datetime '2026-18-02T18:02:45': Failed to parse time string (2026-18-02T18:02:45) at position 6 (8): Unexpected character
[2026-02-19 00:03:30] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-19 00:03:30] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-19 00:03:30] [INFO]   -> Found value: 02-18-2026T18:02:00
[2026-02-19 00:03:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:02:00
[2026-02-19 00:03:30] [ERROR] Error formatting datetime '2026-18-02T18:02:00': Failed to parse time string (2026-18-02T18:02:00) at position 6 (8): Unexpected character
[2026-02-19 00:03:30] [INFO]   -> Set field 'timedispatch' = null
[2026-02-19 00:03:30] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-19 00:03:30] [INFO]   -> Found value: SDPSFD
[2026-02-19 00:03:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-19 00:03:30] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-02-19 00:03:30] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-05125","cADNumber":"26-05125","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"02-18-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"02-18-2026 18:00:00|WED EVENING PAGER TEST","alarm":null,"dispatched":null,"cADVehicleID":"SIK ALL PAGE","name":"SIK ALL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD"}
[2026-02-19 00:03:30] [INFO] Number of extracted fields: 18
[2026-02-19 00:03:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-19 00:03:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-02-19 00:03:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-19 00:03:30] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-19 00:03:30] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-19 00:03:30] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-19 00:03:30] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-19 00:03:30] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-19 00:03:31] [INFO] Found existing IncidentTypeMapping with ID: 691e5c32443e1aa70
[2026-02-19 00:03:32] [INFO] Created new Dispatches record with ID: 69965353575f53d85
[2026-02-19 00:03:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05125.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-19/SDPSFD_26-05125.xml
[2026-02-19 00:03:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05125.xml
[2026-02-19 00:08:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05118.xml
[2026-02-19 00:08:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05118.xml for user: 68d56363ec1209189
[2026-02-19 00:08:30] [INFO] File size: 2279 bytes
[2026-02-19 00:08:30] [INFO] Created FTPFiles record with ID: 6996547e8a9968ef0
[2026-02-19 00:08:30] [INFO] About to extract fields from XML. File size: 2279 bytes
[2026-02-19 00:08:30] [INFO] Number of mappings: 21
[2026-02-19 00:08:30] [INFO] Starting XML parsing. Content length: 2279
[2026-02-19 00:08:30] [INFO] XML parsed successfully. Root element: Incident
[2026-02-19 00:08:30] [INFO] Processing 21 field mappings
[2026-02-19 00:08:30] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-19 00:08:30] [INFO]   -> Found value: 26-05118
[2026-02-19 00:08:30] [INFO]   -> Set field 'dispatchRunNumber' = "26-05118"
[2026-02-19 00:08:30] [INFO]   -> Set field 'cADNumber' = "26-05118"
[2026-02-19 00:08:30] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-19 00:08:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:08:30] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-19 00:08:30] [INFO]   -> Found value: US HIGHWAY 60
[2026-02-19 00:08:30] [INFO]   -> Set field 'streetName' = "US HIGHWAY 60"
[2026-02-19 00:08:30] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-19 00:08:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:08:30] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-19 00:08:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:08:30] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-19 00:08:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:08:30] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-19 00:08:30] [INFO]   -> Found value: MO
[2026-02-19 00:08:30] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-19 00:08:30] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-19 00:08:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:08:30] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-19 00:08:30] [INFO]   -> Found value: 0
[2026-02-19 00:08:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-19 00:08:30] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-19 00:08:30] [INFO]   -> Found value: 0
[2026-02-19 00:08:30] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-19 00:08:30] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-19 00:08:30] [INFO]   -> Found value: FIRE-MOREHOUSE
[2026-02-19 00:08:30] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-MOREHOUSE"
[2026-02-19 00:08:30] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-19 00:08:30] [INFO]   -> Found value: 02-18-2026 16:51:33|TRACTOR TRAILER AND A PASSANGER VEH 
ROAD WAY IS BLOCKED UNK INURIES

REQUESTING...
[2026-02-19 00:08:30] [INFO]   -> Set field 'dispatchNotes' = "02-18-2026 16:51:33|TRACTOR TRAILER AND A PASSANGER VEH \nROAD WAY IS BLOCKED UNK INURIES\n\nREQUESTING FIRST RESPONDERS\nNEW MADRID IS WANTING SQUAD A AND MORHOUSE 02-18-2026 16:58:16|MOREHOUSE ENG 2 EN ROUTE 02-18-2026 16:59:19|MOREHOUSE 76 ON SCENE WITH COMMAND 02-18-2026 17:00:30|MOREHOUSE ENG 2 ON SCENE 02-18-2026 17:01:26|SIKESTON RES 2 RETURNING TO QUARTERS 02-18-2026 18:02:40|MHSE UNITS SECURE"
[2026-02-19 00:08:30] [INFO]   -> Set field 'cADLog' = "02-18-2026 16:51:33|TRACTOR TRAILER AND A PASSANGER VEH \nROAD WAY IS BLOCKED UNK INURIES\n\nREQUESTING FIRST RESPONDERS\nNEW MADRID IS WANTING SQUAD A AND MORHOUSE 02-18-2026 16:58:16|MOREHOUSE ENG 2 EN ROUTE 02-18-2026 16:59:19|MOREHOUSE 76 ON SCENE WITH COMMAND 02-18-2026 17:00:30|MOREHOUSE ENG 2 ON SCENE 02-18-2026 17:01:26|SIKESTON RES 2 RETURNING TO QUARTERS 02-18-2026 18:02:40|MHSE UNITS SECURE"
[2026-02-19 00:08:30] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-19 00:08:30] [INFO]   -> Found value: 02-18-2026T16:56:45
[2026-02-19 00:08:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T16:56:45
[2026-02-19 00:08:30] [ERROR] Error formatting datetime '2026-18-02T16:56:45': Failed to parse time string (2026-18-02T16:56:45) at position 6 (8): Unexpected character
[2026-02-19 00:08:30] [INFO]   -> Set field 'alarm' = null
[2026-02-19 00:08:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T16:56:45
[2026-02-19 00:08:30] [ERROR] Error formatting datetime '2026-18-02T16:56:45': Failed to parse time string (2026-18-02T16:56:45) at position 6 (8): Unexpected character
[2026-02-19 00:08:30] [INFO]   -> Set field 'dispatched' = null
[2026-02-19 00:08:30] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-19 00:08:30] [INFO]   -> Found value: 02-18-2026T16:59:01
[2026-02-19 00:08:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T16:59:01
[2026-02-19 00:08:30] [ERROR] Error formatting datetime '2026-18-02T16:59:01': Failed to parse time string (2026-18-02T16:59:01) at position 6 (8): Unexpected character
[2026-02-19 00:08:30] [INFO]   -> Set field 'onScene' = null
[2026-02-19 00:08:30] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-19 00:08:30] [INFO]   -> Found value: 02-18-2026T18:08:11
[2026-02-19 00:08:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:08:11
[2026-02-19 00:08:30] [ERROR] Error formatting datetime '2026-18-02T18:08:11': Failed to parse time string (2026-18-02T18:08:11) at position 6 (8): Unexpected character
[2026-02-19 00:08:30] [INFO]   -> Set field 'cleared' = null
[2026-02-19 00:08:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:08:11
[2026-02-19 00:08:30] [ERROR] Error formatting datetime '2026-18-02T18:08:11': Failed to parse time string (2026-18-02T18:08:11) at position 6 (8): Unexpected character
[2026-02-19 00:08:30] [INFO]   -> Set field 'inService' = null
[2026-02-19 00:08:30] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-19 00:08:30] [INFO]   -> Found value: CANCEL
[2026-02-19 00:08:30] [INFO]   -> Set field 'cADVehicleID' = "CANCEL"
[2026-02-19 00:08:30] [INFO]   -> Set field 'name' = "CANCEL"
[2026-02-19 00:08:30] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-19 00:08:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:08:30] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-19 00:08:30] [INFO]   -> No value found (null or empty)
[2026-02-19 00:08:30] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-19 00:08:30] [INFO]   -> Found value: 02-18-2026T18:01:50
[2026-02-19 00:08:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T18:01:50
[2026-02-19 00:08:30] [ERROR] Error formatting datetime '2026-18-02T18:01:50': Failed to parse time string (2026-18-02T18:01:50) at position 6 (8): Unexpected character
[2026-02-19 00:08:30] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-19 00:08:30] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-19 00:08:30] [INFO]   -> Found value: 02-18-2026T17:00:55
[2026-02-19 00:08:30] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T17:00:55
[2026-02-19 00:08:30] [ERROR] Error formatting datetime '2026-18-02T17:00:55': Failed to parse time string (2026-18-02T17:00:55) at position 6 (8): Unexpected character
[2026-02-19 00:08:30] [INFO]   -> Set field 'timedispatch' = null
[2026-02-19 00:08:30] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-19 00:08:30] [INFO]   -> Found value: SDPSFD
[2026-02-19 00:08:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-02-19 00:08:30] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-02-19 00:08:30] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-19 00:08:30] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-05118","cADNumber":"26-05118","streetName":"US HIGHWAY 60","incidentLocationStateName":"MO","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-MOREHOUSE","dispatchNotes":"02-18-2026 16:51:33|TRACTOR TRAILER AND A PASSANGER VEH \nROAD WAY IS BLOCKED UNK INURIES\n\nREQUESTING FIRST RESPONDERS\nNEW MADRID IS WANTING SQUAD A AND MORHOUSE 02-18-2026 16:58:16|MOREHOUSE ENG 2 EN ROUTE 02-18-2026 16:59:19|MOREHOUSE 76 ON SCENE WITH COMMAND 02-18-2026 17:00:30|MOREHOUSE ENG 2 ON SCENE 02-18-2026 17:01:26|SIKESTON RES 2 RETURNING TO QUARTERS 02-18-2026 18:02:40|MHSE UNITS SECURE","cADLog":"02-18-2026 16:51:33|TRACTOR TRAILER AND A PASSANGER VEH \nROAD WAY IS BLOCKED UNK INURIES\n\nREQUESTING FIRST RESPONDERS\nNEW MADRID IS WANTING SQUAD A AND MORHOUSE 02-18-2026 16:58:16|MOREHOUSE ENG 2 EN ROUTE 02-18-2026 16:59:19|MOREHOUSE 76 ON SCENE WITH COMMAND 02-18-2026 17:00:30|MOREHOUSE ENG 2 ON SCENE 02-18-2026 17:01:26|SIKESTON RES 2 RETURNING TO QUARTERS 02-18-2026 18:02:40|MHSE UNITS SECURE","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":"CANCEL","name":"CANCEL","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-02-19 00:08:30] [INFO] Number of extracted fields: 20
[2026-02-19 00:08:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-02-19 00:08:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-02-19 00:08:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-02-19 00:08:30] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-02-19 00:08:30] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-02-19 00:08:30] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-02-19 00:08:30] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-02-19 00:08:30] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-02-19 00:08:31] [INFO] Found existing IncidentTypeMapping with ID: 68ebc0ebe2a79ece6
[2026-02-19 00:08:32] [INFO] Created new Dispatches record with ID: 6996547f500182501
[2026-02-19 00:08:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05118.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-19/SDPSFD_26-05118.xml
[2026-02-19 00:08:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-05118.xml
[2026-02-19 02:19:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05122.xml
[2026-02-19 02:19:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05122.xml for user: 68d56363ec1209189
[2026-02-19 02:19:17] [INFO] File size: 2078 bytes
[2026-02-19 02:19:18] [INFO] Created FTPFiles record with ID: 699673263b83c4a65
[2026-02-19 02:19:18] [INFO] About to extract fields from XML. File size: 2078 bytes
[2026-02-19 02:19:18] [INFO] Number of mappings: 21
[2026-02-19 02:19:18] [INFO] Starting XML parsing. Content length: 2078
[2026-02-19 02:19:18] [INFO] XML parsed successfully. Root element: Incident
[2026-02-19 02:19:18] [INFO] Processing 21 field mappings
[2026-02-19 02:19:18] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-19 02:19:18] [INFO]   -> Found value: 26-05122
[2026-02-19 02:19:18] [INFO]   -> Set field 'dispatchRunNumber' = "26-05122"
[2026-02-19 02:19:18] [INFO]   -> Set field 'cADNumber' = "26-05122"
[2026-02-19 02:19:18] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-19 02:19:18] [INFO]   -> Found value: 209
[2026-02-19 02:19:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 209
[2026-02-19 02:19:18] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-19 02:19:18] [INFO]   -> Found value: W HARDING ST
[2026-02-19 02:19:18] [INFO]   -> Set field 'streetName' = "W HARDING ST"
[2026-02-19 02:19:18] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-19 02:19:18] [INFO]   -> No value found (null or empty)
[2026-02-19 02:19:18] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-19 02:19:18] [INFO]   -> Found value: MORLEY
[2026-02-19 02:19:18] [INFO]   -> Set field 'incidentLocationCity' = "MORLEY"
[2026-02-19 02:19:18] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-19 02:19:18] [INFO]   -> No value found (null or empty)
[2026-02-19 02:19:18] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-19 02:19:18] [INFO]   -> No value found (null or empty)
[2026-02-19 02:19:18] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-19 02:19:18] [INFO]   -> No value found (null or empty)
[2026-02-19 02:19:18] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-19 02:19:18] [INFO]   -> Found value: 0
[2026-02-19 02:19:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-19 02:19:18] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-19 02:19:18] [INFO]   -> Found value: 0
[2026-02-19 02:19:18] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-19 02:19:18] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-19 02:19:18] [INFO]   -> Found value: MEDICAL
[2026-02-19 02:19:18] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-02-19 02:19:18] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026 17:41:38|Call Received on 02/18/2026 @ 17:41

Location: 7100 BLOCK HWY 77

54 YEAR OLD FE...
[2026-02-19 02:19:18] [INFO]   -> Set field 'dispatchNotes' = "02-18-2026 17:41:38|Call Received on 02\/18\/2026 @ 17:41\n\nLocation: 7100 BLOCK HWY 77\n\n54 YEAR OLD FEMALE TROUBLE BREATHING 02-18-2026 17:48:21|1707 EN ROUTE TO STATION 02-18-2026 17:51:14|1703 EN ROUTE TO MORLEY 02-18-2026 17:52:14|1752 EN ROUTE X1 02-18-2026 18:25:53|NSCA EN ROUTE WITH ONE TO CAPE,AWAITING A SECOND UNIT FOR A SECOND PATIENT 02-18-2026 18:39:32|NSCAD HAS SECOND PATIENT 02-18-2026 18:50:25|2ND NORTH SCOTT EMS TRANSPORTING ALL SCOTT COUNTY RURAL PERSONNEL CLEAR"
[2026-02-19 02:19:18] [INFO]   -> Set field 'cADLog' = "02-18-2026 17:41:38|Call Received on 02\/18\/2026 @ 17:41\n\nLocation: 7100 BLOCK HWY 77\n\n54 YEAR OLD FEMALE TROUBLE BREATHING 02-18-2026 17:48:21|1707 EN ROUTE TO STATION 02-18-2026 17:51:14|1703 EN ROUTE TO MORLEY 02-18-2026 17:52:14|1752 EN ROUTE X1 02-18-2026 18:25:53|NSCA EN ROUTE WITH ONE TO CAPE,AWAITING A SECOND UNIT FOR A SECOND PATIENT 02-18-2026 18:39:32|NSCAD HAS SECOND PATIENT 02-18-2026 18:50:25|2ND NORTH SCOTT EMS TRANSPORTING ALL SCOTT COUNTY RURAL PERSONNEL CLEAR"
[2026-02-19 02:19:18] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026T17:45:32
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T17:45:32
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T17:45:32': Failed to parse time string (2026-18-02T17:45:32) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'alarm' = null
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T17:45:32
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T17:45:32': Failed to parse time string (2026-18-02T17:45:32) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'dispatched' = null
[2026-02-19 02:19:18] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026T17:53:15
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T17:53:15
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T17:53:15': Failed to parse time string (2026-18-02T17:53:15) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'onScene' = null
[2026-02-19 02:19:18] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026T20:18:54
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T20:18:54
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T20:18:54': Failed to parse time string (2026-18-02T20:18:54) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'cleared' = null
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T20:18:54
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T20:18:54': Failed to parse time string (2026-18-02T20:18:54) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'inService' = null
[2026-02-19 02:19:18] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-19 02:19:18] [INFO]   -> Found value: 1752
[2026-02-19 02:19:18] [INFO]   -> Set field 'cADVehicleID' = 1752
[2026-02-19 02:19:18] [INFO]   -> Set field 'name' = "1752"
[2026-02-19 02:19:18] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026T17:52:26
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T17:52:26
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T17:52:26': Failed to parse time string (2026-18-02T17:52:26) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-02-19 02:19:18] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026T17:53:15
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T17:53:15
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T17:53:15': Failed to parse time string (2026-18-02T17:53:15) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'timeonscene' = null
[2026-02-19 02:19:18] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026T20:18:54
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T20:18:54
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T20:18:54': Failed to parse time string (2026-18-02T20:18:54) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-19 02:19:18] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-19 02:19:18] [INFO]   -> Found value: 02-18-2026T17:52:23
[2026-02-19 02:19:18] [INFO] Reformatted DD-MM-YYYY date '02-18-2026' (day=02, month=18) to ISO: 2026-18-02T17:52:23
[2026-02-19 02:19:18] [ERROR] Error formatting datetime '2026-18-02T17:52:23': Failed to parse time string (2026-18-02T17:52:23) at position 6 (8): Unexpected character
[2026-02-19 02:19:18] [INFO]   -> Set field 'timedispatch' = null
[2026-02-19 02:19:18] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-19 02:19:18] [INFO]   -> Found value: SCRFD
[2026-02-19 02:19:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-19 02:19:18] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-19 02:19:18] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-19 02:19:18] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-05122","cADNumber":"26-05122","incidentLocationStreetNumber":209,"streetName":"W HARDING ST","incidentLocationCity":"MORLEY","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"02-18-2026 17:41:38|Call Received on 02\/18\/2026 @ 17:41\n\nLocation: 7100 BLOCK HWY 77\n\n54 YEAR OLD FEMALE TROUBLE BREATHING 02-18-2026 17:48:21|1707 EN ROUTE TO STATION 02-18-2026 17:51:14|1703 EN ROUTE TO MORLEY 02-18-2026 17:52:14|1752 EN ROUTE X1 02-18-2026 18:25:53|NSCA EN ROUTE WITH ONE TO CAPE,AWAITING A SECOND UNIT FOR A SECOND PATIENT 02-18-2026 18:39:32|NSCAD HAS SECOND PATIENT 02-18-2026 18:50:25|2ND NORTH SCOTT EMS TRANSPORTING ALL SCOTT COUNTY RURAL PERSONNEL CLEAR","cADLog":"02-18-2026 17:41:38|Call Received on 02\/18\/2026 @ 17:41\n\nLocation: 7100 BLOCK HWY 77\n\n54 YEAR OLD FEMALE TROUBLE BREATHING 02-18-2026 17:48:21|1707 EN ROUTE TO STATION 02-18-2026 17:51:14|1703 EN ROUTE TO MORLEY 02-18-2026 17:52:14|1752 EN ROUTE X1 02-18-2026 18:25:53|NSCA EN ROUTE WITH ONE TO CAPE,AWAITING A SECOND UNIT FOR A SECOND PATIENT 02-18-2026 18:39:32|NSCAD HAS SECOND PATIENT 02-18-2026 18:50:25|2ND NORTH SCOTT EMS TRANSPORTING ALL SCOTT COUNTY RURAL PERSONNEL CLEAR","alarm":null,"dispatched":null,"onScene":null,"cleared":null,"inService":null,"cADVehicleID":1752,"name":"1752","timeenroutetoscene":null,"timeonscene":null,"timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-02-19 02:19:18] [INFO] Number of extracted fields: 23
[2026-02-19 02:19:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-19 02:19:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-02-19 02:19:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-19 02:19:18] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-19 02:19:18] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-19 02:19:18] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-19 02:19:18] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-19 02:19:18] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-19 02:19:18] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-02-19 02:19:19] [INFO] Found existing Dispatch with cADNumber '26-05122', ID: 69964f20afe6cdd77 - will update instead of create
[2026-02-19 02:19:19] [INFO] Updated existing Dispatches record with ID: 69964f20afe6cdd77
[2026-02-19 02:19:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05122.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-19/SCRFD_26-05122.xml
[2026-02-19 02:19:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05122.xml
[2026-02-19 05:34:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018582_20260219_053410.XML
[2026-02-19 05:34:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018582_20260219_053410.XML for user: 68f1466aed072ad4a
[2026-02-19 05:34:10] [INFO] File size: 6827 bytes
[2026-02-19 05:34:11] [INFO] Created FTPFiles record with ID: 6996a0d2f34ab6937
[2026-02-19 05:34:11] [INFO] About to extract fields from XML. File size: 6827 bytes
[2026-02-19 05:34:11] [INFO] Number of mappings: 28
[2026-02-19 05:34:11] [INFO] Starting XML parsing. Content length: 6827
[2026-02-19 05:34:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 05:34:11] [INFO] Processing 28 field mappings
[2026-02-19 05:34:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 05:34:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 05:34:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-19 05:34:11] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-19 05:34:11] [INFO]   -> Found value: PCFD
PCSO
EMS
[2026-02-19 05:34:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nEMS"
[2026-02-19 05:34:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 05:34:11] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-19 05:34:11] [INFO]   -> Found value: 2026000473
[2026-02-19 05:34:11] [INFO]   -> Set field 'incidentInternalId' = "2026000473"
[2026-02-19 05:34:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000473"
[2026-02-19 05:34:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 05:34:11] [INFO]   -> Found value: RESIDENTIAL FIRE
[2026-02-19 05:34:11] [INFO]   -> Set field 'incidentTypeValue1' = "RESIDENTIAL FIRE"
[2026-02-19 05:34:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 05:34:11] [INFO]   -> Found value: 1465
[2026-02-19 05:34:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1465
[2026-02-19 05:34:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 05:34:11] [INFO]   -> Found value: TN
[2026-02-19 05:34:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 05:34:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 05:34:11] [INFO]   -> Found value: 38583
[2026-02-19 05:34:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38583
[2026-02-19 05:34:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 05:34:11] [INFO]   -> Found value: 35.98540
[2026-02-19 05:34:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.985399999999998499333742074668407440185546875
[2026-02-19 05:34:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 05:34:11] [INFO]   -> Found value: -85.26839
[2026-02-19 05:34:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2683899999999965757524478249251842498779296875
[2026-02-19 05:34:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 05:34:11] [INFO]   -> Found value: 2026-02-18 23:32:51
[2026-02-19 05:34:11] [INFO]   -> Set field 'alarm' = "2026-02-18 23:32:51"
[2026-02-19 05:34:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 05:34:11] [INFO]   -> Found value: 2026-02-18 23:34:06
[2026-02-19 05:34:11] [INFO]   -> Set field 'dispatched' = "2026-02-18 23:34:06"
[2026-02-19 05:34:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 05:34:11] [INFO]   -> Found value: TK21
[2026-02-19 05:34:11] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-02-19 05:34:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 05:34:11] [INFO]   -> Found value: 2026-02-18 23:34:06
[2026-02-19 05:34:11] [INFO]   -> Set field 'timedispatch' = "2026-02-18 23:34:06"
[2026-02-19 05:34:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 05:34:11] [INFO]   -> No value found (null or empty)
[2026-02-19 05:34:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 05:34:11] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-19 05:34:11] [INFO]   -> Found value: 20260018582
[2026-02-19 05:34:11] [INFO]   -> Set field 'policeReportNumber' = "20260018582"
[2026-02-19 05:34:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 05:34:11] [INFO]   -> Found value: [LAW] PCSO ENRT  [02/18/26 23:33:54 ECLEMENS] ON POWER LINES - SPARKING  [02/18/26 23:33:53 EALMENDA...
[2026-02-19 05:34:11] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [02\/18\/26 23:33:54 ECLEMENS] ON POWER LINES - SPARKING  [02\/18\/26 23:33:53 EALMENDAREZ] SPREADING FAST  [02\/18\/26 23:33:45 EALMENDAREZ] FLAMES VISIBLE  [02\/18\/26 23:33:38 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/18\/26 23:33:22 ECLEMENS]"
[2026-02-19 05:34:11] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [02\/18\/26 23:33:54 ECLEMENS] ON POWER LINES - SPARKING  [02\/18\/26 23:33:53 EALMENDAREZ] SPREADING FAST  [02\/18\/26 23:33:45 EALMENDAREZ] FLAMES VISIBLE  [02\/18\/26 23:33:38 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/18\/26 23:33:22 ECLEMENS]"
[2026-02-19 05:34:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 05:34:11] [INFO]   -> Found value: SPARTA
[2026-02-19 05:34:11] [INFO]   -> Set field 'incidentLocationCity' = "SPARTA"
[2026-02-19 05:34:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 05:34:11] [INFO]   -> Found value: OLD RIDGE
[2026-02-19 05:34:11] [INFO]   -> Set field 'streetName' = "OLD RIDGE"
[2026-02-19 05:34:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 05:34:11] [INFO]   -> Found value: RD
[2026-02-19 05:34:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-19 05:34:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 05:34:11] [INFO]   -> Found value: 1465 OLD RIDGE RD
[2026-02-19 05:34:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1465 OLD RIDGE RD"
[2026-02-19 05:34:11] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-19 05:34:11] [INFO] Concatenating street name and type
[2026-02-19 05:34:11] [INFO]   -> Combined street name: OLD RIDGE RD
[2026-02-19 05:34:11] [INFO] Built locationCoordinates from lat/lng: 35.9854,-85.26839
[2026-02-19 05:34:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nEMS","incidentInternalId":"2026000473","dispatchRunNumber":"2026000473","incidentTypeValue1":"RESIDENTIAL FIRE","incidentLocationStreetNumber":1465,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38583,"nERISIncidentLatitude":35.985399999999998499333742074668407440185546875,"nERISIncidentLongitude":-85.2683899999999965757524478249251842498779296875,"alarm":"2026-02-18 23:32:51","dispatched":"2026-02-18 23:34:06","cADVehicleID":"TK21","timedispatch":"2026-02-18 23:34:06","policeReportNumber":"20260018582","dispatchNotes":"[LAW] PCSO ENRT  [02\/18\/26 23:33:54 ECLEMENS] ON POWER LINES - SPARKING  [02\/18\/26 23:33:53 EALMENDAREZ] SPREADING FAST  [02\/18\/26 23:33:45 EALMENDAREZ] FLAMES VISIBLE  [02\/18\/26 23:33:38 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/18\/26 23:33:22 ECLEMENS]","cADLog":"[LAW] PCSO ENRT  [02\/18\/26 23:33:54 ECLEMENS] ON POWER LINES - SPARKING  [02\/18\/26 23:33:53 EALMENDAREZ] SPREADING FAST  [02\/18\/26 23:33:45 EALMENDAREZ] FLAMES VISIBLE  [02\/18\/26 23:33:38 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/18\/26 23:33:22 ECLEMENS]","incidentLocationCity":"SPARTA","streetName":"OLD RIDGE RD","incidentAddressTextVersionStreet":"1465 OLD RIDGE RD","locationCoordinates":"35.9854,-85.26839"}
[2026-02-19 05:34:11] [INFO] Number of extracted fields: 20
[2026-02-19 05:34:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
EMS'
[2026-02-19 05:34:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
EMS', Parsed IDs = ["PCFD","PCSO","EMS"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-19 05:34:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","EMS"]
[2026-02-19 05:34:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-19 05:34:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-19 05:34:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","EMS"]
[2026-02-19 05:34:11] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-19 05:34:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-19 05:34:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-19 05:34:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-19 05:34:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-19 05:34:11] [INFO] Found existing IncidentTypeMapping with ID: 693a30ec30d9fce11
[2026-02-19 05:34:21] [INFO] Created new Dispatches record with ID: 6996a0d3bff60386b
[2026-02-19 05:34:21] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 05:34:21] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 05:34:25] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 05:34:25] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018582_20260219_053410.XML: Failed to upload file to V2 FTP server: /PCFD_20260018582_20260219_053410.XML
[2026-02-19 05:34:25] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 08:18:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018607_20260219_081810.XML
[2026-02-19 08:18:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018607_20260219_081810.XML for user: 68f1466aed072ad4a
[2026-02-19 08:18:10] [INFO] File size: 5614 bytes
[2026-02-19 08:18:11] [INFO] Created FTPFiles record with ID: 6996c74331048e3d6
[2026-02-19 08:18:11] [INFO] About to extract fields from XML. File size: 5614 bytes
[2026-02-19 08:18:11] [INFO] Number of mappings: 28
[2026-02-19 08:18:11] [INFO] Starting XML parsing. Content length: 5614
[2026-02-19 08:18:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 08:18:11] [INFO] Processing 28 field mappings
[2026-02-19 08:18:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 08:18:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 08:18:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-19 08:18:11] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-19 08:18:11] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-02-19 08:18:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-02-19 08:18:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 08:18:11] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-19 08:18:11] [INFO]   -> Found value: 2026000474
[2026-02-19 08:18:11] [INFO]   -> Set field 'incidentInternalId' = "2026000474"
[2026-02-19 08:18:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000474"
[2026-02-19 08:18:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 08:18:11] [INFO]   -> Found value: DIABETIC PROBLEM
[2026-02-19 08:18:11] [INFO]   -> Set field 'incidentTypeValue1' = "DIABETIC PROBLEM"
[2026-02-19 08:18:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 08:18:11] [INFO]   -> Found value: 4727
[2026-02-19 08:18:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4727
[2026-02-19 08:18:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 08:18:11] [INFO]   -> Found value: TN
[2026-02-19 08:18:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 08:18:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 08:18:11] [INFO]   -> Found value: 38501
[2026-02-19 08:18:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-02-19 08:18:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 08:18:11] [INFO]   -> Found value: 36.21138
[2026-02-19 08:18:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.21137999999999834699337952770292758941650390625
[2026-02-19 08:18:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 08:18:11] [INFO]   -> Found value: -85.59756
[2026-02-19 08:18:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5975600000000014233592082746326923370361328125
[2026-02-19 08:18:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 08:18:11] [INFO]   -> Found value: 2026-02-19 02:17:19
[2026-02-19 08:18:11] [INFO]   -> Set field 'alarm' = "2026-02-19 02:17:19"
[2026-02-19 08:18:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 08:18:11] [INFO]   -> Found value: 2026-02-19 02:18:05
[2026-02-19 08:18:11] [INFO]   -> Set field 'dispatched' = "2026-02-19 02:18:05"
[2026-02-19 08:18:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 08:18:11] [INFO]   -> Found value: PIPPIN RD/POUNDSTONE DR
[2026-02-19 08:18:11] [INFO]   -> Set field 'incidentLocationCross' = "PIPPIN RD\/POUNDSTONE DR"
[2026-02-19 08:18:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 08:18:11] [INFO]   -> Found value: PCFR
[2026-02-19 08:18:11] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-19 08:18:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 08:18:11] [INFO]   -> Found value: 2026-02-19 02:18:05
[2026-02-19 08:18:11] [INFO]   -> Set field 'timedispatch' = "2026-02-19 02:18:05"
[2026-02-19 08:18:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 08:18:11] [INFO]   -> No value found (null or empty)
[2026-02-19 08:18:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 08:18:11] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-19 08:18:11] [INFO]   -> Found value: 20260018607
[2026-02-19 08:18:11] [INFO]   -> Set field 'policeReportNumber' = "20260018607"
[2026-02-19 08:18:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 08:18:11] [INFO]   -> Found value: [EMS] FRONT DOOR ENTRANCE  [02/19/26 02:17:46 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [0...
[2026-02-19 08:18:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR ENTRANCE  [02\/19\/26 02:17:46 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 02:17:42 DKITCHENS] [EMS] JETT BLACKWOOD  [02\/19\/26 02:17:34 EALMENDAREZ] [EMS] 31 YOM  [02\/19\/26 02:17:24 EALMENDAREZ] Event spawned from DIABETIC PROBLEM.  [02\/19\/2026 02:17:19 EALMENDAREZ] T1D SEMI RESPONSIVE  [02\/19\/26 02:17:15 EALMENDAREZ]]"
[2026-02-19 08:18:11] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR ENTRANCE  [02\/19\/26 02:17:46 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 02:17:42 DKITCHENS] [EMS] JETT BLACKWOOD  [02\/19\/26 02:17:34 EALMENDAREZ] [EMS] 31 YOM  [02\/19\/26 02:17:24 EALMENDAREZ] Event spawned from DIABETIC PROBLEM.  [02\/19\/2026 02:17:19 EALMENDAREZ] T1D SEMI RESPONSIVE  [02\/19\/26 02:17:15 EALMENDAREZ]]"
[2026-02-19 08:18:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 08:18:11] [INFO]   -> Found value: COOKEVILLE
[2026-02-19 08:18:11] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-19 08:18:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 08:18:11] [INFO]   -> Found value: CUMBY
[2026-02-19 08:18:11] [INFO]   -> Set field 'streetName' = "CUMBY"
[2026-02-19 08:18:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 08:18:11] [INFO]   -> Found value: RD
[2026-02-19 08:18:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-19 08:18:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 08:18:11] [INFO]   -> Found value: 4727 CUMBY RD
[2026-02-19 08:18:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4727 CUMBY RD"
[2026-02-19 08:18:11] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-19 08:18:11] [INFO] Concatenating street name and type
[2026-02-19 08:18:11] [INFO]   -> Combined street name: CUMBY RD
[2026-02-19 08:18:11] [INFO] Built locationCoordinates from lat/lng: 36.21138,-85.59756
[2026-02-19 08:18:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000474","dispatchRunNumber":"2026000474","incidentTypeValue1":"DIABETIC PROBLEM","incidentLocationStreetNumber":4727,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.21137999999999834699337952770292758941650390625,"nERISIncidentLongitude":-85.5975600000000014233592082746326923370361328125,"alarm":"2026-02-19 02:17:19","dispatched":"2026-02-19 02:18:05","incidentLocationCross":"PIPPIN RD\/POUNDSTONE DR","cADVehicleID":"PCFR","timedispatch":"2026-02-19 02:18:05","policeReportNumber":"20260018607","dispatchNotes":"[EMS] FRONT DOOR ENTRANCE  [02\/19\/26 02:17:46 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 02:17:42 DKITCHENS] [EMS] JETT BLACKWOOD  [02\/19\/26 02:17:34 EALMENDAREZ] [EMS] 31 YOM  [02\/19\/26 02:17:24 EALMENDAREZ] Event spawned from DIABETIC PROBLEM.  [02\/19\/2026 02:17:19 EALMENDAREZ] T1D SEMI RESPONSIVE  [02\/19\/26 02:17:15 EALMENDAREZ]]","cADLog":"[EMS] FRONT DOOR ENTRANCE  [02\/19\/26 02:17:46 EALMENDAREZ] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 02:17:42 DKITCHENS] [EMS] JETT BLACKWOOD  [02\/19\/26 02:17:34 EALMENDAREZ] [EMS] 31 YOM  [02\/19\/26 02:17:24 EALMENDAREZ] Event spawned from DIABETIC PROBLEM.  [02\/19\/2026 02:17:19 EALMENDAREZ] T1D SEMI RESPONSIVE  [02\/19\/26 02:17:15 EALMENDAREZ]]","incidentLocationCity":"COOKEVILLE","streetName":"CUMBY RD","incidentAddressTextVersionStreet":"4727 CUMBY RD","locationCoordinates":"36.21138,-85.59756"}
[2026-02-19 08:18:11] [INFO] Number of extracted fields: 21
[2026-02-19 08:18:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-02-19 08:18:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-02-19 08:18:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-02-19 08:18:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-19 08:18:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-19 08:18:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-02-19 08:18:11] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-19 08:18:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-19 08:18:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-19 08:18:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-19 08:18:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-19 08:18:11] [INFO] Found existing IncidentTypeMapping with ID: 6937a13f0053c6dd7
[2026-02-19 08:18:21] [INFO] Created new Dispatches record with ID: 6996c743dec50b7ae
[2026-02-19 08:18:21] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 08:18:21] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 08:18:24] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 08:18:24] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018607_20260219_081810.XML: Failed to upload file to V2 FTP server: /PCFD_20260018607_20260219_081810.XML
[2026-02-19 08:18:24] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 10:08:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018629_20260219_100811.XML
[2026-02-19 10:08:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018629_20260219_100811.XML for user: 68f1466aed072ad4a
[2026-02-19 10:08:11] [INFO] File size: 7169 bytes
[2026-02-19 10:08:11] [INFO] Created FTPFiles record with ID: 6996e10bca8d56041
[2026-02-19 10:08:11] [INFO] About to extract fields from XML. File size: 7169 bytes
[2026-02-19 10:08:11] [INFO] Number of mappings: 28
[2026-02-19 10:08:11] [INFO] Starting XML parsing. Content length: 7169
[2026-02-19 10:08:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 10:08:11] [INFO] Processing 28 field mappings
[2026-02-19 10:08:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 10:08:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 10:08:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-19 10:08:11] [INFO] Found 5 elements for 'AgencyCode', concatenating 5 non-empty values
[2026-02-19 10:08:11] [INFO]   -> Found value: PCFD
PCSO
MPD
EMS
RESC
[2026-02-19 10:08:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO\nMPD\nEMS\nRESC"
[2026-02-19 10:08:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 10:08:11] [INFO] Found 5 elements for 'ReportNumber', using FIRST value only
[2026-02-19 10:08:11] [INFO]   -> Found value: 2026000475
[2026-02-19 10:08:11] [INFO]   -> Set field 'incidentInternalId' = "2026000475"
[2026-02-19 10:08:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000475"
[2026-02-19 10:08:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 10:08:11] [INFO]   -> Found value: MEDICAL CALL
[2026-02-19 10:08:11] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL CALL"
[2026-02-19 10:08:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 10:08:11] [INFO]   -> Found value: 1220
[2026-02-19 10:08:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1220
[2026-02-19 10:08:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 10:08:11] [INFO]   -> Found value: TN
[2026-02-19 10:08:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 10:08:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 10:08:11] [INFO]   -> Found value: 38574
[2026-02-19 10:08:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-02-19 10:08:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 10:08:11] [INFO]   -> Found value: CHARLES BUCKNER
[2026-02-19 10:08:11] [INFO]   -> Set field 'businessName' = "CHARLES BUCKNER"
[2026-02-19 10:08:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 10:08:11] [INFO]   -> Found value: 36.16283
[2026-02-19 10:08:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1628299999999995861799106933176517486572265625
[2026-02-19 10:08:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 10:08:11] [INFO]   -> Found value: -85.26826
[2026-02-19 10:08:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.26825999999999794454197399318218231201171875
[2026-02-19 10:08:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 10:08:11] [INFO]   -> Found value: 2026-02-19 04:07:26
[2026-02-19 10:08:11] [INFO]   -> Set field 'alarm' = "2026-02-19 04:07:26"
[2026-02-19 10:08:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 10:08:11] [INFO]   -> Found value: 2026-02-19 04:08:07
[2026-02-19 10:08:11] [INFO]   -> Set field 'dispatched' = "2026-02-19 04:08:07"
[2026-02-19 10:08:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 10:08:11] [INFO]   -> Found value: HICKORY AVE
[2026-02-19 10:08:11] [INFO]   -> Set field 'incidentLocationCross' = "HICKORY AVE"
[2026-02-19 10:08:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 10:08:11] [INFO]   -> Found value: PCFR
[2026-02-19 10:08:11] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-19 10:08:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 10:08:11] [INFO]   -> Found value: 2026-02-19 04:08:07
[2026-02-19 10:08:11] [INFO]   -> Set field 'timedispatch' = "2026-02-19 04:08:07"
[2026-02-19 10:08:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 10:08:11] [INFO]   -> No value found (null or empty)
[2026-02-19 10:08:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 10:08:11] [INFO] Found 5 elements for 'CadInciNumber', using FIRST value only
[2026-02-19 10:08:11] [INFO]   -> Found value: 20260018629
[2026-02-19 10:08:11] [INFO]   -> Set field 'policeReportNumber' = "20260018629"
[2026-02-19 10:08:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 10:08:11] [INFO]   -> Found value: [EMS] UDTS: CARD SEEN BY 911  [02/19/26 04:08:04 EROACH] Event spawned from EMS EMERGENCY CALL.  [02...
[2026-02-19 10:08:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: CARD SEEN BY 911  [02\/19\/26 04:08:04 EROACH] Event spawned from EMS EMERGENCY CALL.  [02\/19\/2026 04:07:26 DSWINK] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:07:07 DKITCHENS] [LAW] {P3391} ROLL EMS 10-33 \/\/ MALE IS BREATHING  [02\/19\/26 04:07:00 CHERNANDEZ] [LAW] {P3371} CONTACT WITH MALE  [02\/19\/26 04:06:03 CHERNANDEZ] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:03:37 DKITCHENS] CALLER SECURED HIS WEAPON \/\/ NOT ARMED  [02\/19\/26 04:02:59 CHERNANDEZ] GATE SHOULD BE OPEN  [02\/19\/26 04:02:32 CHERNANDEZ] CALLER ADV MALE IS ON THE BACK SIDE OF THE BUILDING  [02\/19\/26 04:02:29 CHERNANDEZ] UNK IF THE GATE IS LOCKED  [02\/19\/26 04:01:54 CHERNANDEZ] CELL PHONE LIGHT SEEN CALLER BUILDING  [02\/19\/26 04:01:41 CHERNANDEZ] WALLET  A CUP  METAL PIECE  A KNIFE  A HARMONICA ALL LAYING ON THE CALLERS FREEZER  [02\/19\/26 04:01:29 CHERNANDEZ] CALLER LOST VISUAL  [02\/19\/26 04:00:31 CHERNANDEZ] WM \/\/ TAT ALL OVER HIM \/\/ BY BUIDING BY THE GATE  [02\/19\/26 03:59:52 CHERNANDEZ] MALE IS BY THE BUILDING  [02\/19\/26 03:59:34 CHERNANDEZ] WALLET ON THE FREEZER  [02\/19\/26 03:59:19 CHERNANDEZ] KNIFE ON THE PORCH AS WELL \/\/ CALLER IS GETTING HUSBAND TO SECURE THE KNIFE  [02\/19\/26 03:59:13 CHERNANDEZ] MALE WALKING BACK UP THE DRIVEWAY  [02\/19\/26 03:58:18 CHERNANDEZ] GUN SECURED IN THE HOUSE  [02\/19\/26 03:58:06 CHERNANDEZ] GUN *  [02\/19\/26 03:57:47 CHERNANDEZ] GUN ON THE PORCH \/\/ CALLERS HUSBAND IS SECURING THE FUN  [02\/19\/26 03:57:44 CHERNANDEZ] MALE IS WALKING OFF THE PORCH  [02\/19\/26 03:56:59 CHERNANDEZ] CALLER HUSBAND HAS A WEAPON \/\/ 22MM LOADED  [02\/19\/26 03:56:36 CHERNANDEZ] MALE ON THE PORCH \/\/  NAKED  [02\/19\/26 03:56:03 CHERNANDEZ] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 03:55:51 CHERNANDEZ]"
[2026-02-19 10:08:11] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: CARD SEEN BY 911  [02\/19\/26 04:08:04 EROACH] Event spawned from EMS EMERGENCY CALL.  [02\/19\/2026 04:07:26 DSWINK] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:07:07 DKITCHENS] [LAW] {P3391} ROLL EMS 10-33 \/\/ MALE IS BREATHING  [02\/19\/26 04:07:00 CHERNANDEZ] [LAW] {P3371} CONTACT WITH MALE  [02\/19\/26 04:06:03 CHERNANDEZ] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:03:37 DKITCHENS] CALLER SECURED HIS WEAPON \/\/ NOT ARMED  [02\/19\/26 04:02:59 CHERNANDEZ] GATE SHOULD BE OPEN  [02\/19\/26 04:02:32 CHERNANDEZ] CALLER ADV MALE IS ON THE BACK SIDE OF THE BUILDING  [02\/19\/26 04:02:29 CHERNANDEZ] UNK IF THE GATE IS LOCKED  [02\/19\/26 04:01:54 CHERNANDEZ] CELL PHONE LIGHT SEEN CALLER BUILDING  [02\/19\/26 04:01:41 CHERNANDEZ] WALLET  A CUP  METAL PIECE  A KNIFE  A HARMONICA ALL LAYING ON THE CALLERS FREEZER  [02\/19\/26 04:01:29 CHERNANDEZ] CALLER LOST VISUAL  [02\/19\/26 04:00:31 CHERNANDEZ] WM \/\/ TAT ALL OVER HIM \/\/ BY BUIDING BY THE GATE  [02\/19\/26 03:59:52 CHERNANDEZ] MALE IS BY THE BUILDING  [02\/19\/26 03:59:34 CHERNANDEZ] WALLET ON THE FREEZER  [02\/19\/26 03:59:19 CHERNANDEZ] KNIFE ON THE PORCH AS WELL \/\/ CALLER IS GETTING HUSBAND TO SECURE THE KNIFE  [02\/19\/26 03:59:13 CHERNANDEZ] MALE WALKING BACK UP THE DRIVEWAY  [02\/19\/26 03:58:18 CHERNANDEZ] GUN SECURED IN THE HOUSE  [02\/19\/26 03:58:06 CHERNANDEZ] GUN *  [02\/19\/26 03:57:47 CHERNANDEZ] GUN ON THE PORCH \/\/ CALLERS HUSBAND IS SECURING THE FUN  [02\/19\/26 03:57:44 CHERNANDEZ] MALE IS WALKING OFF THE PORCH  [02\/19\/26 03:56:59 CHERNANDEZ] CALLER HUSBAND HAS A WEAPON \/\/ 22MM LOADED  [02\/19\/26 03:56:36 CHERNANDEZ] MALE ON THE PORCH \/\/  NAKED  [02\/19\/26 03:56:03 CHERNANDEZ] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 03:55:51 CHERNANDEZ]"
[2026-02-19 10:08:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 10:08:11] [INFO]   -> Found value: MONTEREY
[2026-02-19 10:08:11] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-02-19 10:08:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 10:08:11] [INFO]   -> Found value: CATES
[2026-02-19 10:08:11] [INFO]   -> Set field 'streetName' = "CATES"
[2026-02-19 10:08:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 10:08:11] [INFO]   -> Found value: RD
[2026-02-19 10:08:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-19 10:08:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 10:08:11] [INFO]   -> Found value: 1220 CATES RD
[2026-02-19 10:08:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1220 CATES RD"
[2026-02-19 10:08:11] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-02-19 10:08:11] [INFO] Concatenating street name and type
[2026-02-19 10:08:11] [INFO]   -> Combined street name: CATES RD
[2026-02-19 10:08:11] [INFO] Built locationCoordinates from lat/lng: 36.16283,-85.26826
[2026-02-19 10:08:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO\nMPD\nEMS\nRESC","incidentInternalId":"2026000475","dispatchRunNumber":"2026000475","incidentTypeValue1":"MEDICAL CALL","incidentLocationStreetNumber":1220,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"businessName":"CHARLES BUCKNER","nERISIncidentLatitude":36.1628299999999995861799106933176517486572265625,"nERISIncidentLongitude":-85.26825999999999794454197399318218231201171875,"alarm":"2026-02-19 04:07:26","dispatched":"2026-02-19 04:08:07","incidentLocationCross":"HICKORY AVE","cADVehicleID":"PCFR","timedispatch":"2026-02-19 04:08:07","policeReportNumber":"20260018629","dispatchNotes":"[EMS] UDTS: CARD SEEN BY 911  [02\/19\/26 04:08:04 EROACH] Event spawned from EMS EMERGENCY CALL.  [02\/19\/2026 04:07:26 DSWINK] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:07:07 DKITCHENS] [LAW] {P3391} ROLL EMS 10-33 \/\/ MALE IS BREATHING  [02\/19\/26 04:07:00 CHERNANDEZ] [LAW] {P3371} CONTACT WITH MALE  [02\/19\/26 04:06:03 CHERNANDEZ] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:03:37 DKITCHENS] CALLER SECURED HIS WEAPON \/\/ NOT ARMED  [02\/19\/26 04:02:59 CHERNANDEZ] GATE SHOULD BE OPEN  [02\/19\/26 04:02:32 CHERNANDEZ] CALLER ADV MALE IS ON THE BACK SIDE OF THE BUILDING  [02\/19\/26 04:02:29 CHERNANDEZ] UNK IF THE GATE IS LOCKED  [02\/19\/26 04:01:54 CHERNANDEZ] CELL PHONE LIGHT SEEN CALLER BUILDING  [02\/19\/26 04:01:41 CHERNANDEZ] WALLET  A CUP  METAL PIECE  A KNIFE  A HARMONICA ALL LAYING ON THE CALLERS FREEZER  [02\/19\/26 04:01:29 CHERNANDEZ] CALLER LOST VISUAL  [02\/19\/26 04:00:31 CHERNANDEZ] WM \/\/ TAT ALL OVER HIM \/\/ BY BUIDING BY THE GATE  [02\/19\/26 03:59:52 CHERNANDEZ] MALE IS BY THE BUILDING  [02\/19\/26 03:59:34 CHERNANDEZ] WALLET ON THE FREEZER  [02\/19\/26 03:59:19 CHERNANDEZ] KNIFE ON THE PORCH AS WELL \/\/ CALLER IS GETTING HUSBAND TO SECURE THE KNIFE  [02\/19\/26 03:59:13 CHERNANDEZ] MALE WALKING BACK UP THE DRIVEWAY  [02\/19\/26 03:58:18 CHERNANDEZ] GUN SECURED IN THE HOUSE  [02\/19\/26 03:58:06 CHERNANDEZ] GUN *  [02\/19\/26 03:57:47 CHERNANDEZ] GUN ON THE PORCH \/\/ CALLERS HUSBAND IS SECURING THE FUN  [02\/19\/26 03:57:44 CHERNANDEZ] MALE IS WALKING OFF THE PORCH  [02\/19\/26 03:56:59 CHERNANDEZ] CALLER HUSBAND HAS A WEAPON \/\/ 22MM LOADED  [02\/19\/26 03:56:36 CHERNANDEZ] MALE ON THE PORCH \/\/  NAKED  [02\/19\/26 03:56:03 CHERNANDEZ] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 03:55:51 CHERNANDEZ]","cADLog":"[EMS] UDTS: CARD SEEN BY 911  [02\/19\/26 04:08:04 EROACH] Event spawned from EMS EMERGENCY CALL.  [02\/19\/2026 04:07:26 DSWINK] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:07:07 DKITCHENS] [LAW] {P3391} ROLL EMS 10-33 \/\/ MALE IS BREATHING  [02\/19\/26 04:07:00 CHERNANDEZ] [LAW] {P3371} CONTACT WITH MALE  [02\/19\/26 04:06:03 CHERNANDEZ] Event spawned from SUSPICIOUS PERSON.  [02\/19\/2026 04:03:37 DKITCHENS] CALLER SECURED HIS WEAPON \/\/ NOT ARMED  [02\/19\/26 04:02:59 CHERNANDEZ] GATE SHOULD BE OPEN  [02\/19\/26 04:02:32 CHERNANDEZ] CALLER ADV MALE IS ON THE BACK SIDE OF THE BUILDING  [02\/19\/26 04:02:29 CHERNANDEZ] UNK IF THE GATE IS LOCKED  [02\/19\/26 04:01:54 CHERNANDEZ] CELL PHONE LIGHT SEEN CALLER BUILDING  [02\/19\/26 04:01:41 CHERNANDEZ] WALLET  A CUP  METAL PIECE  A KNIFE  A HARMONICA ALL LAYING ON THE CALLERS FREEZER  [02\/19\/26 04:01:29 CHERNANDEZ] CALLER LOST VISUAL  [02\/19\/26 04:00:31 CHERNANDEZ] WM \/\/ TAT ALL OVER HIM \/\/ BY BUIDING BY THE GATE  [02\/19\/26 03:59:52 CHERNANDEZ] MALE IS BY THE BUILDING  [02\/19\/26 03:59:34 CHERNANDEZ] WALLET ON THE FREEZER  [02\/19\/26 03:59:19 CHERNANDEZ] KNIFE ON THE PORCH AS WELL \/\/ CALLER IS GETTING HUSBAND TO SECURE THE KNIFE  [02\/19\/26 03:59:13 CHERNANDEZ] MALE WALKING BACK UP THE DRIVEWAY  [02\/19\/26 03:58:18 CHERNANDEZ] GUN SECURED IN THE HOUSE  [02\/19\/26 03:58:06 CHERNANDEZ] GUN *  [02\/19\/26 03:57:47 CHERNANDEZ] GUN ON THE PORCH \/\/ CALLERS HUSBAND IS SECURING THE FUN  [02\/19\/26 03:57:44 CHERNANDEZ] MALE IS WALKING OFF THE PORCH  [02\/19\/26 03:56:59 CHERNANDEZ] CALLER HUSBAND HAS A WEAPON \/\/ 22MM LOADED  [02\/19\/26 03:56:36 CHERNANDEZ] MALE ON THE PORCH \/\/  NAKED  [02\/19\/26 03:56:03 CHERNANDEZ] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 03:55:51 CHERNANDEZ]","incidentLocationCity":"MONTEREY","streetName":"CATES RD","incidentAddressTextVersionStreet":"1220 CATES RD","locationCoordinates":"36.16283,-85.26826"}
[2026-02-19 10:08:11] [INFO] Number of extracted fields: 22
[2026-02-19 10:08:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO
MPD
EMS
RESC'
[2026-02-19 10:08:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO
MPD
EMS
RESC', Parsed IDs = ["PCFD","PCSO","MPD","EMS","RESC"], Non-empty count = 5, Total agency count = 5, Assigned Agencies count = 4
[2026-02-19 10:08:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO","MPD","EMS","RESC"]
[2026-02-19 10:08:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-19 10:08:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-19 10:08:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO","MPD","EMS","RESC"]
[2026-02-19 10:08:12] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-19 10:08:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-19 10:08:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 5)
[2026-02-19 10:08:12] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-19 10:08:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-19 10:08:12] [INFO] Found existing IncidentTypeMapping with ID: 6939328c99c5522d2
[2026-02-19 10:08:21] [INFO] Created new Dispatches record with ID: 6996e10c8fb6fa8fd
[2026-02-19 10:08:21] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 10:08:22] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 10:08:25] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 10:08:25] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018629_20260219_100811.XML: Failed to upload file to V2 FTP server: /PCFD_20260018629_20260219_100811.XML
[2026-02-19 10:08:25] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 11:18:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018639_20260219_111832.XML
[2026-02-19 11:18:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018639_20260219_111832.XML for user: 68f1466aed072ad4a
[2026-02-19 11:18:32] [INFO] File size: 5367 bytes
[2026-02-19 11:18:32] [INFO] Created FTPFiles record with ID: 6996f188cb70984ae
[2026-02-19 11:18:32] [INFO] About to extract fields from XML. File size: 5367 bytes
[2026-02-19 11:18:32] [INFO] Number of mappings: 28
[2026-02-19 11:18:32] [INFO] Starting XML parsing. Content length: 5367
[2026-02-19 11:18:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 11:18:32] [INFO] Processing 28 field mappings
[2026-02-19 11:18:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 11:18:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 11:18:32] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-19 11:18:32] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-19 11:18:32] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-02-19 11:18:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-02-19 11:18:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 11:18:32] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-19 11:18:32] [INFO]   -> Found value: 2026000476
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentInternalId' = "2026000476"
[2026-02-19 11:18:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000476"
[2026-02-19 11:18:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 11:18:32] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-02-19 11:18:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 11:18:32] [INFO]   -> Found value: 3830
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3830
[2026-02-19 11:18:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 11:18:32] [INFO]   -> Found value: TN
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 11:18:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 11:18:32] [INFO]   -> Found value: 38501
[2026-02-19 11:18:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-02-19 11:18:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 11:18:32] [INFO]   -> Found value: M2
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentLocationApt' = "M2"
[2026-02-19 11:18:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 11:18:32] [INFO]   -> Found value: 36.20522
[2026-02-19 11:18:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.20521999999999707142706029117107391357421875
[2026-02-19 11:18:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 11:18:32] [INFO]   -> Found value: -85.55357
[2026-02-19 11:18:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5535699999999934561856207437813282012939453125
[2026-02-19 11:18:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 11:18:32] [INFO]   -> Found value: 2026-02-19 05:17:03
[2026-02-19 11:18:32] [INFO]   -> Set field 'alarm' = "2026-02-19 05:17:03"
[2026-02-19 11:18:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 11:18:32] [INFO]   -> Found value: 2026-02-19 05:18:21
[2026-02-19 11:18:32] [INFO]   -> Set field 'dispatched' = "2026-02-19 05:18:21"
[2026-02-19 11:18:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 11:18:32] [INFO]   -> Found value: COUNTY FARM RD/CHESTER KING RD
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentLocationCross' = "COUNTY FARM RD\/CHESTER KING RD"
[2026-02-19 11:18:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 11:18:32] [INFO]   -> Found value: PCFR
[2026-02-19 11:18:32] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-19 11:18:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 11:18:32] [INFO]   -> Found value: 2026-02-19 05:18:21
[2026-02-19 11:18:32] [INFO]   -> Set field 'timedispatch' = "2026-02-19 05:18:21"
[2026-02-19 11:18:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 11:18:32] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-19 11:18:32] [INFO]   -> Found value: 20260018639
[2026-02-19 11:18:32] [INFO]   -> Set field 'policeReportNumber' = "20260018639"
[2026-02-19 11:18:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 11:18:32] [INFO]   -> Found value: Event spawned from MENTAL STATUS CHANGES.  [02/19/2026 05:17:03 EALMENDAREZ] BP OVER 200 DIZZY / HEA...
[2026-02-19 11:18:32] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MENTAL STATUS CHANGES.  [02\/19\/2026 05:17:03 EALMENDAREZ] BP OVER 200 DIZZY \/ HEADACHE KATHY JANKE 68 YOF  [02\/19\/26 05:15:16 EALMENDAREZ]]"
[2026-02-19 11:18:32] [INFO]   -> Set field 'cADLog' = "Event spawned from MENTAL STATUS CHANGES.  [02\/19\/2026 05:17:03 EALMENDAREZ] BP OVER 200 DIZZY \/ HEADACHE KATHY JANKE 68 YOF  [02\/19\/26 05:15:16 EALMENDAREZ]]"
[2026-02-19 11:18:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 11:18:32] [INFO]   -> Found value: COOKEVILLE
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-19 11:18:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 11:18:32] [INFO]   -> Found value: GAINESBORO GRADE
[2026-02-19 11:18:32] [INFO]   -> Set field 'streetName' = "GAINESBORO GRADE"
[2026-02-19 11:18:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 11:18:32] [INFO]   -> No value found (null or empty)
[2026-02-19 11:18:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 11:18:32] [INFO]   -> Found value: 3830-M2 GAINESBORO GRADE
[2026-02-19 11:18:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3830-M2 GAINESBORO GRADE"
[2026-02-19 11:18:32] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-19 11:18:32] [INFO] Built locationCoordinates from lat/lng: 36.20522,-85.55357
[2026-02-19 11:18:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000476","dispatchRunNumber":"2026000476","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":3830,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":"M2","nERISIncidentLatitude":36.20521999999999707142706029117107391357421875,"nERISIncidentLongitude":-85.5535699999999934561856207437813282012939453125,"alarm":"2026-02-19 05:17:03","dispatched":"2026-02-19 05:18:21","incidentLocationCross":"COUNTY FARM RD\/CHESTER KING RD","cADVehicleID":"PCFR","timedispatch":"2026-02-19 05:18:21","policeReportNumber":"20260018639","dispatchNotes":"Event spawned from MENTAL STATUS CHANGES.  [02\/19\/2026 05:17:03 EALMENDAREZ] BP OVER 200 DIZZY \/ HEADACHE KATHY JANKE 68 YOF  [02\/19\/26 05:15:16 EALMENDAREZ]]","cADLog":"Event spawned from MENTAL STATUS CHANGES.  [02\/19\/2026 05:17:03 EALMENDAREZ] BP OVER 200 DIZZY \/ HEADACHE KATHY JANKE 68 YOF  [02\/19\/26 05:15:16 EALMENDAREZ]]","incidentLocationCity":"COOKEVILLE","streetName":"GAINESBORO GRADE","incidentAddressTextVersionStreet":"3830-M2 GAINESBORO GRADE","locationCoordinates":"36.20522,-85.55357"}
[2026-02-19 11:18:32] [INFO] Number of extracted fields: 22
[2026-02-19 11:18:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-02-19 11:18:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-19 11:18:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-02-19 11:18:32] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-19 11:18:32] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-19 11:18:32] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-02-19 11:18:33] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-19 11:18:33] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-19 11:18:33] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-19 11:18:33] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-19 11:18:33] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-19 11:18:33] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-02-19 11:18:43] [INFO] Created new Dispatches record with ID: 6996f1898b0cca0ab
[2026-02-19 11:18:43] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 11:18:43] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 11:18:46] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 11:18:46] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018639_20260219_111832.XML: Failed to upload file to V2 FTP server: /PCFD_20260018639_20260219_111832.XML
[2026-02-19 11:18:46] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 16:04:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018729_20260219_160426.XML
[2026-02-19 16:04:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018729_20260219_160426.XML for user: 68f1466aed072ad4a
[2026-02-19 16:04:26] [INFO] File size: 5295 bytes
[2026-02-19 16:04:26] [INFO] Created FTPFiles record with ID: 6997348a95f43e225
[2026-02-19 16:04:26] [INFO] About to extract fields from XML. File size: 5295 bytes
[2026-02-19 16:04:26] [INFO] Number of mappings: 28
[2026-02-19 16:04:26] [INFO] Starting XML parsing. Content length: 5295
[2026-02-19 16:04:26] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 16:04:26] [INFO] Processing 28 field mappings
[2026-02-19 16:04:26] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 16:04:26] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 16:04:26] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-19 16:04:26] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-02-19 16:04:26] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-02-19 16:04:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-02-19 16:04:26] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 16:04:26] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-02-19 16:04:26] [INFO]   -> Found value: 2026000477
[2026-02-19 16:04:26] [INFO]   -> Set field 'incidentInternalId' = "2026000477"
[2026-02-19 16:04:26] [INFO]   -> Set field 'dispatchRunNumber' = "2026000477"
[2026-02-19 16:04:26] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 16:04:26] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-02-19 16:04:26] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-02-19 16:04:26] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 16:04:26] [INFO]   -> Found value: 4656
[2026-02-19 16:04:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4656
[2026-02-19 16:04:26] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 16:04:26] [INFO]   -> Found value: TN
[2026-02-19 16:04:26] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 16:04:26] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 16:04:26] [INFO]   -> Found value: 38506
[2026-02-19 16:04:26] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-19 16:04:26] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 16:04:26] [INFO]   -> Found value: 36.10716
[2026-02-19 16:04:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.10716000000000036607161746360361576080322265625
[2026-02-19 16:04:26] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 16:04:26] [INFO]   -> Found value: -85.41293
[2026-02-19 16:04:26] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4129300000000029058355721645057201385498046875
[2026-02-19 16:04:26] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 16:04:26] [INFO]   -> Found value: 2026-02-19 10:02:49
[2026-02-19 16:04:26] [INFO]   -> Set field 'alarm' = "2026-02-19 10:02:49"
[2026-02-19 16:04:26] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 16:04:26] [INFO]   -> Found value: 2026-02-19 10:04:16
[2026-02-19 16:04:26] [INFO]   -> Set field 'dispatched' = "2026-02-19 10:04:16"
[2026-02-19 16:04:26] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 16:04:26] [INFO]   -> Found value: J E BARTLETT RD/HUNTER COVE RD
[2026-02-19 16:04:26] [INFO]   -> Set field 'incidentLocationCross' = "J E BARTLETT RD\/HUNTER COVE RD"
[2026-02-19 16:04:26] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 16:04:26] [INFO]   -> Found value: PCFR
[2026-02-19 16:04:26] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-02-19 16:04:26] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 16:04:26] [INFO]   -> Found value: 2026-02-19 10:04:16
[2026-02-19 16:04:26] [INFO]   -> Set field 'timedispatch' = "2026-02-19 10:04:16"
[2026-02-19 16:04:26] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 16:04:26] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-02-19 16:04:26] [INFO]   -> Found value: 20260018729
[2026-02-19 16:04:26] [INFO]   -> Set field 'policeReportNumber' = "20260018729"
[2026-02-19 16:04:26] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 16:04:26] [INFO]   -> Found value: [EMS] 931-287-7505  [02/19/26 10:03:53 DSTEPHENS] [EMS] SANDRA NASH   2/08/1950  [02/19/26 10:03:20 ...
[2026-02-19 16:04:26] [INFO]   -> Set field 'dispatchNotes' = "[EMS] 931-287-7505  [02\/19\/26 10:03:53 DSTEPHENS] [EMS] SANDRA NASH   2\/08\/1950  [02\/19\/26 10:03:20 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [02\/19\/2026 10:02:49 DSTEPHENS]"
[2026-02-19 16:04:26] [INFO]   -> Set field 'cADLog' = "[EMS] 931-287-7505  [02\/19\/26 10:03:53 DSTEPHENS] [EMS] SANDRA NASH   2\/08\/1950  [02\/19\/26 10:03:20 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [02\/19\/2026 10:02:49 DSTEPHENS]"
[2026-02-19 16:04:26] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 16:04:26] [INFO]   -> Found value: COOKEVILLE
[2026-02-19 16:04:26] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-19 16:04:26] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 16:04:26] [INFO]   -> Found value: HWY 70
[2026-02-19 16:04:26] [INFO]   -> Set field 'streetName' = "HWY 70"
[2026-02-19 16:04:26] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 16:04:26] [INFO]   -> No value found (null or empty)
[2026-02-19 16:04:26] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 16:04:26] [INFO]   -> Found value: 4656 HWY 70 E
[2026-02-19 16:04:26] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4656 HWY 70 E"
[2026-02-19 16:04:26] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-02-19 16:04:26] [INFO] Built locationCoordinates from lat/lng: 36.10716,-85.41293
[2026-02-19 16:04:26] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000477","dispatchRunNumber":"2026000477","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4656,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.10716000000000036607161746360361576080322265625,"nERISIncidentLongitude":-85.4129300000000029058355721645057201385498046875,"alarm":"2026-02-19 10:02:49","dispatched":"2026-02-19 10:04:16","incidentLocationCross":"J E BARTLETT RD\/HUNTER COVE RD","cADVehicleID":"PCFR","timedispatch":"2026-02-19 10:04:16","policeReportNumber":"20260018729","dispatchNotes":"[EMS] 931-287-7505  [02\/19\/26 10:03:53 DSTEPHENS] [EMS] SANDRA NASH   2\/08\/1950  [02\/19\/26 10:03:20 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [02\/19\/2026 10:02:49 DSTEPHENS]","cADLog":"[EMS] 931-287-7505  [02\/19\/26 10:03:53 DSTEPHENS] [EMS] SANDRA NASH   2\/08\/1950  [02\/19\/26 10:03:20 DSTEPHENS] Event spawned from BREATHING PROBLEMS.  [02\/19\/2026 10:02:49 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"HWY 70","incidentAddressTextVersionStreet":"4656 HWY 70 E","locationCoordinates":"36.10716,-85.41293"}
[2026-02-19 16:04:26] [INFO] Number of extracted fields: 21
[2026-02-19 16:04:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-02-19 16:04:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-02-19 16:04:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-02-19 16:04:26] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-19 16:04:26] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-19 16:04:26] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-02-19 16:04:26] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-19 16:04:26] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-19 16:04:26] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-02-19 16:04:26] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-19 16:04:26] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-19 16:04:27] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-02-19 16:04:37] [INFO] Created new Dispatches record with ID: 6997348b6fcb33879
[2026-02-19 16:04:37] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 16:04:37] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 16:04:40] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 16:04:40] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018729_20260219_160426.XML: Failed to upload file to V2 FTP server: /PCFD_20260018729_20260219_160426.XML
[2026-02-19 16:04:40] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 16:04:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:04:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:04:56] [INFO] File size: 10642 bytes
[2026-02-19 16:04:56] [INFO] Created FTPFiles record with ID: 699734a8b05a25172
[2026-02-19 16:04:56] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:04:56] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19
[2026-02-19 16:04:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117.xml
[2026-02-19 16:04:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:06] [INFO] File size: 11579 bytes
[2026-02-19 16:05:06] [INFO] Created FTPFiles record with ID: 699734b2647c15689
[2026-02-19 16:05:06] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:06] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517106.xml
[2026-02-19 16:05:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517106.xml
[2026-02-19 16:05:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:13] [INFO] File size: 12518 bytes
[2026-02-19 16:05:13] [INFO] Created FTPFiles record with ID: 699734b9566ec5dc4
[2026-02-19 16:05:13] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:13] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517113.xml
[2026-02-19 16:05:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517113.xml
[2026-02-19 16:05:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:17] [INFO] File size: 12518 bytes
[2026-02-19 16:05:17] [INFO] Created FTPFiles record with ID: 699734bdd8b16fc25
[2026-02-19 16:05:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:17] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517117.xml
[2026-02-19 16:05:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517117.xml
[2026-02-19 16:05:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:20] [INFO] File size: 14758 bytes
[2026-02-19 16:05:20] [INFO] Created FTPFiles record with ID: 699734c0de69002d8
[2026-02-19 16:05:20] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:20] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517120.xml
[2026-02-19 16:05:20] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517120.xml
[2026-02-19 16:05:20] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:23] [INFO] File size: 15700 bytes
[2026-02-19 16:05:23] [INFO] Created FTPFiles record with ID: 699734c36db9ae7f9
[2026-02-19 16:05:23] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:23] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517123.xml
[2026-02-19 16:05:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517123.xml
[2026-02-19 16:05:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:31] [INFO] File size: 16656 bytes
[2026-02-19 16:05:31] [INFO] Created FTPFiles record with ID: 699734cb730d5e0e7
[2026-02-19 16:05:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:31] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517131.xml
[2026-02-19 16:05:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517131.xml
[2026-02-19 16:05:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:40] [INFO] File size: 16656 bytes
[2026-02-19 16:05:40] [INFO] Created FTPFiles record with ID: 699734d498809a85d
[2026-02-19 16:05:40] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:40] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517140.xml
[2026-02-19 16:05:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517140.xml
[2026-02-19 16:05:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:46] [INFO] File size: 17606 bytes
[2026-02-19 16:05:46] [INFO] Created FTPFiles record with ID: 699734daa091b4113
[2026-02-19 16:05:46] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:46] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517146.xml
[2026-02-19 16:05:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517146.xml
[2026-02-19 16:05:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:05:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:05:56] [INFO] File size: 18545 bytes
[2026-02-19 16:05:56] [INFO] Created FTPFiles record with ID: 699734e462a8a2d7e
[2026-02-19 16:05:56] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:05:56] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517156.xml
[2026-02-19 16:05:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517156.xml
[2026-02-19 16:05:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:06:00] [INFO] File size: 19482 bytes
[2026-02-19 16:06:00] [INFO] Created FTPFiles record with ID: 699734e890e230c61
[2026-02-19 16:06:00] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:06:00] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517160.xml
[2026-02-19 16:06:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517160.xml
[2026-02-19 16:06:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:06:04] [INFO] File size: 19482 bytes
[2026-02-19 16:06:04] [INFO] Created FTPFiles record with ID: 699734ecc4ca36718
[2026-02-19 16:06:04] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:06:04] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517164.xml
[2026-02-19 16:06:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517164.xml
[2026-02-19 16:06:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:06:12] [INFO] File size: 20437 bytes
[2026-02-19 16:06:12] [INFO] Created FTPFiles record with ID: 699734f4a61122397
[2026-02-19 16:06:12] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:06:12] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517172.xml
[2026-02-19 16:06:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517172.xml
[2026-02-19 16:06:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 16:06:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml for user: 69320e6a9e3e5ef71
[2026-02-19 16:06:17] [INFO] File size: 21386 bytes
[2026-02-19 16:06:17] [INFO] Created FTPFiles record with ID: 699734f9a4ed724c1
[2026-02-19 16:06:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 16:06:17] [INFO] File already exists in archive, using unique name: cfs_2026-011117_1771517177.xml
[2026-02-19 16:06:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011117_1771517177.xml
[2026-02-19 16:06:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011117.xml
[2026-02-19 18:51:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018812_20260219_185140.XML
[2026-02-19 18:51:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018812_20260219_185140.XML for user: 68f1466aed072ad4a
[2026-02-19 18:51:40] [INFO] File size: 4740 bytes
[2026-02-19 18:51:40] [INFO] Created FTPFiles record with ID: 69975bbc599415408
[2026-02-19 18:51:40] [INFO] About to extract fields from XML. File size: 4740 bytes
[2026-02-19 18:51:40] [INFO] Number of mappings: 28
[2026-02-19 18:51:40] [INFO] Starting XML parsing. Content length: 4740
[2026-02-19 18:51:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 18:51:40] [INFO] Processing 28 field mappings
[2026-02-19 18:51:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 18:51:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 18:51:40] [INFO]   -> Found value: PCFD
[2026-02-19 18:51:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-02-19 18:51:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 18:51:40] [INFO]   -> Found value: 2026000478
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentInternalId' = "2026000478"
[2026-02-19 18:51:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000478"
[2026-02-19 18:51:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 18:51:40] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-02-19 18:51:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 18:51:40] [INFO]   -> Found value: 401
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 401
[2026-02-19 18:51:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 18:51:40] [INFO]   -> Found value: TN
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 18:51:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 18:51:40] [INFO]   -> Found value: 38501
[2026-02-19 18:51:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-02-19 18:51:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 18:51:40] [INFO]   -> No value found (null or empty)
[2026-02-19 18:51:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 18:51:40] [INFO]   -> Found value: 8
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentLocationApt' = 8
[2026-02-19 18:51:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 18:51:40] [INFO]   -> Found value: 36.18086
[2026-02-19 18:51:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18086000000000268528310698457062244415283203125
[2026-02-19 18:51:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 18:51:40] [INFO]   -> Found value: -85.54887
[2026-02-19 18:51:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.548869999999993751771398819983005523681640625
[2026-02-19 18:51:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 18:51:40] [INFO]   -> Found value: 2026-02-19 12:50:43
[2026-02-19 18:51:40] [INFO]   -> Set field 'alarm' = "2026-02-19 12:50:43"
[2026-02-19 18:51:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 18:51:40] [INFO]   -> Found value: 2026-02-19 12:51:28
[2026-02-19 18:51:40] [INFO]   -> Set field 'dispatched' = "2026-02-19 12:51:28"
[2026-02-19 18:51:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 18:51:40] [INFO]   -> Found value: 2026-02-19 12:51:28
[2026-02-19 18:51:40] [INFO]   -> Set field 'enroute' = "2026-02-19 12:51:28"
[2026-02-19 18:51:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 18:51:40] [INFO]   -> No value found (null or empty)
[2026-02-19 18:51:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 18:51:40] [INFO]   -> No value found (null or empty)
[2026-02-19 18:51:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 18:51:40] [INFO]   -> Found value: ROYAL OAK DR/VIVIAN DR
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentLocationCross' = "ROYAL OAK DR\/VIVIAN DR"
[2026-02-19 18:51:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 18:51:40] [INFO]   -> Found value: TK11
[2026-02-19 18:51:40] [INFO]   -> Set field 'cADVehicleID' = "TK11"
[2026-02-19 18:51:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 18:51:40] [INFO]   -> Found value: 2026-02-19 12:51:28
[2026-02-19 18:51:40] [INFO]   -> Set field 'timedispatch' = "2026-02-19 12:51:28"
[2026-02-19 18:51:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 18:51:40] [INFO]   -> Found value: 2026-02-19 12:51:28
[2026-02-19 18:51:40] [INFO]   -> Set field 'timeenroutetoscene' = "2026-02-19 12:51:28"
[2026-02-19 18:51:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 18:51:40] [INFO]   -> No value found (null or empty)
[2026-02-19 18:51:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 18:51:40] [INFO]   -> No value found (null or empty)
[2026-02-19 18:51:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 18:51:40] [INFO]   -> No value found (null or empty)
[2026-02-19 18:51:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 18:51:40] [INFO]   -> Found value: 20260018812
[2026-02-19 18:51:40] [INFO]   -> Set field 'policeReportNumber' = "20260018812"
[2026-02-19 18:51:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 18:51:40] [INFO]   -> Found value: SMOKE DETECTOR INSTALL  [02/19/26 12:51:25 KHILL]
[2026-02-19 18:51:40] [INFO]   -> Set field 'dispatchNotes' = "SMOKE DETECTOR INSTALL  [02\/19\/26 12:51:25 KHILL]"
[2026-02-19 18:51:40] [INFO]   -> Set field 'cADLog' = "SMOKE DETECTOR INSTALL  [02\/19\/26 12:51:25 KHILL]"
[2026-02-19 18:51:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 18:51:40] [INFO]   -> Found value: COOKEVILLE
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-19 18:51:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 18:51:40] [INFO]   -> Found value: PIPPIN
[2026-02-19 18:51:40] [INFO]   -> Set field 'streetName' = "PIPPIN"
[2026-02-19 18:51:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 18:51:40] [INFO]   -> Found value: RD
[2026-02-19 18:51:40] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-19 18:51:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 18:51:40] [INFO]   -> Found value: 401-8 PIPPIN RD
[2026-02-19 18:51:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "401-8 PIPPIN RD"
[2026-02-19 18:51:40] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-02-19 18:51:40] [INFO] Concatenating street name and type
[2026-02-19 18:51:40] [INFO]   -> Combined street name: PIPPIN RD
[2026-02-19 18:51:40] [INFO] Built locationCoordinates from lat/lng: 36.18086,-85.54887
[2026-02-19 18:51:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000478","dispatchRunNumber":"2026000478","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":401,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"incidentLocationApt":8,"nERISIncidentLatitude":36.18086000000000268528310698457062244415283203125,"nERISIncidentLongitude":-85.548869999999993751771398819983005523681640625,"alarm":"2026-02-19 12:50:43","dispatched":"2026-02-19 12:51:28","enroute":"2026-02-19 12:51:28","incidentLocationCross":"ROYAL OAK DR\/VIVIAN DR","cADVehicleID":"TK11","timedispatch":"2026-02-19 12:51:28","timeenroutetoscene":"2026-02-19 12:51:28","policeReportNumber":"20260018812","dispatchNotes":"SMOKE DETECTOR INSTALL  [02\/19\/26 12:51:25 KHILL]","cADLog":"SMOKE DETECTOR INSTALL  [02\/19\/26 12:51:25 KHILL]","incidentLocationCity":"COOKEVILLE","streetName":"PIPPIN RD","incidentAddressTextVersionStreet":"401-8 PIPPIN RD","locationCoordinates":"36.18086,-85.54887"}
[2026-02-19 18:51:40] [INFO] Number of extracted fields: 24
[2026-02-19 18:51:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-02-19 18:51:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-02-19 18:51:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-02-19 18:51:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-19 18:51:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-19 18:51:40] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-19 18:51:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-19 18:51:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-19 18:51:40] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-02-19 18:51:51] [INFO] Created new Dispatches record with ID: 69975bbd2c0360b53
[2026-02-19 18:51:51] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 18:51:51] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 18:51:55] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 18:51:55] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018812_20260219_185140.XML: Failed to upload file to V2 FTP server: /PCFD_20260018812_20260219_185140.XML
[2026-02-19 18:51:55] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 19:27:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260018823_20260219_192740.XML
[2026-02-19 19:27:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260018823_20260219_192740.XML for user: 68f1466aed072ad4a
[2026-02-19 19:27:40] [INFO] File size: 5040 bytes
[2026-02-19 19:27:40] [INFO] Created FTPFiles record with ID: 6997642cdecae2262
[2026-02-19 19:27:40] [INFO] About to extract fields from XML. File size: 5040 bytes
[2026-02-19 19:27:40] [INFO] Number of mappings: 28
[2026-02-19 19:27:40] [INFO] Starting XML parsing. Content length: 5040
[2026-02-19 19:27:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 19:27:40] [INFO] Processing 28 field mappings
[2026-02-19 19:27:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 19:27:40] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 19:27:40] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-19 19:27:40] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-02-19 19:27:40] [INFO]   -> Found value: BFD
PCFD
[2026-02-19 19:27:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD\nPCFD"
[2026-02-19 19:27:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 19:27:40] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-02-19 19:27:40] [INFO]   -> Found value: 2026000056
[2026-02-19 19:27:40] [INFO]   -> Set field 'incidentInternalId' = "2026000056"
[2026-02-19 19:27:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000056"
[2026-02-19 19:27:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 19:27:40] [INFO]   -> Found value: FIRE ALARM
[2026-02-19 19:27:40] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-02-19 19:27:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 19:27:40] [INFO]   -> Found value: 187
[2026-02-19 19:27:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 187
[2026-02-19 19:27:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 19:27:40] [INFO]   -> Found value: TN
[2026-02-19 19:27:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 19:27:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 19:27:40] [INFO]   -> Found value: 38544
[2026-02-19 19:27:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-02-19 19:27:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 19:27:40] [INFO]   -> Found value: 36.14297
[2026-02-19 19:27:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14296999999999826513885636813938617706298828125
[2026-02-19 19:27:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 19:27:40] [INFO]   -> Found value: -85.62751
[2026-02-19 19:27:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.627510000000000900399754755198955535888671875
[2026-02-19 19:27:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 19:27:40] [INFO]   -> Found value: 2026-02-19 13:27:29
[2026-02-19 19:27:40] [INFO]   -> Set field 'alarm' = "2026-02-19 13:27:29"
[2026-02-19 19:27:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 19:27:40] [INFO]   -> Found value: 2026-02-19 13:27:29
[2026-02-19 19:27:40] [INFO]   -> Set field 'dispatched' = "2026-02-19 13:27:29"
[2026-02-19 19:27:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 19:27:40] [INFO]   -> Found value: FIRST AVE S/LIVERPOOL WAY
[2026-02-19 19:27:40] [INFO]   -> Set field 'incidentLocationCross' = "FIRST AVE S\/LIVERPOOL WAY"
[2026-02-19 19:27:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 19:27:40] [INFO]   -> Found value: BEN2
[2026-02-19 19:27:40] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-02-19 19:27:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 19:27:40] [INFO]   -> Found value: 2026-02-19 13:27:29
[2026-02-19 19:27:40] [INFO]   -> Set field 'timedispatch' = "2026-02-19 13:27:29"
[2026-02-19 19:27:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 19:27:40] [INFO]   -> No value found (null or empty)
[2026-02-19 19:27:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 19:27:40] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-02-19 19:27:40] [INFO]   -> Found value: 20260018823
[2026-02-19 19:27:40] [INFO]   -> Set field 'policeReportNumber' = "20260018823"
[2026-02-19 19:27:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 19:27:40] [INFO]   -> Found value: Event spawned from FIRE ALARM.  [02/19/2026 13:27:29 KHILL] LARA DUDAS//858-204-9560  [02/19/26 13:2...
[2026-02-19 19:27:40] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FIRE ALARM.  [02\/19\/2026 13:27:29 KHILL] LARA DUDAS\/\/858-204-9560  [02\/19\/26 13:27:07 KMORGAN2] ZONE 6 UPSTAIRS SMOKE  [02\/19\/26 13:26:39 KMORGAN2]]"
[2026-02-19 19:27:40] [INFO]   -> Set field 'cADLog' = "Event spawned from FIRE ALARM.  [02\/19\/2026 13:27:29 KHILL] LARA DUDAS\/\/858-204-9560  [02\/19\/26 13:27:07 KMORGAN2] ZONE 6 UPSTAIRS SMOKE  [02\/19\/26 13:26:39 KMORGAN2]]"
[2026-02-19 19:27:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 19:27:40] [INFO]   -> Found value: BAXTER
[2026-02-19 19:27:40] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-02-19 19:27:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 19:27:40] [INFO]   -> Found value: DALE MIRES
[2026-02-19 19:27:40] [INFO]   -> Set field 'streetName' = "DALE MIRES"
[2026-02-19 19:27:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 19:27:40] [INFO]   -> Found value: LN
[2026-02-19 19:27:40] [INFO]   -> Set field 'streetType' = "LN"
[2026-02-19 19:27:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 19:27:40] [INFO]   -> Found value: 187 DALE MIRES LN
[2026-02-19 19:27:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "187 DALE MIRES LN"
[2026-02-19 19:27:40] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-19 19:27:40] [INFO] Concatenating street name and type
[2026-02-19 19:27:40] [INFO]   -> Combined street name: DALE MIRES LN
[2026-02-19 19:27:40] [INFO] Built locationCoordinates from lat/lng: 36.14297,-85.62751
[2026-02-19 19:27:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD\nPCFD","incidentInternalId":"2026000056","dispatchRunNumber":"2026000056","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":187,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.14296999999999826513885636813938617706298828125,"nERISIncidentLongitude":-85.627510000000000900399754755198955535888671875,"alarm":"2026-02-19 13:27:29","dispatched":"2026-02-19 13:27:29","incidentLocationCross":"FIRST AVE S\/LIVERPOOL WAY","cADVehicleID":"BEN2","timedispatch":"2026-02-19 13:27:29","policeReportNumber":"20260018823","dispatchNotes":"Event spawned from FIRE ALARM.  [02\/19\/2026 13:27:29 KHILL] LARA DUDAS\/\/858-204-9560  [02\/19\/26 13:27:07 KMORGAN2] ZONE 6 UPSTAIRS SMOKE  [02\/19\/26 13:26:39 KMORGAN2]]","cADLog":"Event spawned from FIRE ALARM.  [02\/19\/2026 13:27:29 KHILL] LARA DUDAS\/\/858-204-9560  [02\/19\/26 13:27:07 KMORGAN2] ZONE 6 UPSTAIRS SMOKE  [02\/19\/26 13:26:39 KMORGAN2]]","incidentLocationCity":"BAXTER","streetName":"DALE MIRES LN","incidentAddressTextVersionStreet":"187 DALE MIRES LN","locationCoordinates":"36.14297,-85.62751"}
[2026-02-19 19:27:40] [INFO] Number of extracted fields: 21
[2026-02-19 19:27:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD
PCFD'
[2026-02-19 19:27:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD
PCFD', Parsed IDs = ["BFD","PCFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-02-19 19:27:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD","PCFD"]
[2026-02-19 19:27:40] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-02-19 19:27:41] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-02-19 19:27:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCFD"]
[2026-02-19 19:27:41] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-02-19 19:27:41] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-02-19 19:27:41] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-02-19 19:27:41] [INFO] Filtered cADAgencyIdentifier to: BFD
[2026-02-19 19:27:46] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-02-19 19:27:47] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-02-19 19:27:50] [INFO] Created new Dispatches record with ID: 699764335d14246f0
[2026-02-19 19:27:50] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 19:27:50] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 19:27:54] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 19:27:54] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260018823_20260219_192740.XML: Failed to upload file to V2 FTP server: /BFD_20260018823_20260219_192740.XML
[2026-02-19 19:27:54] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 21:34:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:34:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml for user: 69320e6a9e3e5ef71
[2026-02-19 21:34:39] [INFO] File size: 6830 bytes
[2026-02-19 21:34:48] [INFO] Created FTPFiles record with ID: 699781f84b3888cba
[2026-02-19 21:34:48] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 21:34:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011190.xml
[2026-02-19 21:34:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:34:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:34:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml for user: 69320e6a9e3e5ef71
[2026-02-19 21:34:48] [INFO] File size: 7802 bytes
[2026-02-19 21:34:48] [INFO] Created FTPFiles record with ID: 699781f8c357f7427
[2026-02-19 21:34:48] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 21:34:48] [INFO] File already exists in archive, using unique name: cfs_2026-011190_1771536888.xml
[2026-02-19 21:34:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011190_1771536888.xml
[2026-02-19 21:34:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:34:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:34:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml for user: 69320e6a9e3e5ef71
[2026-02-19 21:34:53] [INFO] File size: 7802 bytes
[2026-02-19 21:35:01] [INFO] Created FTPFiles record with ID: 699782053157681e5
[2026-02-19 21:35:01] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 21:35:01] [INFO] File already exists in archive, using unique name: cfs_2026-011190_1771536901.xml
[2026-02-19 21:35:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011190_1771536901.xml
[2026-02-19 21:35:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml for user: 69320e6a9e3e5ef71
[2026-02-19 21:35:02] [INFO] File size: 9992 bytes
[2026-02-19 21:35:02] [INFO] Created FTPFiles record with ID: 6997820684028f18f
[2026-02-19 21:35:02] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 21:35:02] [INFO] File already exists in archive, using unique name: cfs_2026-011190_1771536902.xml
[2026-02-19 21:35:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011190_1771536902.xml
[2026-02-19 21:35:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml for user: 69320e6a9e3e5ef71
[2026-02-19 21:35:12] [INFO] File size: 9992 bytes
[2026-02-19 21:35:12] [INFO] Created FTPFiles record with ID: 699782106ff59dd60
[2026-02-19 21:35:12] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 21:35:12] [INFO] File already exists in archive, using unique name: cfs_2026-011190_1771536912.xml
[2026-02-19 21:35:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011190_1771536912.xml
[2026-02-19 21:35:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml for user: 69320e6a9e3e5ef71
[2026-02-19 21:35:14] [INFO] File size: 9992 bytes
[2026-02-19 21:35:14] [INFO] Created FTPFiles record with ID: 69978212d07c7a5b2
[2026-02-19 21:35:14] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 21:35:14] [INFO] File already exists in archive, using unique name: cfs_2026-011190_1771536914.xml
[2026-02-19 21:35:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011190_1771536914.xml
[2026-02-19 21:35:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:35:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml for user: 69320e6a9e3e5ef71
[2026-02-19 21:35:18] [INFO] File size: 9992 bytes
[2026-02-19 21:35:36] [INFO] Created FTPFiles record with ID: 69978228dbaba40eb
[2026-02-19 21:35:36] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 21:35:36] [INFO] File already exists in archive, using unique name: cfs_2026-011190_1771536936.xml
[2026-02-19 21:35:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011190_1771536936.xml
[2026-02-19 21:35:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011190.xml
[2026-02-19 21:55:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018883_20260219_215530.XML
[2026-02-19 21:55:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018883_20260219_215530.XML for user: 68f1466aed072ad4a
[2026-02-19 21:55:30] [INFO] File size: 5399 bytes
[2026-02-19 21:55:31] [INFO] Created FTPFiles record with ID: 699786d302609379f
[2026-02-19 21:55:31] [INFO] About to extract fields from XML. File size: 5399 bytes
[2026-02-19 21:55:31] [INFO] Number of mappings: 28
[2026-02-19 21:55:31] [INFO] Starting XML parsing. Content length: 5399
[2026-02-19 21:55:31] [INFO] XML parsed successfully. Root element: CADExport
[2026-02-19 21:55:31] [INFO] Processing 28 field mappings
[2026-02-19 21:55:31] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-02-19 21:55:31] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-02-19 21:55:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-02-19 21:55:31] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-02-19 21:55:31] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-02-19 21:55:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-02-19 21:55:31] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-02-19 21:55:31] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-02-19 21:55:31] [INFO]   -> Found value: 2026000480
[2026-02-19 21:55:31] [INFO]   -> Set field 'incidentInternalId' = "2026000480"
[2026-02-19 21:55:31] [INFO]   -> Set field 'dispatchRunNumber' = "2026000480"
[2026-02-19 21:55:31] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-02-19 21:55:31] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2026-02-19 21:55:31] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2026-02-19 21:55:31] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-02-19 21:55:31] [INFO]   -> Found value: 1201
[2026-02-19 21:55:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1201
[2026-02-19 21:55:31] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-02-19 21:55:31] [INFO]   -> Found value: TN
[2026-02-19 21:55:31] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-02-19 21:55:31] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-02-19 21:55:31] [INFO]   -> Found value: 38506
[2026-02-19 21:55:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-02-19 21:55:31] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-02-19 21:55:31] [INFO]   -> Found value: 36.19787
[2026-02-19 21:55:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19787000000000176669345819391310214996337890625
[2026-02-19 21:55:31] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-02-19 21:55:31] [INFO]   -> Found value: -85.47440
[2026-02-19 21:55:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.47440000000000281943357549607753753662109375
[2026-02-19 21:55:31] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-02-19 21:55:31] [INFO]   -> Found value: 2026-02-19 15:53:50
[2026-02-19 21:55:31] [INFO]   -> Set field 'alarm' = "2026-02-19 15:53:50"
[2026-02-19 21:55:31] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-02-19 21:55:31] [INFO]   -> Found value: 2026-02-19 15:55:22
[2026-02-19 21:55:31] [INFO]   -> Set field 'dispatched' = "2026-02-19 15:55:22"
[2026-02-19 21:55:31] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-02-19 21:55:31] [INFO]   -> Found value: BOWSER RD/MIDDLEBROOK RD
[2026-02-19 21:55:31] [INFO]   -> Set field 'incidentLocationCross' = "BOWSER RD\/MIDDLEBROOK RD"
[2026-02-19 21:55:31] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-02-19 21:55:31] [INFO]   -> Found value: TK12
[2026-02-19 21:55:31] [INFO]   -> Set field 'cADVehicleID' = "TK12"
[2026-02-19 21:55:31] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-02-19 21:55:31] [INFO]   -> Found value: 2026-02-19 15:55:22
[2026-02-19 21:55:31] [INFO]   -> Set field 'timedispatch' = "2026-02-19 15:55:22"
[2026-02-19 21:55:31] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-02-19 21:55:31] [INFO]   -> No value found (null or empty)
[2026-02-19 21:55:31] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-02-19 21:55:31] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-02-19 21:55:31] [INFO]   -> Found value: 20260018883
[2026-02-19 21:55:31] [INFO]   -> Set field 'policeReportNumber' = "20260018883"
[2026-02-19 21:55:31] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-02-19 21:55:31] [INFO]   -> Found value: [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02/19/26 15:54:17 BWILSON] Event spawned from MVC ELECTRONIC...
[2026-02-19 21:55:31] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 15:54:17 BWILSON] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/19\/2026 15:53:50 DSTEPHENS]"
[2026-02-19 21:55:31] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 15:54:17 BWILSON] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/19\/2026 15:53:50 DSTEPHENS]"
[2026-02-19 21:55:31] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-02-19 21:55:31] [INFO]   -> Found value: COOKEVILLE
[2026-02-19 21:55:31] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-02-19 21:55:31] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-02-19 21:55:31] [INFO]   -> Found value: GIBBONS
[2026-02-19 21:55:31] [INFO]   -> Set field 'streetName' = "GIBBONS"
[2026-02-19 21:55:31] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-02-19 21:55:31] [INFO]   -> Found value: RD
[2026-02-19 21:55:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-02-19 21:55:31] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-02-19 21:55:31] [INFO]   -> Found value: 1201 GIBBONS RD
[2026-02-19 21:55:31] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1201 GIBBONS RD"
[2026-02-19 21:55:31] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-02-19 21:55:31] [INFO] Concatenating street name and type
[2026-02-19 21:55:31] [INFO]   -> Combined street name: GIBBONS RD
[2026-02-19 21:55:31] [INFO] Built locationCoordinates from lat/lng: 36.19787,-85.4744
[2026-02-19 21:55:31] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000480","dispatchRunNumber":"2026000480","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":1201,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.19787000000000176669345819391310214996337890625,"nERISIncidentLongitude":-85.47440000000000281943357549607753753662109375,"alarm":"2026-02-19 15:53:50","dispatched":"2026-02-19 15:55:22","incidentLocationCross":"BOWSER RD\/MIDDLEBROOK RD","cADVehicleID":"TK12","timedispatch":"2026-02-19 15:55:22","policeReportNumber":"20260018883","dispatchNotes":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 15:54:17 BWILSON] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/19\/2026 15:53:50 DSTEPHENS]","cADLog":"[LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [02\/19\/26 15:54:17 BWILSON] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [02\/19\/2026 15:53:50 DSTEPHENS]","incidentLocationCity":"COOKEVILLE","streetName":"GIBBONS RD","incidentAddressTextVersionStreet":"1201 GIBBONS RD","locationCoordinates":"36.19787,-85.4744"}
[2026-02-19 21:55:31] [INFO] Number of extracted fields: 21
[2026-02-19 21:55:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-02-19 21:55:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-02-19 21:55:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-02-19 21:55:31] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-02-19 21:55:31] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-02-19 21:55:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-02-19 21:55:31] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-02-19 21:55:31] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-02-19 21:55:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-02-19 21:55:31] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-02-19 21:55:31] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-02-19 21:55:31] [INFO] Found existing IncidentTypeMapping with ID: 6955292c9085ffc0d
[2026-02-19 21:55:41] [INFO] Created new Dispatches record with ID: 699786d3c4b21a4b8
[2026-02-19 21:55:41] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-02-19 21:55:41] [INFO] Using FTPS (SSL/TLS) connection
[2026-02-19 21:55:45] [ERROR] PHP Error [WARNING]: ftp_put(): Illegal PORT command in /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php on line 1016
[2026-02-19 21:55:45] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260018883_20260219_215530.XML: Failed to upload file to V2 FTP server: /PCFD_20260018883_20260219_215530.XML
[2026-02-19 21:55:45] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:1023
[2026-02-19 22:01:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05229.xml
[2026-02-19 22:01:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05229.xml for user: 68d56363ec1209189
[2026-02-19 22:01:35] [INFO] File size: 1552 bytes
[2026-02-19 22:01:36] [INFO] Created FTPFiles record with ID: 699788400a639c80e
[2026-02-19 22:01:36] [INFO] About to extract fields from XML. File size: 1552 bytes
[2026-02-19 22:01:36] [INFO] Number of mappings: 21
[2026-02-19 22:01:36] [INFO] Starting XML parsing. Content length: 1552
[2026-02-19 22:01:36] [INFO] XML parsed successfully. Root element: Incident
[2026-02-19 22:01:36] [INFO] Processing 21 field mappings
[2026-02-19 22:01:36] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-02-19 22:01:36] [INFO]   -> Found value: 26-05229
[2026-02-19 22:01:36] [INFO]   -> Set field 'dispatchRunNumber' = "26-05229"
[2026-02-19 22:01:36] [INFO]   -> Set field 'cADNumber' = "26-05229"
[2026-02-19 22:01:36] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-02-19 22:01:36] [INFO]   -> Found value: 5025
[2026-02-19 22:01:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5025
[2026-02-19 22:01:36] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-02-19 22:01:36] [INFO]   -> Found value: STATE HIGHWAY 77
[2026-02-19 22:01:36] [INFO]   -> Set field 'streetName' = "STATE HIGHWAY 77"
[2026-02-19 22:01:36] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-02-19 22:01:36] [INFO]   -> No value found (null or empty)
[2026-02-19 22:01:36] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-02-19 22:01:36] [INFO]   -> Found value: BENTON
[2026-02-19 22:01:36] [INFO]   -> Set field 'incidentLocationCity' = "BENTON"
[2026-02-19 22:01:36] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-02-19 22:01:36] [INFO]   -> No value found (null or empty)
[2026-02-19 22:01:36] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-02-19 22:01:36] [INFO]   -> Found value: MO
[2026-02-19 22:01:36] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-02-19 22:01:36] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-02-19 22:01:36] [INFO]   -> Found value: 63736
[2026-02-19 22:01:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63736
[2026-02-19 22:01:36] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-02-19 22:01:36] [INFO]   -> Found value: 0
[2026-02-19 22:01:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-02-19 22:01:36] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-02-19 22:01:36] [INFO]   -> Found value: 0
[2026-02-19 22:01:36] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-02-19 22:01:36] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-02-19 22:01:36] [INFO]   -> Found value: MEDICAL
[2026-02-19 22:01:36] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-02-19 22:01:36] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-02-19 22:01:36] [INFO]   -> Found value: 02-19-2026 15:30:14|WARNING: ADDRESS ALERT EXISTS
Reason for alert:BIOHAZARD
Notes:2991 ADV RESIDENC...
[2026-02-19 22:01:36] [INFO]   -> Set field 'dispatchNotes' = "02-19-2026 15:30:14|WARNING: ADDRESS ALERT EXISTS\nReason for alert:BIOHAZARD\nNotes:2991 ADV RESIDENCE IS A BIOHAZARD AND PERSONNEL NEED TO WEAR N100 MASKS 02-19-2026 15:26:51|Call Received on 02\/19\/2026 @ 15:26\n\nLocation: 12269 STHWY 77\n\n\n85 YOM\nNOT WELL\nCAN'T STAND OR SIT\nDEHYDRATED"
[2026-02-19 22:01:36] [INFO]   -> Set field 'cADLog' = "02-19-2026 15:30:14|WARNING: ADDRESS ALERT EXISTS\nReason for alert:BIOHAZARD\nNotes:2991 ADV RESIDENCE IS A BIOHAZARD AND PERSONNEL NEED TO WEAR N100 MASKS 02-19-2026 15:26:51|Call Received on 02\/19\/2026 @ 15:26\n\nLocation: 12269 STHWY 77\n\n\n85 YOM\nNOT WELL\nCAN'T STAND OR SIT\nDEHYDRATED"
[2026-02-19 22:01:36] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-02-19 22:01:36] [INFO]   -> Found value: 02-19-2026T15:28:40
[2026-02-19 22:01:36] [INFO] Reformatted DD-MM-YYYY date '02-19-2026' (day=02, month=19) to ISO: 2026-19-02T15:28:40
[2026-02-19 22:01:36] [ERROR] Error formatting datetime '2026-19-02T15:28:40': Failed to parse time string (2026-19-02T15:28:40) at position 6 (9): Unexpected character
[2026-02-19 22:01:36] [INFO]   -> Set field 'alarm' = null
[2026-02-19 22:01:36] [INFO] Reformatted DD-MM-YYYY date '02-19-2026' (day=02, month=19) to ISO: 2026-19-02T15:28:40
[2026-02-19 22:01:36] [ERROR] Error formatting datetime '2026-19-02T15:28:40': Failed to parse time string (2026-19-02T15:28:40) at position 6 (9): Unexpected character
[2026-02-19 22:01:36] [INFO]   -> Set field 'dispatched' = null
[2026-02-19 22:01:36] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-02-19 22:01:36] [INFO]   -> No value found (null or empty)
[2026-02-19 22:01:36] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-02-19 22:01:36] [INFO]   -> No value found (null or empty)
[2026-02-19 22:01:36] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-02-19 22:01:36] [INFO]   -> Found value: RURAL PAGE
[2026-02-19 22:01:36] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-02-19 22:01:36] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-02-19 22:01:36] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-02-19 22:01:36] [INFO]   -> No value found (null or empty)
[2026-02-19 22:01:36] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-02-19 22:01:36] [INFO]   -> No value found (null or empty)
[2026-02-19 22:01:36] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-02-19 22:01:36] [INFO]   -> Found value: 02-19-2026T16:00:46
[2026-02-19 22:01:36] [INFO] Reformatted DD-MM-YYYY date '02-19-2026' (day=02, month=19) to ISO: 2026-19-02T16:00:46
[2026-02-19 22:01:36] [ERROR] Error formatting datetime '2026-19-02T16:00:46': Failed to parse time string (2026-19-02T16:00:46) at position 6 (9): Unexpected character
[2026-02-19 22:01:36] [INFO]   -> Set field 'timeunitclear' = null
[2026-02-19 22:01:36] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-02-19 22:01:36] [INFO]   -> Found value: 02-19-2026T15:31:18
[2026-02-19 22:01:36] [INFO] Reformatted DD-MM-YYYY date '02-19-2026' (day=02, month=19) to ISO: 2026-19-02T15:31:18
[2026-02-19 22:01:36] [ERROR] Error formatting datetime '2026-19-02T15:31:18': Failed to parse time string (2026-19-02T15:31:18) at position 6 (9): Unexpected character
[2026-02-19 22:01:36] [INFO]   -> Set field 'timedispatch' = null
[2026-02-19 22:01:36] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-02-19 22:01:36] [INFO]   -> Found value: SCRFD
[2026-02-19 22:01:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-02-19 22:01:36] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-02-19 22:01:36] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-02-19 22:01:36] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-05229","cADNumber":"26-05229","incidentLocationStreetNumber":5025,"streetName":"STATE HIGHWAY 77","incidentLocationCity":"BENTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63736,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"02-19-2026 15:30:14|WARNING: ADDRESS ALERT EXISTS\nReason for alert:BIOHAZARD\nNotes:2991 ADV RESIDENCE IS A BIOHAZARD AND PERSONNEL NEED TO WEAR N100 MASKS 02-19-2026 15:26:51|Call Received on 02\/19\/2026 @ 15:26\n\nLocation: 12269 STHWY 77\n\n\n85 YOM\nNOT WELL\nCAN'T STAND OR SIT\nDEHYDRATED","cADLog":"02-19-2026 15:30:14|WARNING: ADDRESS ALERT EXISTS\nReason for alert:BIOHAZARD\nNotes:2991 ADV RESIDENCE IS A BIOHAZARD AND PERSONNEL NEED TO WEAR N100 MASKS 02-19-2026 15:26:51|Call Received on 02\/19\/2026 @ 15:26\n\nLocation: 12269 STHWY 77\n\n\n85 YOM\nNOT WELL\nCAN'T STAND OR SIT\nDEHYDRATED","alarm":null,"dispatched":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-02-19 22:01:36] [INFO] Number of extracted fields: 20
[2026-02-19 22:01:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-02-19 22:01:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-02-19 22:01:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-02-19 22:01:36] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-02-19 22:01:36] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-02-19 22:01:36] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-02-19 22:01:36] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-02-19 22:01:36] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-02-19 22:01:36] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-02-19 22:01:36] [INFO] Found existing Dispatch with cADNumber '26-05229', ID: 6997814b00a6f6d13 - will update instead of create
[2026-02-19 22:01:37] [INFO] Updated existing Dispatches record with ID: 6997814b00a6f6d13
[2026-02-19 22:01:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05229.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-02-19/SCRFD_26-05229.xml
[2026-02-19 22:01:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-05229.xml
[2026-02-19 22:49:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:49:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:49:39] [INFO] File size: 15142 bytes
[2026-02-19 22:49:40] [INFO] Created FTPFiles record with ID: 6997938446fd6a327
[2026-02-19 22:49:40] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:49:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211.xml
[2026-02-19 22:49:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:50:06] [INFO] File size: 16095 bytes
[2026-02-19 22:50:06] [INFO] Created FTPFiles record with ID: 6997939e8e56fac9d
[2026-02-19 22:50:06] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:50:06] [INFO] File already exists in archive, using unique name: cfs_2026-011211_1771541406.xml
[2026-02-19 22:50:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211_1771541406.xml
[2026-02-19 22:50:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:50:42] [INFO] File size: 18336 bytes
[2026-02-19 22:50:42] [INFO] Created FTPFiles record with ID: 699793c2a2cf10d33
[2026-02-19 22:50:42] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:50:42] [INFO] File already exists in archive, using unique name: cfs_2026-011211_1771541442.xml
[2026-02-19 22:50:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211_1771541442.xml
[2026-02-19 22:50:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:50:47] [INFO] File size: 20577 bytes
[2026-02-19 22:50:47] [INFO] Created FTPFiles record with ID: 699793c7b8dea5409
[2026-02-19 22:50:47] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:50:47] [INFO] File already exists in archive, using unique name: cfs_2026-011211_1771541447.xml
[2026-02-19 22:50:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211_1771541447.xml
[2026-02-19 22:50:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:50:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:50:50] [INFO] File size: 22168 bytes
[2026-02-19 22:50:50] [INFO] Created FTPFiles record with ID: 699793cad1052b087
[2026-02-19 22:50:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:50:50] [INFO] File already exists in archive, using unique name: cfs_2026-011211_1771541450.xml
[2026-02-19 22:50:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211_1771541450.xml
[2026-02-19 22:50:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:52:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:52:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:52:46] [INFO] File size: 23786 bytes
[2026-02-19 22:52:46] [INFO] Created FTPFiles record with ID: 6997943e60f4ccdea
[2026-02-19 22:52:46] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:52:46] [INFO] File already exists in archive, using unique name: cfs_2026-011211_1771541566.xml
[2026-02-19 22:52:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211_1771541566.xml
[2026-02-19 22:52:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:52:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:52:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:52:52] [INFO] File size: 25376 bytes
[2026-02-19 22:52:52] [INFO] Created FTPFiles record with ID: 699794447973408b6
[2026-02-19 22:52:52] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:52:52] [INFO] File already exists in archive, using unique name: cfs_2026-011211_1771541572.xml
[2026-02-19 22:52:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211_1771541572.xml
[2026-02-19 22:52:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:54:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
[2026-02-19 22:54:53] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml for user: 69320e6a9e3e5ef71
[2026-02-19 22:54:53] [INFO] File size: 26373 bytes
[2026-02-19 22:54:53] [INFO] Created FTPFiles record with ID: 699794bd763572e85
[2026-02-19 22:54:53] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-02-19 22:54:53] [INFO] File already exists in archive, using unique name: cfs_2026-011211_1771541693.xml
[2026-02-19 22:54:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-02-19/cfs_2026-011211_1771541693.xml
[2026-02-19 22:54:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-011211.xml
