[2026-01-15 00:04:40] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01421.xml
[2026-01-15 00:04:40] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01421.xml for user: 68d56363ec1209189
[2026-01-15 00:04:40] [INFO] File size: 1324 bytes
[2026-01-15 00:04:40] [INFO] Created FTPFiles record with ID: 69682f18e605270ca
[2026-01-15 00:04:40] [INFO] About to extract fields from XML. File size: 1324 bytes
[2026-01-15 00:04:40] [INFO] Number of mappings: 21
[2026-01-15 00:04:40] [INFO] Starting XML parsing. Content length: 1324
[2026-01-15 00:04:40] [INFO] XML parsed successfully. Root element: Incident
[2026-01-15 00:04:40] [INFO] Processing 21 field mappings
[2026-01-15 00:04:40] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-15 00:04:40] [INFO]   -> Found value: 26-01421
[2026-01-15 00:04:40] [INFO]   -> Set field 'dispatchRunNumber' = "26-01421"
[2026-01-15 00:04:40] [INFO]   -> Set field 'cADNumber' = "26-01421"
[2026-01-15 00:04:40] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-15 00:04:40] [INFO]   -> Found value: 201
[2026-01-15 00:04:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-01-15 00:04:40] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-15 00:04:40] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-01-15 00:04:40] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-01-15 00:04:40] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-15 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:40] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-15 00:04:40] [INFO]   -> Found value: SIKESTON
[2026-01-15 00:04:40] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-15 00:04:40] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-15 00:04:40] [INFO]   -> Found value: SIKESTON DPS
[2026-01-15 00:04:40] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-01-15 00:04:40] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-15 00:04:40] [INFO]   -> Found value: MO
[2026-01-15 00:04:40] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-15 00:04:40] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-15 00:04:40] [INFO]   -> Found value: 63801
[2026-01-15 00:04:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-15 00:04:40] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-15 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:40] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-15 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:40] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-15 00:04:40] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-01-15 00:04:40] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-01-15 00:04:40] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-15 00:04:40] [INFO]   -> Found value: 01-14-2026 18:00:01|WED EVENING PAGER TEST
[2026-01-15 00:04:40] [INFO]   -> Set field 'dispatchNotes' = "01-14-2026 18:00:01|WED EVENING PAGER TEST"
[2026-01-15 00:04:40] [INFO]   -> Set field 'cADLog' = "01-14-2026 18:00:01|WED EVENING PAGER TEST"
[2026-01-15 00:04:40] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-15 00:04:40] [INFO]   -> Found value: 01-14-2026T18:02:04
[2026-01-15 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:02:04
[2026-01-15 00:04:40] [ERROR] Error formatting datetime '2026-14-01T18:02:04': Failed to parse time string (2026-14-01T18:02:04) at position 6 (4): Unexpected character
[2026-01-15 00:04:40] [INFO]   -> Set field 'alarm' = null
[2026-01-15 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:02:04
[2026-01-15 00:04:40] [ERROR] Error formatting datetime '2026-14-01T18:02:04': Failed to parse time string (2026-14-01T18:02:04) at position 6 (4): Unexpected character
[2026-01-15 00:04:40] [INFO]   -> Set field 'dispatched' = null
[2026-01-15 00:04:40] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-15 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:40] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-15 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:40] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-15 00:04:40] [INFO]   -> Found value: RURAL PAGE
[2026-01-15 00:04:40] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-01-15 00:04:40] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-01-15 00:04:40] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-15 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:40] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-15 00:04:40] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:40] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-15 00:04:40] [INFO]   -> Found value: 01-14-2026T18:03:45
[2026-01-15 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:03:45
[2026-01-15 00:04:40] [ERROR] Error formatting datetime '2026-14-01T18:03:45': Failed to parse time string (2026-14-01T18:03:45) at position 6 (4): Unexpected character
[2026-01-15 00:04:40] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 00:04:40] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-15 00:04:40] [INFO]   -> Found value: 01-14-2026T18:02:59
[2026-01-15 00:04:40] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:02:59
[2026-01-15 00:04:40] [ERROR] Error formatting datetime '2026-14-01T18:02:59': Failed to parse time string (2026-14-01T18:02:59) at position 6 (4): Unexpected character
[2026-01-15 00:04:40] [INFO]   -> Set field 'timedispatch' = null
[2026-01-15 00:04:40] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-15 00:04:40] [INFO]   -> Found value: SCRFD
[2026-01-15 00:04:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-15 00:04:40] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-15 00:04:40] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01421","cADNumber":"26-01421","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"01-14-2026 18:00:01|WED EVENING PAGER TEST","cADLog":"01-14-2026 18:00:01|WED EVENING PAGER TEST","alarm":null,"dispatched":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD"}
[2026-01-15 00:04:40] [INFO] Number of extracted fields: 18
[2026-01-15 00:04:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-15 00:04:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-15 00:04:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-15 00:04:40] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-15 00:04:41] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-15 00:04:41] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-15 00:04:41] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-15 00:04:41] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-15 00:04:41] [INFO] Found existing IncidentTypeMapping with ID: 693a0a64a7bfdcdfa
[2026-01-15 00:04:41] [INFO] Found existing Dispatch with cADNumber '26-01421', ID: 69682ee12b399eb51 - will update instead of create
[2026-01-15 00:04:41] [INFO] Updated existing Dispatches record with ID: 69682ee12b399eb51
[2026-01-15 00:04:41] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-15
[2026-01-15 00:04:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01421.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-15/SCRFD_26-01421.xml
[2026-01-15 00:04:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01421.xml
[2026-01-15 00:04:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01421.xml
[2026-01-15 00:04:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01421.xml for user: 68d56363ec1209189
[2026-01-15 00:04:41] [INFO] File size: 1327 bytes
[2026-01-15 00:04:42] [INFO] Created FTPFiles record with ID: 69682f1a2890d83a2
[2026-01-15 00:04:42] [INFO] About to extract fields from XML. File size: 1327 bytes
[2026-01-15 00:04:42] [INFO] Number of mappings: 21
[2026-01-15 00:04:42] [INFO] Starting XML parsing. Content length: 1327
[2026-01-15 00:04:42] [INFO] XML parsed successfully. Root element: Incident
[2026-01-15 00:04:42] [INFO] Processing 21 field mappings
[2026-01-15 00:04:42] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-15 00:04:42] [INFO]   -> Found value: 26-01421
[2026-01-15 00:04:42] [INFO]   -> Set field 'dispatchRunNumber' = "26-01421"
[2026-01-15 00:04:42] [INFO]   -> Set field 'cADNumber' = "26-01421"
[2026-01-15 00:04:42] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-15 00:04:42] [INFO]   -> Found value: 201
[2026-01-15 00:04:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-01-15 00:04:42] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-15 00:04:42] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-01-15 00:04:42] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-01-15 00:04:42] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-15 00:04:42] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:42] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-15 00:04:42] [INFO]   -> Found value: SIKESTON
[2026-01-15 00:04:42] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-15 00:04:42] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-15 00:04:42] [INFO]   -> Found value: SIKESTON DPS
[2026-01-15 00:04:42] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-01-15 00:04:42] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-15 00:04:42] [INFO]   -> Found value: MO
[2026-01-15 00:04:42] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-15 00:04:42] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-15 00:04:42] [INFO]   -> Found value: 63801
[2026-01-15 00:04:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-15 00:04:42] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-15 00:04:42] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:42] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-15 00:04:42] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:42] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-15 00:04:42] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-01-15 00:04:42] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-01-15 00:04:42] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-15 00:04:42] [INFO]   -> Found value: 01-14-2026 18:00:01|WED EVENING PAGER TEST
[2026-01-15 00:04:42] [INFO]   -> Set field 'dispatchNotes' = "01-14-2026 18:00:01|WED EVENING PAGER TEST"
[2026-01-15 00:04:42] [INFO]   -> Set field 'cADLog' = "01-14-2026 18:00:01|WED EVENING PAGER TEST"
[2026-01-15 00:04:42] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-15 00:04:42] [INFO]   -> Found value: 01-14-2026T18:02:04
[2026-01-15 00:04:42] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:02:04
[2026-01-15 00:04:42] [ERROR] Error formatting datetime '2026-14-01T18:02:04': Failed to parse time string (2026-14-01T18:02:04) at position 6 (4): Unexpected character
[2026-01-15 00:04:42] [INFO]   -> Set field 'alarm' = null
[2026-01-15 00:04:42] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:02:04
[2026-01-15 00:04:42] [ERROR] Error formatting datetime '2026-14-01T18:02:04': Failed to parse time string (2026-14-01T18:02:04) at position 6 (4): Unexpected character
[2026-01-15 00:04:42] [INFO]   -> Set field 'dispatched' = null
[2026-01-15 00:04:42] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-15 00:04:42] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:42] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-15 00:04:42] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:42] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-15 00:04:42] [INFO]   -> Found value: SIK ALL PAGE
[2026-01-15 00:04:42] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-01-15 00:04:42] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-01-15 00:04:42] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-15 00:04:42] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:42] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-15 00:04:42] [INFO]   -> No value found (null or empty)
[2026-01-15 00:04:42] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-15 00:04:42] [INFO]   -> Found value: 01-14-2026T18:03:45
[2026-01-15 00:04:42] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:03:45
[2026-01-15 00:04:42] [ERROR] Error formatting datetime '2026-14-01T18:03:45': Failed to parse time string (2026-14-01T18:03:45) at position 6 (4): Unexpected character
[2026-01-15 00:04:42] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 00:04:42] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-15 00:04:42] [INFO]   -> Found value: 01-14-2026T18:02:04
[2026-01-15 00:04:42] [INFO] Reformatted DD-MM-YYYY date '01-14-2026' (day=01, month=14) to ISO: 2026-14-01T18:02:04
[2026-01-15 00:04:42] [ERROR] Error formatting datetime '2026-14-01T18:02:04': Failed to parse time string (2026-14-01T18:02:04) at position 6 (4): Unexpected character
[2026-01-15 00:04:42] [INFO]   -> Set field 'timedispatch' = null
[2026-01-15 00:04:42] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-15 00:04:42] [INFO]   -> Found value: SDPSFD
[2026-01-15 00:04:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-15 00:04:42] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-15 00:04:42] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01421","cADNumber":"26-01421","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"01-14-2026 18:00:01|WED EVENING PAGER TEST","cADLog":"01-14-2026 18:00:01|WED EVENING PAGER TEST","alarm":null,"dispatched":null,"cADVehicleID":"SIK ALL PAGE","name":"SIK ALL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD"}
[2026-01-15 00:04:42] [INFO] Number of extracted fields: 18
[2026-01-15 00:04:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-15 00:04:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-15 00:04:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-15 00:04:42] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-15 00:04:42] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-15 00:04:42] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-15 00:04:42] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-15 00:04:42] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-15 00:04:42] [INFO] Found existing IncidentTypeMapping with ID: 691e5c32443e1aa70
[2026-01-15 00:04:44] [INFO] Created new Dispatches record with ID: 69682f1adc938af60
[2026-01-15 00:04:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01421.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-15/SDPSFD_26-01421.xml
[2026-01-15 00:04:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01421.xml
[2026-01-15 00:08:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005169_20260115_000811.XML
[2026-01-15 00:08:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005169_20260115_000811.XML for user: 68f1466aed072ad4a
[2026-01-15 00:08:11] [INFO] File size: 5173 bytes
[2026-01-15 00:08:11] [INFO] Created FTPFiles record with ID: 69682feb6a0c2069f
[2026-01-15 00:08:11] [INFO] About to extract fields from XML. File size: 5173 bytes
[2026-01-15 00:08:11] [INFO] Number of mappings: 28
[2026-01-15 00:08:11] [INFO] Starting XML parsing. Content length: 5173
[2026-01-15 00:08:11] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 00:08:11] [INFO] Processing 28 field mappings
[2026-01-15 00:08:11] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 00:08:11] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 00:08:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 00:08:11] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-15 00:08:11] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-15 00:08:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-15 00:08:11] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 00:08:11] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-15 00:08:11] [INFO]   -> Found value: 2026000124
[2026-01-15 00:08:11] [INFO]   -> Set field 'incidentInternalId' = "2026000124"
[2026-01-15 00:08:11] [INFO]   -> Set field 'dispatchRunNumber' = "2026000124"
[2026-01-15 00:08:11] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 00:08:11] [INFO]   -> Found value: FALL VICTIM
[2026-01-15 00:08:11] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-01-15 00:08:11] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 00:08:11] [INFO]   -> Found value: 5020
[2026-01-15 00:08:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 5020
[2026-01-15 00:08:11] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 00:08:11] [INFO]   -> Found value: TN
[2026-01-15 00:08:11] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 00:08:11] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 00:08:11] [INFO]   -> Found value: 38544
[2026-01-15 00:08:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-15 00:08:11] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 00:08:11] [INFO]   -> Found value: 36.09916
[2026-01-15 00:08:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0991599999999976944309310056269168853759765625
[2026-01-15 00:08:11] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 00:08:11] [INFO]   -> Found value: -85.63037
[2026-01-15 00:08:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.630369999999999208739609457552433013916015625
[2026-01-15 00:08:11] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 00:08:11] [INFO]   -> Found value: 2026-01-14 18:07:46
[2026-01-15 00:08:11] [INFO]   -> Set field 'alarm' = "2026-01-14 18:07:46"
[2026-01-15 00:08:11] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 00:08:11] [INFO]   -> Found value: 2026-01-14 18:07:58
[2026-01-15 00:08:11] [INFO]   -> Set field 'dispatched' = "2026-01-14 18:07:58"
[2026-01-15 00:08:11] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 00:08:11] [INFO]   -> Found value: LOLLAR RD
[2026-01-15 00:08:11] [INFO]   -> Set field 'incidentLocationCross' = "LOLLAR RD"
[2026-01-15 00:08:11] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 00:08:11] [INFO]   -> Found value: PCFR
[2026-01-15 00:08:11] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-15 00:08:11] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 00:08:11] [INFO]   -> Found value: 2026-01-14 18:07:58
[2026-01-15 00:08:11] [INFO]   -> Set field 'timedispatch' = "2026-01-14 18:07:58"
[2026-01-15 00:08:11] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 00:08:11] [INFO]   -> No value found (null or empty)
[2026-01-15 00:08:11] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 00:08:11] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 00:08:11] [INFO]   -> Found value: 20260005169
[2026-01-15 00:08:11] [INFO]   -> Set field 'policeReportNumber' = "20260005169"
[2026-01-15 00:08:11] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 00:08:11] [INFO]   -> Found value: [EMS] AWAKE BUT NOT VERY ALERT HAS BEEN SICK  [01/14/26 18:07:57 SVOKOUN2] Event spawned from FALL V...
[2026-01-15 00:08:11] [INFO]   -> Set field 'dispatchNotes' = "[EMS] AWAKE BUT NOT VERY ALERT HAS BEEN SICK  [01\/14\/26 18:07:57 SVOKOUN2] Event spawned from FALL VICTIM.  [01\/14\/2026 18:07:46 SVOKOUN2] GENE ELROD 84YOM  [01\/14\/26 18:07:24 SVOKOUN2]]"
[2026-01-15 00:08:11] [INFO]   -> Set field 'cADLog' = "[EMS] AWAKE BUT NOT VERY ALERT HAS BEEN SICK  [01\/14\/26 18:07:57 SVOKOUN2] Event spawned from FALL VICTIM.  [01\/14\/2026 18:07:46 SVOKOUN2] GENE ELROD 84YOM  [01\/14\/26 18:07:24 SVOKOUN2]]"
[2026-01-15 00:08:11] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 00:08:11] [INFO]   -> Found value: BAXTER
[2026-01-15 00:08:11] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-15 00:08:11] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 00:08:11] [INFO]   -> Found value: GENE ELROD
[2026-01-15 00:08:11] [INFO]   -> Set field 'streetName' = "GENE ELROD"
[2026-01-15 00:08:11] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 00:08:11] [INFO]   -> Found value: DR
[2026-01-15 00:08:11] [INFO]   -> Set field 'streetType' = "DR"
[2026-01-15 00:08:11] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 00:08:11] [INFO]   -> Found value: 5020 GENE ELROD DR
[2026-01-15 00:08:11] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "5020 GENE ELROD DR"
[2026-01-15 00:08:11] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-15 00:08:11] [INFO] Concatenating street name and type
[2026-01-15 00:08:11] [INFO]   -> Combined street name: GENE ELROD DR
[2026-01-15 00:08:11] [INFO] Built locationCoordinates from lat/lng: 36.09916,-85.63037
[2026-01-15 00:08:11] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000124","dispatchRunNumber":"2026000124","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":5020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.0991599999999976944309310056269168853759765625,"nERISIncidentLongitude":-85.630369999999999208739609457552433013916015625,"alarm":"2026-01-14 18:07:46","dispatched":"2026-01-14 18:07:58","incidentLocationCross":"LOLLAR RD","cADVehicleID":"PCFR","timedispatch":"2026-01-14 18:07:58","policeReportNumber":"20260005169","dispatchNotes":"[EMS] AWAKE BUT NOT VERY ALERT HAS BEEN SICK  [01\/14\/26 18:07:57 SVOKOUN2] Event spawned from FALL VICTIM.  [01\/14\/2026 18:07:46 SVOKOUN2] GENE ELROD 84YOM  [01\/14\/26 18:07:24 SVOKOUN2]]","cADLog":"[EMS] AWAKE BUT NOT VERY ALERT HAS BEEN SICK  [01\/14\/26 18:07:57 SVOKOUN2] Event spawned from FALL VICTIM.  [01\/14\/2026 18:07:46 SVOKOUN2] GENE ELROD 84YOM  [01\/14\/26 18:07:24 SVOKOUN2]]","incidentLocationCity":"BAXTER","streetName":"GENE ELROD DR","incidentAddressTextVersionStreet":"5020 GENE ELROD DR","locationCoordinates":"36.09916,-85.63037"}
[2026-01-15 00:08:11] [INFO] Number of extracted fields: 21
[2026-01-15 00:08:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-15 00:08:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-15 00:08:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-15 00:08:11] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 00:08:11] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 00:08:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-15 00:08:11] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 00:08:11] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 00:08:11] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 00:08:11] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 00:08:11] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 00:08:11] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-01-15 00:08:19] [INFO] Created new Dispatches record with ID: 69682fec477355087
[2026-01-15 00:08:19] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15
[2026-01-15 00:08:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005169_20260115_000811.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005169_20260115_000811.XML
[2026-01-15 00:08:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005169_20260115_000811.XML
[2026-01-15 02:19:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211943970.xml
[2026-01-15 02:19:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211943970.xml for user: 68920395733981a47
[2026-01-15 02:19:46] [INFO] File size: 5051 bytes
[2026-01-15 02:19:46] [INFO] Created FTPFiles record with ID: 69684ec2a800e5c1c
[2026-01-15 02:19:46] [INFO] About to extract fields from XML. File size: 5051 bytes
[2026-01-15 02:19:46] [INFO] Number of mappings: 24
[2026-01-15 02:19:46] [INFO] Starting XML parsing. Content length: 5051
[2026-01-15 02:19:46] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:19:46] [INFO] Processing 24 field mappings
[2026-01-15 02:19:46] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:19:46] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:19:46] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:19:46] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:19:46] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:19:46] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:19:46] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:19:46] [INFO]   -> Found value: 37379
[2026-01-15 02:19:46] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:19:46] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:19:46] [INFO]   -> Found value: 1005
[2026-01-15 02:19:46] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:19:46] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:19:46] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:19:46] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:19:46] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:19:46] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:19:46] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:19:46] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:19:46] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:19:46] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:19:46] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:19:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:46] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:19:46] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:19:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:46] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:19:46] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:19:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:46] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:19:46] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:19:46] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:19:46] [INFO]   -> Found value: 35.24051
[2026-01-15 02:19:46] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:19:46] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:19:46] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:19:46] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:19:46] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:19:46] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:46] [INFO]   -> Set field 'dispatched' = null
[2026-01-15 02:19:46] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:19:46] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:46] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:19:46] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:46] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:19:46] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:46] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:19:46] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:46] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:19:46] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:46] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:19:46] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:46] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:19:46] [INFO]   -> Found value: RD
[2026-01-15 02:19:46] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:19:46] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:19:46] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:46] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:19:46] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:19:46] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:19:46] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:19:46] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:19:46] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
[2026-01-15 02:19:46] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118"
[2026-01-15 02:19:46] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118"
[2026-01-15 02:19:46] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:19:46] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:19:46] [INFO]   -> Found value: MFD
[2026-01-15 02:19:46] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-15 02:19:46] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-15 02:19:46] [INFO] Concatenating street name and type
[2026-01-15 02:19:46] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:19:46] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:19:46] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":null,"policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:19:46] [INFO] Number of extracted fields: 20
[2026-01-15 02:19:46] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-15 02:19:46] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-15 02:19:46] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-15 02:19:46] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:19:46] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:19:46] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:19:46] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:19:46] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:19:47] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:19:54] [INFO] Created new Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:19:54] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15
[2026-01-15 02:19:54] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211943970.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114211943970.xml
[2026-01-15 02:19:54] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211943970.xml
[2026-01-15 02:19:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211954111.xml
[2026-01-15 02:19:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211954111.xml for user: 68920395733981a47
[2026-01-15 02:19:54] [INFO] File size: 5242 bytes
[2026-01-15 02:19:54] [INFO] Created FTPFiles record with ID: 69684ecac2934547c
[2026-01-15 02:19:54] [INFO] About to extract fields from XML. File size: 5242 bytes
[2026-01-15 02:19:54] [INFO] Number of mappings: 24
[2026-01-15 02:19:54] [INFO] Starting XML parsing. Content length: 5242
[2026-01-15 02:19:54] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:19:54] [INFO] Processing 24 field mappings
[2026-01-15 02:19:54] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:19:54] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:19:54] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:19:54] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:19:54] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:19:54] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:19:54] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:19:54] [INFO]   -> Found value: 37379
[2026-01-15 02:19:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:19:54] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:19:54] [INFO]   -> Found value: 1005
[2026-01-15 02:19:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:19:54] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:19:54] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:19:54] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:19:54] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:19:54] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:19:54] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:19:54] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:19:54] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:19:54] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:19:54] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:19:54] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:54] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:19:54] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:19:54] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:54] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:19:54] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:19:54] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:54] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:19:54] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:19:54] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:19:54] [INFO]   -> Found value: 35.24051
[2026-01-15 02:19:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:19:54] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:19:54] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:19:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:19:54] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:19:54] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:19:54] [INFO]   -> Set field 'dispatched' = null
[2026-01-15 02:19:54] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:19:54] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:54] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:19:54] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:54] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:19:54] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:54] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:19:54] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:54] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:19:54] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:54] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:19:54] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:54] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:19:54] [INFO]   -> Found value: RD
[2026-01-15 02:19:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:19:54] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:19:54] [INFO]   -> No value found (null or empty)
[2026-01-15 02:19:54] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:19:54] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:19:54] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:19:54] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:19:54] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:19:54] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:19:54] [INFO] Found 3 elements for 'Comment', concatenating 3 non-empty values
[2026-01-15 02:19:54] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:19:54] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]"
[2026-01-15 02:19:54] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]"
[2026-01-15 02:19:54] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:19:54] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:19:54] [INFO]   -> Found value: MFD
[2026-01-15 02:19:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-15 02:19:54] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-15 02:19:54] [INFO] Concatenating street name and type
[2026-01-15 02:19:54] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:19:54] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:19:54] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":null,"policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:19:54] [INFO] Number of extracted fields: 20
[2026-01-15 02:19:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-15 02:19:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-15 02:19:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-15 02:19:54] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:19:54] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:19:55] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:19:55] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:19:55] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:19:55] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:19:55] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:19:55] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:19:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211954111.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114211954111.xml
[2026-01-15 02:19:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114211954111.xml
[2026-01-15 02:20:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212004236.xml
[2026-01-15 02:20:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212004236.xml for user: 68920395733981a47
[2026-01-15 02:20:04] [INFO] File size: 5330 bytes
[2026-01-15 02:20:04] [INFO] Created FTPFiles record with ID: 69684ed49ab9b6123
[2026-01-15 02:20:04] [INFO] About to extract fields from XML. File size: 5330 bytes
[2026-01-15 02:20:04] [INFO] Number of mappings: 24
[2026-01-15 02:20:04] [INFO] Starting XML parsing. Content length: 5330
[2026-01-15 02:20:04] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:20:04] [INFO] Processing 24 field mappings
[2026-01-15 02:20:04] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:20:04] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:20:04] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:20:04] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:20:04] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:20:04] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:20:04] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:20:04] [INFO]   -> Found value: 37379
[2026-01-15 02:20:04] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:20:04] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:20:04] [INFO]   -> Found value: 1005
[2026-01-15 02:20:04] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:20:04] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:20:04] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:20:04] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:20:04] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:20:04] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:20:04] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:20:04] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:20:04] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:20:04] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:20:04] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:20:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:04] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:20:04] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:20:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:04] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:20:04] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:20:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:04] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:20:04] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:20:04] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:20:04] [INFO]   -> Found value: 35.24051
[2026-01-15 02:20:04] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:20:04] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:20:04] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:20:04] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:20:04] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:20:04] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:04] [INFO]   -> Set field 'dispatched' = null
[2026-01-15 02:20:04] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:20:04] [INFO]   -> No value found (null or empty)
[2026-01-15 02:20:04] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:20:04] [INFO]   -> No value found (null or empty)
[2026-01-15 02:20:04] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:20:04] [INFO]   -> No value found (null or empty)
[2026-01-15 02:20:04] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:20:04] [INFO]   -> No value found (null or empty)
[2026-01-15 02:20:04] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:20:04] [INFO]   -> No value found (null or empty)
[2026-01-15 02:20:04] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:20:04] [INFO]   -> No value found (null or empty)
[2026-01-15 02:20:04] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:20:04] [INFO]   -> Found value: RD
[2026-01-15 02:20:04] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:20:04] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:20:04] [INFO]   -> No value found (null or empty)
[2026-01-15 02:20:04] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:20:04] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:20:04] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:20:04] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:20:04] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:20:04] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:20:04] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-15 02:20:04] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:20:04] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]"
[2026-01-15 02:20:04] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]"
[2026-01-15 02:20:04] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:20:04] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:20:04] [INFO]   -> Found value: MFD
[2026-01-15 02:20:04] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD"
[2026-01-15 02:20:04] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-15 02:20:04] [INFO] Concatenating street name and type
[2026-01-15 02:20:04] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:20:04] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:20:04] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":null,"policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]","cADAgencyIdentifier":"MFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:20:04] [INFO] Number of extracted fields: 20
[2026-01-15 02:20:04] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD'
[2026-01-15 02:20:04] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD', Parsed IDs = ["MFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-15 02:20:04] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD"]
[2026-01-15 02:20:04] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:20:04] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:20:04] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:20:04] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:20:04] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:20:05] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:20:05] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:20:05] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:20:05] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212004236.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212004236.xml
[2026-01-15 02:20:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212004236.xml
[2026-01-15 02:20:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212009298.xml
[2026-01-15 02:20:09] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212009298.xml for user: 68920395733981a47
[2026-01-15 02:20:09] [INFO] File size: 8400 bytes
[2026-01-15 02:20:09] [INFO] Created FTPFiles record with ID: 69684ed9ad0873e77
[2026-01-15 02:20:09] [INFO] About to extract fields from XML. File size: 8400 bytes
[2026-01-15 02:20:09] [INFO] Number of mappings: 24
[2026-01-15 02:20:09] [INFO] Starting XML parsing. Content length: 8400
[2026-01-15 02:20:09] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:20:09] [INFO] Processing 24 field mappings
[2026-01-15 02:20:09] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:20:09] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:20:09] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:20:09] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:20:09] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:20:09] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:20:09] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:20:09] [INFO]   -> Found value: 37379
[2026-01-15 02:20:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:20:09] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:20:09] [INFO]   -> Found value: 1005
[2026-01-15 02:20:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:20:09] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:20:09] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:20:09] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:20:09] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:20:09] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:20:09] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:20:09] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:20:09] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:20:09] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:20:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:20:09] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:20:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:20:09] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:20:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:20:09] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:20:09] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:20:09] [INFO]   -> Found value: 35.24051
[2026-01-15 02:20:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:20:09] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:20:09] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:20:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:20:09] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:20:09] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:20:09] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:20:09] [INFO]   -> Found value: H1400
[2026-01-15 02:20:09] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-01-15 02:20:09] [INFO]   -> Set field 'name' = "H1400"
[2026-01-15 02:20:09] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:20:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:20:09] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:20:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:20:09] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:20:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:20:09] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:20:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-15 02:20:09] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:20:09] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:20:09] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:20:05"
[2026-01-15 02:20:09] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:20:09] [INFO]   -> Found value: RD
[2026-01-15 02:20:09] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:20:09] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:20:09] [INFO]   -> Found value: 26-000013
[2026-01-15 02:20:09] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:20:09] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:20:09] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:20:09] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:20:09] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:20:09] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:20:09] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:20:09] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:20:09] [INFO] Found 5 elements for 'Comment', concatenating 5 non-empty values
[2026-01-15 02:20:09] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:20:09] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]"
[2026-01-15 02:20:09] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]"
[2026-01-15 02:20:09] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:20:09] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:20:09] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:20:09] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-15 02:20:09] [INFO]   -> Found value: MFD
MFD
[2026-01-15 02:20:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-01-15 02:20:09] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:20:09] [INFO] Concatenating street name and type
[2026-01-15 02:20:09] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:20:09] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:20:09] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-15 02:20:05","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:20:09] [INFO] Number of extracted fields: 29
[2026-01-15 02:20:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-01-15 02:20:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-15 02:20:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-01-15 02:20:09] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:20:09] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:20:09] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-01-15 02:20:10] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:20:10] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:20:10] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-15 02:20:10] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:20:10] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:20:10] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:20:10] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:20:10] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:20:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212009298.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212009298.xml
[2026-01-15 02:20:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212009298.xml
[2026-01-15 02:20:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212034621.xml
[2026-01-15 02:20:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212034621.xml for user: 68920395733981a47
[2026-01-15 02:20:34] [INFO] File size: 8508 bytes
[2026-01-15 02:20:35] [INFO] Created FTPFiles record with ID: 69684ef300f6e8475
[2026-01-15 02:20:35] [INFO] About to extract fields from XML. File size: 8508 bytes
[2026-01-15 02:20:35] [INFO] Number of mappings: 24
[2026-01-15 02:20:35] [INFO] Starting XML parsing. Content length: 8508
[2026-01-15 02:20:35] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:20:35] [INFO] Processing 24 field mappings
[2026-01-15 02:20:35] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:20:35] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:20:35] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:20:35] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:20:35] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:20:35] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:20:35] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:20:35] [INFO]   -> Found value: 37379
[2026-01-15 02:20:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:20:35] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:20:35] [INFO]   -> Found value: 1005
[2026-01-15 02:20:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:20:35] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:20:35] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:20:35] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:20:35] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:20:35] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:20:35] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:20:35] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:20:35] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:20:35] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:20:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:20:35] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:20:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:20:35] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:20:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:20:35] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:20:35] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:20:35] [INFO]   -> Found value: 35.24051
[2026-01-15 02:20:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:20:35] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:20:35] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:20:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:20:35] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:20:35] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:20:35] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:20:35] [INFO]   -> Found value: H1400
[2026-01-15 02:20:35] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-01-15 02:20:35] [INFO]   -> Set field 'name' = "H1400"
[2026-01-15 02:20:35] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:20:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:20:35] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:20:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:20:35] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:20:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:20:35] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:20:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-15 02:20:35] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:20:35] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:20:35] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:20:05"
[2026-01-15 02:20:35] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:20:35] [INFO]   -> Found value: RD
[2026-01-15 02:20:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:20:35] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:20:35] [INFO]   -> Found value: 26-000013
[2026-01-15 02:20:35] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:20:35] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:20:35] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:20:35] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:20:35] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:20:35] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:20:35] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:20:35] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:20:35] [INFO] Found 6 elements for 'Comment', concatenating 6 non-empty values
[2026-01-15 02:20:35] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:20:35] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]"
[2026-01-15 02:20:35] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]"
[2026-01-15 02:20:35] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:20:35] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:20:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:20:35] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-15 02:20:35] [INFO]   -> Found value: MFD
MFD
[2026-01-15 02:20:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-01-15 02:20:35] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:20:35] [INFO] Concatenating street name and type
[2026-01-15 02:20:35] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:20:35] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:20:35] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-15 02:20:05","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:20:35] [INFO] Number of extracted fields: 29
[2026-01-15 02:20:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-01-15 02:20:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-15 02:20:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-01-15 02:20:35] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:20:35] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:20:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-01-15 02:20:35] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:20:35] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:20:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-15 02:20:35] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:20:35] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:20:35] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:20:35] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:20:35] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:20:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212034621.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212034621.xml
[2026-01-15 02:20:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212034621.xml
[2026-01-15 02:20:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212049840.xml
[2026-01-15 02:20:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212049840.xml for user: 68920395733981a47
[2026-01-15 02:20:49] [INFO] File size: 8632 bytes
[2026-01-15 02:20:50] [INFO] Created FTPFiles record with ID: 69684f023d7bdc200
[2026-01-15 02:20:50] [INFO] About to extract fields from XML. File size: 8632 bytes
[2026-01-15 02:20:50] [INFO] Number of mappings: 24
[2026-01-15 02:20:50] [INFO] Starting XML parsing. Content length: 8632
[2026-01-15 02:20:50] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:20:50] [INFO] Processing 24 field mappings
[2026-01-15 02:20:50] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:20:50] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:20:50] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:20:50] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:20:50] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:20:50] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:20:50] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:20:50] [INFO]   -> Found value: 37379
[2026-01-15 02:20:50] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:20:50] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:20:50] [INFO]   -> Found value: 1005
[2026-01-15 02:20:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:20:50] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:20:50] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:20:50] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:20:50] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:20:50] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:20:50] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:20:50] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:20:50] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:20:50] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:20:50] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:20:50] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:20:50] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:20:50] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:20:50] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:20:50] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:20:50] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:20:50] [INFO]   -> Found value: 35.24051
[2026-01-15 02:20:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:20:50] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:20:50] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:20:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:20:50] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:20:50] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:20:50] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:20:50] [INFO]   -> Found value: H1400
[2026-01-15 02:20:50] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-01-15 02:20:50] [INFO]   -> Set field 'name' = "H1400"
[2026-01-15 02:20:50] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:20:50] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:20:50] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:20:50] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:20:50] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:20:50] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:20:50] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:20:50] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-15 02:20:50] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:20:50] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:20:50] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:20:05"
[2026-01-15 02:20:50] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:20:50] [INFO]   -> Found value: RD
[2026-01-15 02:20:50] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:20:50] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:20:50] [INFO]   -> Found value: 26-000013
[2026-01-15 02:20:50] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:20:50] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:20:50] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:20:50] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:20:50] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:20:50] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:20:50] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:20:50] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:20:50] [INFO] Found 7 elements for 'Comment', concatenating 7 non-empty values
[2026-01-15 02:20:50] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:20:50] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]"
[2026-01-15 02:20:50] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]"
[2026-01-15 02:20:50] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:20:50] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:20:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:20:50] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-15 02:20:50] [INFO]   -> Found value: MFD
MFD
[2026-01-15 02:20:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-01-15 02:20:50] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:20:50] [INFO] Concatenating street name and type
[2026-01-15 02:20:50] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:20:50] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:20:50] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-15 02:20:05","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:20:50] [INFO] Number of extracted fields: 29
[2026-01-15 02:20:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-01-15 02:20:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-15 02:20:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-01-15 02:20:50] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:20:50] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:20:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-01-15 02:20:50] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:20:50] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:20:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-15 02:20:50] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:20:50] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:20:50] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:20:50] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:20:51] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:20:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212049840.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212049840.xml
[2026-01-15 02:20:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212049840.xml
[2026-01-15 02:21:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212059965.xml
[2026-01-15 02:21:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212059965.xml for user: 68920395733981a47
[2026-01-15 02:21:00] [INFO] File size: 8729 bytes
[2026-01-15 02:21:00] [INFO] Created FTPFiles record with ID: 69684f0c59fec2142
[2026-01-15 02:21:00] [INFO] About to extract fields from XML. File size: 8729 bytes
[2026-01-15 02:21:00] [INFO] Number of mappings: 24
[2026-01-15 02:21:00] [INFO] Starting XML parsing. Content length: 8729
[2026-01-15 02:21:00] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:21:00] [INFO] Processing 24 field mappings
[2026-01-15 02:21:00] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:21:00] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:21:00] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:21:00] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:21:00] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:21:00] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:21:00] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:21:00] [INFO]   -> Found value: 37379
[2026-01-15 02:21:00] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:21:00] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:21:00] [INFO]   -> Found value: 1005
[2026-01-15 02:21:00] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:21:00] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:21:00] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:21:00] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:21:00] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:21:00] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:21:00] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:21:00] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:21:00] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:21:00] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:21:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:21:00] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:21:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:21:00] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:21:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:21:00] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:21:00] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:21:00] [INFO]   -> Found value: 35.24051
[2026-01-15 02:21:00] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:21:00] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:21:00] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:21:00] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:21:00] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:21:00] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:21:00] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:21:00] [INFO]   -> Found value: H1400
[2026-01-15 02:21:00] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-01-15 02:21:00] [INFO]   -> Set field 'name' = "H1400"
[2026-01-15 02:21:00] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:21:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:21:00] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:21:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:21:00] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:21:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:21:00] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:21:00] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-15 02:21:00] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:21:00] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:21:00] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:20:05"
[2026-01-15 02:21:00] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:21:00] [INFO]   -> Found value: RD
[2026-01-15 02:21:00] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:21:00] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:21:00] [INFO]   -> Found value: 26-000013
[2026-01-15 02:21:00] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:21:00] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:21:00] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:21:00] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:21:00] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:21:00] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:21:00] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:21:00] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:21:00] [INFO] Found 8 elements for 'Comment', concatenating 8 non-empty values
[2026-01-15 02:21:00] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:21:00] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]"
[2026-01-15 02:21:00] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]"
[2026-01-15 02:21:00] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:21:00] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:21:00] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:21:00] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-15 02:21:00] [INFO]   -> Found value: MFD
MFD
[2026-01-15 02:21:00] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-01-15 02:21:00] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:21:00] [INFO] Concatenating street name and type
[2026-01-15 02:21:00] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:21:00] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:21:00] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-15 02:20:05","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:21:00] [INFO] Number of extracted fields: 29
[2026-01-15 02:21:00] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-01-15 02:21:00] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-15 02:21:00] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-01-15 02:21:00] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:21:00] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:21:00] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-01-15 02:21:00] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:21:00] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:21:00] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-15 02:21:00] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:21:00] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:21:00] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:21:01] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:21:01] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:21:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212059965.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212059965.xml
[2026-01-15 02:21:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212059965.xml
[2026-01-15 02:21:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212115075.xml
[2026-01-15 02:21:15] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212115075.xml for user: 68920395733981a47
[2026-01-15 02:21:15] [INFO] File size: 8835 bytes
[2026-01-15 02:21:15] [INFO] Created FTPFiles record with ID: 69684f1b765a569c7
[2026-01-15 02:21:15] [INFO] About to extract fields from XML. File size: 8835 bytes
[2026-01-15 02:21:15] [INFO] Number of mappings: 24
[2026-01-15 02:21:15] [INFO] Starting XML parsing. Content length: 8835
[2026-01-15 02:21:15] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:21:15] [INFO] Processing 24 field mappings
[2026-01-15 02:21:15] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:21:15] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:21:15] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:21:15] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:21:15] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:21:15] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:21:15] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:21:15] [INFO]   -> Found value: 37379
[2026-01-15 02:21:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:21:15] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:21:15] [INFO]   -> Found value: 1005
[2026-01-15 02:21:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:21:15] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:21:15] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:21:15] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:21:15] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:21:15] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:21:15] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:21:15] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:21:15] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:21:15] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:21:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'enroute' = null
[2026-01-15 02:21:15] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:21:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:21:15] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:21:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:21:15] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:21:15] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:21:15] [INFO]   -> Found value: 35.24051
[2026-01-15 02:21:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:21:15] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:21:15] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:21:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:21:15] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:21:15] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:21:15] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:21:15] [INFO]   -> Found value: H1400
[2026-01-15 02:21:15] [INFO]   -> Set field 'cADVehicleID' = "H1400"
[2026-01-15 02:21:15] [INFO]   -> Set field 'name' = "H1400"
[2026-01-15 02:21:15] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:21:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:21:15] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:21:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:21:15] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:21:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:21:15] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:21:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-15 02:21:15] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:21:15] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:21:15] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:20:05"
[2026-01-15 02:21:15] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:21:15] [INFO]   -> Found value: RD
[2026-01-15 02:21:15] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:21:15] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:21:15] [INFO]   -> Found value: 26-000013
[2026-01-15 02:21:15] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:21:15] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:21:15] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:21:15] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:21:15] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:21:15] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:21:15] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:21:15] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:21:15] [INFO] Found 9 elements for 'Comment', concatenating 9 non-empty values
[2026-01-15 02:21:15] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:21:15] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]"
[2026-01-15 02:21:15] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]"
[2026-01-15 02:21:15] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:21:15] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:21:15] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:21:15] [INFO] Found 2 elements for 'AgencyIdentifier', concatenating 2 non-empty values
[2026-01-15 02:21:15] [INFO]   -> Found value: MFD
MFD
[2026-01-15 02:21:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD"
[2026-01-15 02:21:15] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:21:15] [INFO] Concatenating street name and type
[2026-01-15 02:21:15] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:21:15] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:21:15] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"H1400","name":"H1400","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-15 02:20:05","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]","cADAgencyIdentifier":"MFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:21:15] [INFO] Number of extracted fields: 29
[2026-01-15 02:21:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD'
[2026-01-15 02:21:15] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD', Parsed IDs = ["MFD","MFD"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 2
[2026-01-15 02:21:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD"]
[2026-01-15 02:21:15] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:21:15] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:21:15] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD"]
[2026-01-15 02:21:15] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:21:15] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:21:15] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-01-15 02:21:15] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:21:15] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:21:15] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:21:16] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:21:16] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:21:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212115075.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212115075.xml
[2026-01-15 02:21:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212115075.xml
[2026-01-15 02:22:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212230975.xml
[2026-01-15 02:22:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212230975.xml for user: 68920395733981a47
[2026-01-15 02:22:31] [INFO] File size: 11559 bytes
[2026-01-15 02:22:31] [INFO] Created FTPFiles record with ID: 69684f6780f315698
[2026-01-15 02:22:31] [INFO] About to extract fields from XML. File size: 11559 bytes
[2026-01-15 02:22:31] [INFO] Number of mappings: 24
[2026-01-15 02:22:31] [INFO] Starting XML parsing. Content length: 11559
[2026-01-15 02:22:31] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:22:31] [INFO] Processing 24 field mappings
[2026-01-15 02:22:31] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:22:31] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:22:31] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:22:31] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:22:31] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:22:31] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:22:31] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:22:31] [INFO]   -> Found value: 37379
[2026-01-15 02:22:31] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:22:31] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:22:31] [INFO]   -> Found value: 1005
[2026-01-15 02:22:31] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:22:31] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:22:31] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:22:31] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:22:31] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:22:31] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:22:31] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:22:31] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:22:31] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:22:31] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:22:31] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:22:31] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:22:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:22:31] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:22:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:22:31] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:22:31] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:22:31] [INFO]   -> Found value: 35.24051
[2026-01-15 02:22:31] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:22:31] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:22:31] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:22:31] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:22:31] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:22:31] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:22:31] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:22:31] [INFO]   -> Found value: S4MF
[2026-01-15 02:22:31] [INFO]   -> Set field 'cADVehicleID' = "S4MF"
[2026-01-15 02:22:31] [INFO]   -> Set field 'name' = "S4MF"
[2026-01-15 02:22:31] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:22:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:22:31] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:22:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:22:31] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:22:31] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:22:31] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:22:31] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:27"
[2026-01-15 02:22:31] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:22:31] [INFO]   -> Found value: 2026-01-14T21:22:27.21-05:00
[2026-01-15 02:22:31] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:27"
[2026-01-15 02:22:31] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:22:31] [INFO]   -> Found value: RD
[2026-01-15 02:22:31] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:22:31] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:22:31] [INFO]   -> Found value: 26-000013
[2026-01-15 02:22:31] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:22:31] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:22:31] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:22:31] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:22:31] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:22:31] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:22:31] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:22:31] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:22:31] [INFO] Found 9 elements for 'Comment', concatenating 9 non-empty values
[2026-01-15 02:22:31] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:22:31] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]"
[2026-01-15 02:22:31] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]"
[2026-01-15 02:22:31] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:22:31] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:22:31] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:22:31] [INFO] Found 3 elements for 'AgencyIdentifier', concatenating 3 non-empty values
[2026-01-15 02:22:31] [INFO]   -> Found value: MFD
MFD
MFD
[2026-01-15 02:22:31] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD"
[2026-01-15 02:22:31] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:22:31] [INFO] Concatenating street name and type
[2026-01-15 02:22:31] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:22:31] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:22:31] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S4MF","name":"S4MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:27","timedispatch":"2026-01-15 02:22:27","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:22:31] [INFO] Number of extracted fields: 29
[2026-01-15 02:22:31] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD'
[2026-01-15 02:22:31] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 2
[2026-01-15 02:22:31] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD"]
[2026-01-15 02:22:31] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:22:31] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:22:31] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD"]
[2026-01-15 02:22:31] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:22:31] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:22:31] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 02:22:31] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:22:31] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:22:31] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:22:32] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:22:32] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:22:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212230975.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212230975.xml
[2026-01-15 02:22:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212230975.xml
[2026-01-15 02:22:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212251211.xml
[2026-01-15 02:22:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212251211.xml for user: 68920395733981a47
[2026-01-15 02:22:51] [INFO] File size: 14087 bytes
[2026-01-15 02:22:51] [INFO] Created FTPFiles record with ID: 69684f7b96ca9033f
[2026-01-15 02:22:51] [INFO] About to extract fields from XML. File size: 14087 bytes
[2026-01-15 02:22:51] [INFO] Number of mappings: 24
[2026-01-15 02:22:51] [INFO] Starting XML parsing. Content length: 14087
[2026-01-15 02:22:51] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:22:51] [INFO] Processing 24 field mappings
[2026-01-15 02:22:51] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:22:51] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:22:51] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:22:51] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:22:51] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:22:51] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:22:51] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:22:51] [INFO]   -> Found value: 37379
[2026-01-15 02:22:51] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:22:51] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:22:51] [INFO]   -> Found value: 1005
[2026-01-15 02:22:51] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:22:51] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:22:51] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:22:51] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:22:51] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:22:51] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:22:51] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:22:51] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:22:51] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:22:51] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:22:51] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:22:51] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:22:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:22:51] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:22:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:22:51] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:22:51] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:22:51] [INFO]   -> Found value: 35.24051
[2026-01-15 02:22:51] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:22:51] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:22:51] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:22:51] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:22:51] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:22:51] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:22:51] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:22:51] [INFO]   -> Found value: S1MF
[2026-01-15 02:22:51] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:22:51] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:22:51] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:22:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:22:51] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:22:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:22:51] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:22:51] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:22:51] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:22:51] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:22:51] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:22:51] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:22:51] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:22:51] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:22:51] [INFO]   -> Found value: RD
[2026-01-15 02:22:51] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:22:51] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:22:51] [INFO]   -> Found value: 26-000013
[2026-01-15 02:22:51] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:22:51] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:22:51] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:22:51] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:22:51] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:22:51] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:22:51] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:22:51] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:22:51] [INFO] Found 9 elements for 'Comment', concatenating 9 non-empty values
[2026-01-15 02:22:51] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:22:51] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]"
[2026-01-15 02:22:51] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]"
[2026-01-15 02:22:51] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:22:51] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:22:51] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:22:51] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:22:51] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:22:51] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:22:51] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:22:51] [INFO] Concatenating street name and type
[2026-01-15 02:22:51] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:22:51] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:22:51] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:22:51] [INFO] Number of extracted fields: 29
[2026-01-15 02:22:51] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:22:51] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:22:51] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:22:51] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:22:51] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:22:51] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:22:51] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:22:51] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:22:51] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:22:51] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:22:51] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:22:52] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:22:52] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:22:52] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:22:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212251211.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212251211.xml
[2026-01-15 02:22:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212251211.xml
[2026-01-15 02:23:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212306336.xml
[2026-01-15 02:23:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212306336.xml for user: 68920395733981a47
[2026-01-15 02:23:06] [INFO] File size: 14219 bytes
[2026-01-15 02:23:06] [INFO] Created FTPFiles record with ID: 69684f8ab556acc29
[2026-01-15 02:23:06] [INFO] About to extract fields from XML. File size: 14219 bytes
[2026-01-15 02:23:06] [INFO] Number of mappings: 24
[2026-01-15 02:23:06] [INFO] Starting XML parsing. Content length: 14219
[2026-01-15 02:23:06] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:23:06] [INFO] Processing 24 field mappings
[2026-01-15 02:23:06] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:23:06] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:23:06] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:23:06] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:23:06] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:23:06] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:23:06] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:23:06] [INFO]   -> Found value: 37379
[2026-01-15 02:23:06] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:23:06] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:23:06] [INFO]   -> Found value: 1005
[2026-01-15 02:23:06] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:23:06] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:23:06] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:23:06] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:23:06] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:23:06] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:23:06] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:23:06] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:23:06] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:23:06] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:23:06] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:23:06] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:23:06] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'onScene' = null
[2026-01-15 02:23:06] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:23:06] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:23:06] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:23:06] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:23:06] [INFO]   -> Found value: 35.24051
[2026-01-15 02:23:06] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:23:06] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:23:06] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:23:06] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:23:06] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:23:06] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:23:06] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:23:06] [INFO]   -> Found value: S1MF
[2026-01-15 02:23:06] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:23:06] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:23:06] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:23:06] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:23:06] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:23:06] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'timeonscene' = null
[2026-01-15 02:23:06] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:23:06] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:23:06] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:23:06] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:23:06] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:23:06] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:23:06] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:23:06] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:23:06] [INFO]   -> Found value: RD
[2026-01-15 02:23:06] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:23:06] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:23:06] [INFO]   -> Found value: 26-000013
[2026-01-15 02:23:06] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:23:06] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:23:06] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:23:06] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:23:06] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:23:06] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:23:06] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:23:06] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:23:06] [INFO] Found 10 elements for 'Comment', concatenating 10 non-empty values
[2026-01-15 02:23:06] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:23:06] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]"
[2026-01-15 02:23:06] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]"
[2026-01-15 02:23:06] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:23:06] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:23:06] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:23:06] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:23:06] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:23:06] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:23:06] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:23:06] [INFO] Concatenating street name and type
[2026-01-15 02:23:06] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:23:06] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:23:06] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:23:06] [INFO] Number of extracted fields: 29
[2026-01-15 02:23:06] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:23:06] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:23:06] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:23:06] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:23:06] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:23:06] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:23:07] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:23:07] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:23:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:23:07] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:23:07] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:23:07] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:23:07] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:23:07] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:23:07] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212306336.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212306336.xml
[2026-01-15 02:23:07] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212306336.xml
[2026-01-15 02:28:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212804652.xml
[2026-01-15 02:28:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212804652.xml for user: 68920395733981a47
[2026-01-15 02:28:04] [INFO] File size: 14460 bytes
[2026-01-15 02:28:05] [INFO] Created FTPFiles record with ID: 696850b539fef3b5b
[2026-01-15 02:28:05] [INFO] About to extract fields from XML. File size: 14460 bytes
[2026-01-15 02:28:05] [INFO] Number of mappings: 24
[2026-01-15 02:28:05] [INFO] Starting XML parsing. Content length: 14460
[2026-01-15 02:28:05] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:28:05] [INFO] Processing 24 field mappings
[2026-01-15 02:28:05] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:28:05] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:28:05] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:28:05] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:28:05] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:28:05] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:28:05] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:28:05] [INFO]   -> Found value: 37379
[2026-01-15 02:28:05] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:28:05] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:28:05] [INFO]   -> Found value: 1005
[2026-01-15 02:28:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:28:05] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:28:05] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:28:05] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:28:05] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:28:05] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:28:05] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:28:05] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:28:05] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:28:05] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:28:05] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:28:05] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:28:05] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:28:05] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:28:05] [INFO]   -> Found value: 35.24051
[2026-01-15 02:28:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:28:05] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:28:05] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:28:05] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:28:05] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:28:05] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:28:05] [INFO]   -> Found value: S1MF
[2026-01-15 02:28:05] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:28:05] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:28:05] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:28:05] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:28:05] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:28:05] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:28:05] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:28:05] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:28:05] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:28:05] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:28:05] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:28:05] [INFO]   -> Found value: RD
[2026-01-15 02:28:05] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:28:05] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:28:05] [INFO]   -> Found value: 26-000013
[2026-01-15 02:28:05] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:28:05] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:28:05] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:28:05] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:28:05] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:28:05] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:28:05] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:28:05] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:28:05] [INFO] Found 11 elements for 'Comment', concatenating 11 non-empty values
[2026-01-15 02:28:05] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:28:05] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]"
[2026-01-15 02:28:05] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]"
[2026-01-15 02:28:05] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:28:05] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:28:05] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:28:05] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:28:05] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:28:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:28:05] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:28:05] [INFO] Concatenating street name and type
[2026-01-15 02:28:05] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:28:05] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:28:05] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:28:05] [INFO] Number of extracted fields: 29
[2026-01-15 02:28:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:28:05] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:28:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:28:05] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:28:05] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:28:05] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:28:05] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:28:05] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:28:05] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:28:05] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:28:05] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:28:05] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:28:05] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:28:06] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:28:06] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212804652.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212804652.xml
[2026-01-15 02:28:06] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212804652.xml
[2026-01-15 02:28:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212824906.xml
[2026-01-15 02:28:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212824906.xml for user: 68920395733981a47
[2026-01-15 02:28:25] [INFO] File size: 14568 bytes
[2026-01-15 02:28:25] [INFO] Created FTPFiles record with ID: 696850c94dbec15da
[2026-01-15 02:28:25] [INFO] About to extract fields from XML. File size: 14568 bytes
[2026-01-15 02:28:25] [INFO] Number of mappings: 24
[2026-01-15 02:28:25] [INFO] Starting XML parsing. Content length: 14568
[2026-01-15 02:28:25] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:28:25] [INFO] Processing 24 field mappings
[2026-01-15 02:28:25] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:28:25] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:28:25] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:28:25] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:28:25] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:28:25] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:28:25] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:28:25] [INFO]   -> Found value: 37379
[2026-01-15 02:28:25] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:28:25] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:28:25] [INFO]   -> Found value: 1005
[2026-01-15 02:28:25] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:28:25] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:28:25] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:28:25] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:28:25] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:28:25] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:28:25] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:28:25] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:28:25] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:28:25] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:28:25] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:28:25] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:28:25] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:28:25] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:28:25] [INFO]   -> Found value: 35.24051
[2026-01-15 02:28:25] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:28:25] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:28:25] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:28:25] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:28:25] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:28:25] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:28:25] [INFO]   -> Found value: S1MF
[2026-01-15 02:28:25] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:28:25] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:28:25] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:28:25] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:28:25] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:28:25] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:28:25] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:28:25] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:28:25] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:28:25] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:28:25] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:28:25] [INFO]   -> Found value: RD
[2026-01-15 02:28:25] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:28:25] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:28:25] [INFO]   -> Found value: 26-000013
[2026-01-15 02:28:25] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:28:25] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:28:25] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:28:25] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:28:25] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:28:25] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:28:25] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:28:25] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:28:25] [INFO] Found 12 elements for 'Comment', concatenating 12 non-empty values
[2026-01-15 02:28:25] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:28:25] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]"
[2026-01-15 02:28:25] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]"
[2026-01-15 02:28:25] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:28:25] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:28:25] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:28:25] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:28:25] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:28:25] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:28:25] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:28:25] [INFO] Concatenating street name and type
[2026-01-15 02:28:25] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:28:25] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:28:25] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:28:25] [INFO] Number of extracted fields: 29
[2026-01-15 02:28:25] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:28:25] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:28:25] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:28:25] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:28:25] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:28:25] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:28:25] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:28:25] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:28:25] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:28:25] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:28:25] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:28:25] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:28:25] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:28:26] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:28:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212824906.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114212824906.xml
[2026-01-15 02:28:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114212824906.xml
[2026-01-15 02:30:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213011194.xml
[2026-01-15 02:30:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213011194.xml for user: 68920395733981a47
[2026-01-15 02:30:11] [INFO] File size: 14690 bytes
[2026-01-15 02:30:11] [INFO] Created FTPFiles record with ID: 69685133bf51f47c1
[2026-01-15 02:30:11] [INFO] About to extract fields from XML. File size: 14690 bytes
[2026-01-15 02:30:11] [INFO] Number of mappings: 24
[2026-01-15 02:30:11] [INFO] Starting XML parsing. Content length: 14690
[2026-01-15 02:30:11] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:30:11] [INFO] Processing 24 field mappings
[2026-01-15 02:30:11] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:30:11] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:30:11] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:30:11] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:30:11] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:30:11] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:30:11] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:30:11] [INFO]   -> Found value: 37379
[2026-01-15 02:30:11] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:30:11] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:30:11] [INFO]   -> Found value: 1005
[2026-01-15 02:30:11] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:30:11] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:30:11] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:30:11] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:30:11] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:30:11] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:30:11] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:30:11] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:30:11] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:30:11] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:30:11] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:30:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:30:11] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:30:11] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:30:11] [INFO]   -> Found value: 35.24051
[2026-01-15 02:30:11] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:30:11] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:30:11] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:30:11] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:30:11] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:30:11] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:30:11] [INFO]   -> Found value: S1MF
[2026-01-15 02:30:11] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:30:11] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:30:11] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:30:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:30:11] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:30:11] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:30:11] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:30:11] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:30:11] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:30:11] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:30:11] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:30:11] [INFO]   -> Found value: RD
[2026-01-15 02:30:11] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:30:11] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:30:11] [INFO]   -> Found value: 26-000013
[2026-01-15 02:30:11] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:30:11] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:30:11] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:30:11] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:30:11] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:30:11] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:30:11] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:30:11] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:30:11] [INFO] Found 13 elements for 'Comment', concatenating 13 non-empty values
[2026-01-15 02:30:11] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:30:11] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]"
[2026-01-15 02:30:11] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]"
[2026-01-15 02:30:11] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:30:11] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:30:11] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:30:11] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:30:11] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:30:11] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:30:11] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:30:11] [INFO] Concatenating street name and type
[2026-01-15 02:30:11] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:30:11] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:30:11] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:30:11] [INFO] Number of extracted fields: 29
[2026-01-15 02:30:11] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:30:11] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:30:11] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:30:11] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:30:11] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:30:11] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:30:12] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:30:12] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:30:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:30:12] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:30:12] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:30:12] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:30:12] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:30:12] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:30:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213011194.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114213011194.xml
[2026-01-15 02:30:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213011194.xml
[2026-01-15 02:31:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213106801.xml
[2026-01-15 02:31:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213106801.xml for user: 68920395733981a47
[2026-01-15 02:31:06] [INFO] File size: 14787 bytes
[2026-01-15 02:31:07] [INFO] Created FTPFiles record with ID: 6968516b336316fad
[2026-01-15 02:31:07] [INFO] About to extract fields from XML. File size: 14787 bytes
[2026-01-15 02:31:07] [INFO] Number of mappings: 24
[2026-01-15 02:31:07] [INFO] Starting XML parsing. Content length: 14787
[2026-01-15 02:31:07] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:31:07] [INFO] Processing 24 field mappings
[2026-01-15 02:31:07] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:31:07] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:31:07] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:31:07] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:31:07] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:31:07] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:31:07] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:31:07] [INFO]   -> Found value: 37379
[2026-01-15 02:31:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:31:07] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:31:07] [INFO]   -> Found value: 1005
[2026-01-15 02:31:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:31:07] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:31:07] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:31:07] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:31:07] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:31:07] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:31:07] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:31:07] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:31:07] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:31:07] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:31:07] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:31:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:31:07] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:31:07] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:31:07] [INFO]   -> Found value: 35.24051
[2026-01-15 02:31:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:31:07] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:31:07] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:31:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:31:07] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:31:07] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:31:07] [INFO]   -> Found value: S1MF
[2026-01-15 02:31:07] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:31:07] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:31:07] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:31:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:31:07] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:31:07] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:31:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:31:07] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:31:07] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:31:07] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:31:07] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:31:07] [INFO]   -> Found value: RD
[2026-01-15 02:31:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:31:07] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:31:07] [INFO]   -> Found value: 26-000013
[2026-01-15 02:31:07] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:31:07] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:31:07] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:31:07] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:31:07] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:31:07] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:31:07] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:31:07] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:31:07] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-01-15 02:31:07] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:31:07] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]"
[2026-01-15 02:31:07] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]"
[2026-01-15 02:31:07] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:31:07] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:31:07] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:31:07] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:31:07] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:31:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:31:07] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:31:07] [INFO] Concatenating street name and type
[2026-01-15 02:31:07] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:31:07] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:31:07] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:31:07] [INFO] Number of extracted fields: 29
[2026-01-15 02:31:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:31:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:31:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:31:07] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:31:07] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:31:07] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:31:07] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:31:07] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:31:07] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:31:07] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:31:07] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:31:07] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:31:07] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:31:08] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:31:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213106801.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114213106801.xml
[2026-01-15 02:31:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213106801.xml
[2026-01-15 02:31:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213111863.xml
[2026-01-15 02:31:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213111863.xml for user: 68920395733981a47
[2026-01-15 02:31:11] [INFO] File size: 14862 bytes
[2026-01-15 02:31:12] [INFO] Created FTPFiles record with ID: 69685170433e92258
[2026-01-15 02:31:12] [INFO] About to extract fields from XML. File size: 14862 bytes
[2026-01-15 02:31:12] [INFO] Number of mappings: 24
[2026-01-15 02:31:12] [INFO] Starting XML parsing. Content length: 14862
[2026-01-15 02:31:12] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:31:12] [INFO] Processing 24 field mappings
[2026-01-15 02:31:12] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:31:12] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:31:12] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:31:12] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:31:12] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:31:12] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:31:12] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:31:12] [INFO]   -> Found value: 37379
[2026-01-15 02:31:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:31:12] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:31:12] [INFO]   -> Found value: 1005
[2026-01-15 02:31:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:31:12] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:31:12] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:31:12] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:31:12] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:31:12] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:31:12] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:31:12] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:31:12] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:31:12] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:31:12] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:31:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:31:12] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:31:12] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:31:12] [INFO]   -> Found value: 35.24051
[2026-01-15 02:31:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:31:12] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:31:12] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:31:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:31:12] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:31:12] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:31:12] [INFO]   -> Found value: S1MF
[2026-01-15 02:31:12] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:31:12] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:31:12] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:31:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:31:12] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:31:12] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:31:12] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:31:12] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:31:12] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:31:12] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:31:12] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:31:12] [INFO]   -> Found value: RD
[2026-01-15 02:31:12] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:31:12] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:31:12] [INFO]   -> Found value: 26-000013
[2026-01-15 02:31:12] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:31:12] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:31:12] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:31:12] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:31:12] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:31:12] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:31:12] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:31:12] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:31:12] [INFO] Found 14 elements for 'Comment', concatenating 14 non-empty values
[2026-01-15 02:31:12] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:31:12] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]"
[2026-01-15 02:31:12] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]"
[2026-01-15 02:31:12] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:31:12] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:31:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:31:12] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:31:12] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:31:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:31:12] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:31:12] [INFO] Concatenating street name and type
[2026-01-15 02:31:12] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:31:12] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:31:12] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:31:12] [INFO] Number of extracted fields: 29
[2026-01-15 02:31:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:31:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:31:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:31:12] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:31:12] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:31:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:31:12] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:31:12] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:31:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:31:12] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:31:12] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:31:12] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:31:12] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:31:13] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:31:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213111863.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114213111863.xml
[2026-01-15 02:31:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213111863.xml
[2026-01-15 02:32:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213227728.xml
[2026-01-15 02:32:28] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213227728.xml for user: 68920395733981a47
[2026-01-15 02:32:28] [INFO] File size: 14946 bytes
[2026-01-15 02:32:28] [INFO] Created FTPFiles record with ID: 696851bc4f8957d8e
[2026-01-15 02:32:28] [INFO] About to extract fields from XML. File size: 14946 bytes
[2026-01-15 02:32:28] [INFO] Number of mappings: 24
[2026-01-15 02:32:28] [INFO] Starting XML parsing. Content length: 14946
[2026-01-15 02:32:28] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:32:28] [INFO] Processing 24 field mappings
[2026-01-15 02:32:28] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:32:28] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:32:28] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:32:28] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:32:28] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:32:28] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:32:28] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:32:28] [INFO]   -> Found value: 37379
[2026-01-15 02:32:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:32:28] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:32:28] [INFO]   -> Found value: 1005
[2026-01-15 02:32:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:32:28] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:32:28] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:32:28] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:32:28] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:32:28] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:32:28] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:32:28] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:32:28] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:32:28] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:32:28] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:32:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:32:28] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:32:28] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:32:28] [INFO]   -> Found value: 35.24051
[2026-01-15 02:32:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:32:28] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:32:28] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:32:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:32:28] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:32:28] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:32:28] [INFO]   -> Found value: S1MF
[2026-01-15 02:32:28] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:32:28] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:32:28] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:32:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:32:28] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:32:28] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:32:28] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:32:28] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:32:28] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:32:28] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:32:28] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:32:28] [INFO]   -> Found value: RD
[2026-01-15 02:32:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:32:28] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:32:28] [INFO]   -> Found value: 26-000013
[2026-01-15 02:32:28] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:32:28] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:32:28] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:32:28] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:32:28] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:32:28] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:32:28] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:32:28] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:32:28] [INFO] Found 15 elements for 'Comment', concatenating 15 non-empty values
[2026-01-15 02:32:28] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:32:28] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]"
[2026-01-15 02:32:28] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]"
[2026-01-15 02:32:28] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:32:28] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:32:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:32:28] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:32:28] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:32:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:32:28] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:32:28] [INFO] Concatenating street name and type
[2026-01-15 02:32:28] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:32:28] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:32:28] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:32:28] [INFO] Number of extracted fields: 29
[2026-01-15 02:32:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:32:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:32:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:32:28] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:32:28] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:32:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:32:28] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:32:28] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:32:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:32:28] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:32:28] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:32:28] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:32:28] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:32:29] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:32:29] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213227728.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114213227728.xml
[2026-01-15 02:32:29] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114213227728.xml
[2026-01-15 02:44:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114214435449.xml
[2026-01-15 02:44:37] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114214435449.xml for user: 68920395733981a47
[2026-01-15 02:44:37] [INFO] File size: 15082 bytes
[2026-01-15 02:44:38] [INFO] Created FTPFiles record with ID: 696854963b3be624d
[2026-01-15 02:44:38] [INFO] About to extract fields from XML. File size: 15082 bytes
[2026-01-15 02:44:38] [INFO] Number of mappings: 24
[2026-01-15 02:44:38] [INFO] Starting XML parsing. Content length: 15082
[2026-01-15 02:44:38] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:44:38] [INFO] Processing 24 field mappings
[2026-01-15 02:44:38] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:44:38] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:44:38] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:44:38] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:44:38] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:44:38] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:44:38] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:44:38] [INFO]   -> Found value: 37379
[2026-01-15 02:44:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:44:38] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:44:38] [INFO]   -> Found value: 1005
[2026-01-15 02:44:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:44:38] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:44:38] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:44:38] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:44:38] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:44:38] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:44:38] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:44:38] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:44:38] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:44:38] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:44:38] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:44:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:44:38] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:44:38] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:44:38] [INFO]   -> Found value: 35.24051
[2026-01-15 02:44:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:44:38] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:44:38] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:44:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:44:38] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:44:38] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:44:38] [INFO]   -> Found value: S1MF
[2026-01-15 02:44:38] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:44:38] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:44:38] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:44:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:44:38] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:44:38] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:44:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:44:38] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:44:38] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:44:38] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:44:38] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:44:38] [INFO]   -> Found value: RD
[2026-01-15 02:44:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:44:38] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:44:38] [INFO]   -> Found value: 26-000013
[2026-01-15 02:44:38] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:44:38] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:44:38] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:44:38] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:44:38] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:44:38] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:44:38] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:44:38] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:44:38] [INFO] Found 15 elements for 'Comment', concatenating 15 non-empty values
[2026-01-15 02:44:38] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:44:38] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]"
[2026-01-15 02:44:38] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]"
[2026-01-15 02:44:38] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:44:38] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:44:38] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:44:38] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:44:38] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:44:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:44:38] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:44:38] [INFO] Concatenating street name and type
[2026-01-15 02:44:38] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:44:38] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:44:38] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:44:38] [INFO] Number of extracted fields: 29
[2026-01-15 02:44:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:44:38] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:44:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:44:38] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:44:38] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:44:38] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:44:38] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:44:38] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:44:38] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:44:38] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:44:38] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:44:38] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:44:38] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:44:39] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:44:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114214435449.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114214435449.xml
[2026-01-15 02:44:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114214435449.xml
[2026-01-15 02:57:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114215754617.xml
[2026-01-15 02:57:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114215754617.xml for user: 68920395733981a47
[2026-01-15 02:57:56] [INFO] File size: 15203 bytes
[2026-01-15 02:57:57] [INFO] Created FTPFiles record with ID: 696857b53a8d256a4
[2026-01-15 02:57:57] [INFO] About to extract fields from XML. File size: 15203 bytes
[2026-01-15 02:57:57] [INFO] Number of mappings: 24
[2026-01-15 02:57:57] [INFO] Starting XML parsing. Content length: 15203
[2026-01-15 02:57:57] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 02:57:57] [INFO] Processing 24 field mappings
[2026-01-15 02:57:57] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 02:57:57] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 02:57:57] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 02:57:57] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 02:57:57] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 02:57:57] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 02:57:57] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 02:57:57] [INFO]   -> Found value: 37379
[2026-01-15 02:57:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 02:57:57] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 02:57:57] [INFO]   -> Found value: 1005
[2026-01-15 02:57:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 02:57:57] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 02:57:57] [INFO]   -> Found value: MONTLAKE
[2026-01-15 02:57:57] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 02:57:57] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 02:57:57] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 02:57:57] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 02:57:57] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 02:57:57] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 02:57:57] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 02:57:57] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 02:57:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'cleared' = null
[2026-01-15 02:57:57] [INFO]   -> Set field 'inService' = null
[2026-01-15 02:57:57] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 02:57:57] [INFO]   -> Found value: 35.24051
[2026-01-15 02:57:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 02:57:57] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 02:57:57] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 02:57:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 02:57:57] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 02:57:57] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 02:57:57] [INFO]   -> Found value: S1MF
[2026-01-15 02:57:57] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 02:57:57] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 02:57:57] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 02:57:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 02:57:57] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 02:57:57] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 02:57:57] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 02:57:57] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 02:57:57] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 02:57:57] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 02:57:57] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 02:57:57] [INFO]   -> Found value: RD
[2026-01-15 02:57:57] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 02:57:57] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 02:57:57] [INFO]   -> Found value: 26-000013
[2026-01-15 02:57:57] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 02:57:57] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 02:57:57] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 02:57:57] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 02:57:57] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 02:57:57] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 02:57:57] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 02:57:57] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 02:57:57] [INFO] Found 16 elements for 'Comment', concatenating 16 non-empty values
[2026-01-15 02:57:57] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 02:57:57] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]"
[2026-01-15 02:57:57] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]"
[2026-01-15 02:57:57] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 02:57:57] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 02:57:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 02:57:57] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 02:57:57] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 02:57:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 02:57:57] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 02:57:57] [INFO] Concatenating street name and type
[2026-01-15 02:57:57] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 02:57:57] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 02:57:57] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 02:57:57] [INFO] Number of extracted fields: 29
[2026-01-15 02:57:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 02:57:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 02:57:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 02:57:57] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 02:57:57] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 02:57:57] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 02:57:57] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 02:57:57] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 02:57:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 02:57:57] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 02:57:57] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 02:57:57] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 02:57:57] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 02:57:58] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 02:57:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114215754617.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114215754617.xml
[2026-01-15 02:57:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114215754617.xml
[2026-01-15 03:38:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114223832377.xml
[2026-01-15 03:38:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114223832377.xml for user: 68920395733981a47
[2026-01-15 03:38:34] [INFO] File size: 15305 bytes
[2026-01-15 03:38:35] [INFO] Created FTPFiles record with ID: 6968613b2138fc480
[2026-01-15 03:38:35] [INFO] About to extract fields from XML. File size: 15305 bytes
[2026-01-15 03:38:35] [INFO] Number of mappings: 24
[2026-01-15 03:38:35] [INFO] Starting XML parsing. Content length: 15305
[2026-01-15 03:38:35] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 03:38:35] [INFO] Processing 24 field mappings
[2026-01-15 03:38:35] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 03:38:35] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 03:38:35] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 03:38:35] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 03:38:35] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 03:38:35] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 03:38:35] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 03:38:35] [INFO]   -> Found value: 37379
[2026-01-15 03:38:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 03:38:35] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 03:38:35] [INFO]   -> Found value: 1005
[2026-01-15 03:38:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 03:38:35] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 03:38:35] [INFO]   -> Found value: MONTLAKE
[2026-01-15 03:38:35] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 03:38:35] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 03:38:35] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 03:38:35] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 03:38:35] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 03:38:35] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 03:38:35] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 03:38:35] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 03:38:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'cleared' = null
[2026-01-15 03:38:35] [INFO]   -> Set field 'inService' = null
[2026-01-15 03:38:35] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 03:38:35] [INFO]   -> Found value: 35.24051
[2026-01-15 03:38:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 03:38:35] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 03:38:35] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 03:38:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 03:38:35] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 03:38:35] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 03:38:35] [INFO]   -> Found value: S1MF
[2026-01-15 03:38:35] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 03:38:35] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 03:38:35] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 03:38:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 03:38:35] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 03:38:35] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 03:38:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 03:38:35] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 03:38:35] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 03:38:35] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 03:38:35] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 03:38:35] [INFO]   -> Found value: RD
[2026-01-15 03:38:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 03:38:35] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 03:38:35] [INFO]   -> Found value: 26-000013
[2026-01-15 03:38:35] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 03:38:35] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 03:38:35] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 03:38:35] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 03:38:35] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 03:38:35] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 03:38:35] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 03:38:35] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 03:38:35] [INFO] Found 17 elements for 'Comment', concatenating 17 non-empty values
[2026-01-15 03:38:35] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 03:38:35] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]"
[2026-01-15 03:38:35] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]"
[2026-01-15 03:38:35] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 03:38:35] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 03:38:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 03:38:35] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 03:38:35] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 03:38:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 03:38:35] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 03:38:35] [INFO] Concatenating street name and type
[2026-01-15 03:38:35] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 03:38:35] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 03:38:35] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 03:38:35] [INFO] Number of extracted fields: 29
[2026-01-15 03:38:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 03:38:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 03:38:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 03:38:35] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 03:38:35] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 03:38:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 03:38:35] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 03:38:35] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 03:38:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 03:38:35] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 03:38:35] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 03:38:35] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 03:38:35] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 03:38:35] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 03:38:35] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114223832377.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114223832377.xml
[2026-01-15 03:38:35] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114223832377.xml
[2026-01-15 03:52:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114225252017.xml
[2026-01-15 03:52:54] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114225252017.xml for user: 68920395733981a47
[2026-01-15 03:52:54] [INFO] File size: 15420 bytes
[2026-01-15 03:52:54] [INFO] Created FTPFiles record with ID: 69686496a24f32e2a
[2026-01-15 03:52:54] [INFO] About to extract fields from XML. File size: 15420 bytes
[2026-01-15 03:52:54] [INFO] Number of mappings: 24
[2026-01-15 03:52:54] [INFO] Starting XML parsing. Content length: 15420
[2026-01-15 03:52:54] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 03:52:54] [INFO] Processing 24 field mappings
[2026-01-15 03:52:54] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 03:52:54] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 03:52:54] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 03:52:54] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 03:52:54] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 03:52:54] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 03:52:54] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 03:52:54] [INFO]   -> Found value: 37379
[2026-01-15 03:52:54] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 03:52:54] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 03:52:54] [INFO]   -> Found value: 1005
[2026-01-15 03:52:54] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 03:52:54] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 03:52:54] [INFO]   -> Found value: MONTLAKE
[2026-01-15 03:52:54] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 03:52:54] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 03:52:54] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 03:52:54] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 03:52:54] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 03:52:54] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 03:52:54] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 03:52:54] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 03:52:54] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'cleared' = null
[2026-01-15 03:52:54] [INFO]   -> Set field 'inService' = null
[2026-01-15 03:52:54] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 03:52:54] [INFO]   -> Found value: 35.24051
[2026-01-15 03:52:54] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 03:52:54] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 03:52:54] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 03:52:54] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 03:52:54] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 03:52:54] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 03:52:54] [INFO]   -> Found value: S1MF
[2026-01-15 03:52:54] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 03:52:54] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 03:52:54] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 03:52:54] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 03:52:54] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 03:52:54] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 03:52:54] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 03:52:54] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 03:52:54] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 03:52:54] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 03:52:54] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 03:52:54] [INFO]   -> Found value: RD
[2026-01-15 03:52:54] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 03:52:54] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 03:52:54] [INFO]   -> Found value: 26-000013
[2026-01-15 03:52:54] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 03:52:54] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 03:52:54] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 03:52:54] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 03:52:54] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 03:52:54] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 03:52:54] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 03:52:54] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 03:52:54] [INFO] Found 18 elements for 'Comment', concatenating 18 non-empty values
[2026-01-15 03:52:54] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 03:52:54] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]"
[2026-01-15 03:52:54] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]"
[2026-01-15 03:52:54] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 03:52:54] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 03:52:54] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 03:52:54] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 03:52:54] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 03:52:54] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 03:52:54] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 03:52:54] [INFO] Concatenating street name and type
[2026-01-15 03:52:54] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 03:52:54] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 03:52:54] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 03:52:54] [INFO] Number of extracted fields: 29
[2026-01-15 03:52:54] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 03:52:54] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 03:52:54] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 03:52:54] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 03:52:54] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 03:52:54] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 03:52:54] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 03:52:54] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 03:52:54] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 03:52:54] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 03:52:54] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 03:52:55] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 03:52:55] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 03:52:55] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 03:52:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114225252017.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114225252017.xml
[2026-01-15 03:52:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114225252017.xml
[2026-01-15 04:12:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231215163.xml
[2026-01-15 04:12:17] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231215163.xml for user: 68920395733981a47
[2026-01-15 04:12:17] [INFO] File size: 15538 bytes
[2026-01-15 04:12:18] [INFO] Created FTPFiles record with ID: 69686921f038b9a4f
[2026-01-15 04:12:18] [INFO] About to extract fields from XML. File size: 15538 bytes
[2026-01-15 04:12:18] [INFO] Number of mappings: 24
[2026-01-15 04:12:18] [INFO] Starting XML parsing. Content length: 15538
[2026-01-15 04:12:18] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 04:12:18] [INFO] Processing 24 field mappings
[2026-01-15 04:12:18] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 04:12:18] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 04:12:18] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 04:12:18] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 04:12:18] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 04:12:18] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 04:12:18] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 04:12:18] [INFO]   -> Found value: 37379
[2026-01-15 04:12:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 04:12:18] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 04:12:18] [INFO]   -> Found value: 1005
[2026-01-15 04:12:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 04:12:18] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 04:12:18] [INFO]   -> Found value: MONTLAKE
[2026-01-15 04:12:18] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 04:12:18] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 04:12:18] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 04:12:18] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 04:12:18] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 04:12:18] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 04:12:18] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 04:12:18] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 04:12:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'cleared' = null
[2026-01-15 04:12:18] [INFO]   -> Set field 'inService' = null
[2026-01-15 04:12:18] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 04:12:18] [INFO]   -> Found value: 35.24051
[2026-01-15 04:12:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 04:12:18] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 04:12:18] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 04:12:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 04:12:18] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 04:12:18] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 04:12:18] [INFO]   -> Found value: S1MF
[2026-01-15 04:12:18] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 04:12:18] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 04:12:18] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 04:12:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 04:12:18] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 04:12:18] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 04:12:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 04:12:18] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 04:12:18] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 04:12:18] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 04:12:18] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 04:12:18] [INFO]   -> Found value: RD
[2026-01-15 04:12:18] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 04:12:18] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 04:12:18] [INFO]   -> Found value: 26-000013
[2026-01-15 04:12:18] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 04:12:18] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 04:12:18] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 04:12:18] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 04:12:18] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 04:12:18] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 04:12:18] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 04:12:18] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 04:12:18] [INFO] Found 19 elements for 'Comment', concatenating 19 non-empty values
[2026-01-15 04:12:18] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 04:12:18] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]"
[2026-01-15 04:12:18] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]"
[2026-01-15 04:12:18] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 04:12:18] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 04:12:18] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 04:12:18] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 04:12:18] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 04:12:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 04:12:18] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 04:12:18] [INFO] Concatenating street name and type
[2026-01-15 04:12:18] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 04:12:18] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 04:12:18] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":null,"inService":null,"nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":null,"timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 04:12:18] [INFO] Number of extracted fields: 29
[2026-01-15 04:12:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 04:12:18] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 04:12:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 04:12:18] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 04:12:18] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 04:12:18] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 04:12:18] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 04:12:18] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 04:12:18] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 04:12:18] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 04:12:18] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 04:12:18] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 04:12:18] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 04:12:18] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 04:12:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231215163.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114231215163.xml
[2026-01-15 04:12:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231215163.xml
[2026-01-15 04:12:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231235382.xml
[2026-01-15 04:12:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231235382.xml for user: 68920395733981a47
[2026-01-15 04:12:35] [INFO] File size: 16755 bytes
[2026-01-15 04:12:35] [INFO] Created FTPFiles record with ID: 69686933c28d7e1e1
[2026-01-15 04:12:35] [INFO] About to extract fields from XML. File size: 16755 bytes
[2026-01-15 04:12:35] [INFO] Number of mappings: 24
[2026-01-15 04:12:35] [INFO] Starting XML parsing. Content length: 16755
[2026-01-15 04:12:35] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-15 04:12:35] [INFO] Processing 24 field mappings
[2026-01-15 04:12:35] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-15 04:12:35] [INFO]   -> Found value: WIRES-Wires Down
[2026-01-15 04:12:35] [INFO]   -> Set field 'incidentTypeValue1' = "WIRES-Wires Down"
[2026-01-15 04:12:35] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-15 04:12:35] [INFO]   -> Found value: ,1005 MONTLAKE RD
[2026-01-15 04:12:35] [INFO]   -> Set field 'businessName' = ",1005 MONTLAKE RD"
[2026-01-15 04:12:35] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-15 04:12:35] [INFO]   -> Found value: 37379
[2026-01-15 04:12:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-15 04:12:35] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-15 04:12:35] [INFO]   -> Found value: 1005
[2026-01-15 04:12:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1005
[2026-01-15 04:12:35] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-15 04:12:35] [INFO]   -> Found value: MONTLAKE
[2026-01-15 04:12:35] [INFO]   -> Set field 'streetName' = "MONTLAKE"
[2026-01-15 04:12:35] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-15 04:12:35] [INFO]   -> Found value: CANYON RIM DR/BROW LAKE RD
[2026-01-15 04:12:35] [INFO]   -> Set field 'incidentLocationCross' = "CANYON RIM DR\/BROW LAKE RD"
[2026-01-15 04:12:35] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T21:19:15.977-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'alarm' = "2026-01-15 02:19:15"
[2026-01-15 04:12:35] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T21:22:27.23-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'enroute' = "2026-01-15 02:22:27"
[2026-01-15 04:12:35] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'onScene' = "2026-01-15 02:28:01"
[2026-01-15 04:12:35] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T23:12:31.157-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'cleared' = "2026-01-15 04:12:31"
[2026-01-15 04:12:35] [INFO]   -> Set field 'inService' = "2026-01-15 04:12:31"
[2026-01-15 04:12:35] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-15 04:12:35] [INFO]   -> Found value: 35.24051
[2026-01-15 04:12:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.240510000000000445652403868734836578369140625
[2026-01-15 04:12:35] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-15 04:12:35] [INFO]   -> Found value: -85.227365999999989
[2026-01-15 04:12:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.227365999999989298885338939726352691650390625
[2026-01-15 04:12:35] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T21:20:05.107-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'dispatched' = "2026-01-15 02:20:05"
[2026-01-15 04:12:35] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-15 04:12:35] [INFO]   -> Found value: S1MF
[2026-01-15 04:12:35] [INFO]   -> Set field 'cADVehicleID' = "S1MF"
[2026-01-15 04:12:35] [INFO]   -> Set field 'name' = "S1MF"
[2026-01-15 04:12:35] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T23:12:31.157-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'timeunitclear' = "2026-01-15 04:12:31"
[2026-01-15 04:12:35] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T21:28:01.89-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'timeonscene' = "2026-01-15 02:28:01"
[2026-01-15 04:12:35] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-15 04:12:35] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'timestaging' = null
[2026-01-15 04:12:35] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T21:22:47.503-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 02:22:47"
[2026-01-15 04:12:35] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-14T21:22:47.473-05:00
[2026-01-15 04:12:35] [INFO]   -> Set field 'timedispatch' = "2026-01-15 02:22:47"
[2026-01-15 04:12:35] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-15 04:12:35] [INFO]   -> Found value: RD
[2026-01-15 04:12:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 04:12:35] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 04:12:35] [INFO]   -> Found value: 26-000013
[2026-01-15 04:12:35] [INFO]   -> Set field 'incidentInternalId' = "26-000013"
[2026-01-15 04:12:35] [INFO]   -> Set field 'dispatchRunNumber' = "26-000013"
[2026-01-15 04:12:35] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-15 04:12:35] [INFO]   -> Found value: 2026-01-19117
[2026-01-15 04:12:35] [INFO]   -> Set field 'policeReportNumber' = "2026-01-19117"
[2026-01-15 04:12:35] [INFO]   -> Set field 'cADNumber' = "2026-01-19117"
[2026-01-15 04:12:35] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-15 04:12:35] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-15 04:12:35] [INFO] Found 19 elements for 'Comment', concatenating 19 non-empty values
[2026-01-15 04:12:35] [INFO]   -> Found value: 01/14/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118
01/14/202...
[2026-01-15 04:12:35] [INFO]   -> Set field 'dispatchNotes' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]"
[2026-01-15 04:12:35] [INFO]   -> Set field 'cADLog' = "01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]"
[2026-01-15 04:12:35] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-15 04:12:35] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-01-15 04:12:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 04:12:35] [INFO] Found 4 elements for 'AgencyIdentifier', concatenating 4 non-empty values
[2026-01-15 04:12:35] [INFO]   -> Found value: MFD
MFD
MFD
MFD
[2026-01-15 04:12:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nMFD\nMFD\nMFD"
[2026-01-15 04:12:35] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-15 04:12:35] [INFO] Concatenating street name and type
[2026-01-15 04:12:35] [INFO]   -> Combined street name: MONTLAKE RD
[2026-01-15 04:12:35] [INFO] Built locationCoordinates from lat/lng: 35.24051,-85.227366
[2026-01-15 04:12:35] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"WIRES-Wires Down","businessName":",1005 MONTLAKE RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1005,"streetName":"MONTLAKE RD","incidentLocationCross":"CANYON RIM DR\/BROW LAKE RD","alarm":"2026-01-15 02:19:15","enroute":"2026-01-15 02:22:27","onScene":"2026-01-15 02:28:01","cleared":"2026-01-15 04:12:31","inService":"2026-01-15 04:12:31","nERISIncidentLatitude":35.240510000000000445652403868734836578369140625,"nERISIncidentLongitude":-85.227365999999989298885338939726352691650390625,"dispatched":"2026-01-15 02:20:05","cADVehicleID":"S1MF","name":"S1MF","timeunitclear":"2026-01-15 04:12:31","timeonscene":"2026-01-15 02:28:01","timestaging":null,"timeenroutetoscene":"2026-01-15 02:22:47","timedispatch":"2026-01-15 02:22:47","incidentInternalId":"26-000013","dispatchRunNumber":"26-000013","policeReportNumber":"2026-01-19117","cADNumber":"2026-01-19117","dispatchNotes":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]","cADLog":"01\/14\/2026 21:19:42 BERRY_M                 [1] Multi-Agency Law Incident #: 2026-01-19118\n01\/14\/2026 21:19:49 BERRY_M                 [2] POSS TRASFORMER BLEW [Shared]\n01\/14\/2026 21:19:53 BERRY_M                 [3] WIRES ACROSS THE RD [Shared]\n01\/14\/2026 21:20:01 BERRY_M                 [4] *TRANSFORMER [Shared]\n01\/14\/2026 21:20:05 FAABORG_R               [5] Automatic Case Number(s) issued for Incident #[2026-01-19117], Jurisdiction: Mowbray VFD. Case Number(s): 26-000013 requested by H1400. [Shared]\n01\/14\/2026 21:20:30 BERRY_M                 [6] IN FRONT OF THIS ADDRESS [Shared]\n01\/14\/2026 21:20:47 BERRY_M                 [7] ATLEAST DROOPING - UNK IF COMPLETELY DOWN OR NOT [Shared]\n01\/14\/2026 21:20:58 BERRY_M                 [8] DID HEAR AN EXPLOSION [Shared]\n01\/14\/2026 21:21:14 BERRY_M                 [9] POWER FLICKERED BUT IS BACK ON [Shared]\n01\/14\/2026 21:23:01 JACKSON_D               [10] ADV ON HCSO [Shared 2, 2026-01-19118 - WIRES - 1005 MONTLAKE RD]\n01\/14\/2026 21:28:01 FAABORG_R               [11] S1MF IN COMMAND [Shared]\n01\/14\/2026 21:28:20 FAABORG_R               [12] S1MF WIRES DOWN OFF THE ROADWAY [Shared]\n01\/14\/2026 21:30:09 FAABORG_R               [13] S1MF ENTRANCE OF CANYON RIM TREE ACROSS WIRES [Shared]\n01\/14\/2026 21:31:03 FAABORG_R               [14] S1MF POLE NUM DA4372 [Shared]\n01\/14\/2026 21:32:24 FAABORG_R               [15] EPB CLR [Shared]\n01\/14\/2026 21:57:50 FAABORG_R               [16] EPB COMING FROM DOWNTOWN, ETA POSS 10-20 MIN [Shared]\n01\/14\/2026 22:38:31 FAABORG_R               [17] S1MF STILL WAITING ON EPB [Shared]\n01\/14\/2026 22:52:50 JACKSON_D               [18] [Law] has closed their incident [2026-01-19118]\n01\/14\/2026 23:12:14 mcconnell_n             [19] PER SQ1MF EPB O\/S HANDING IT OVER TO THEM [Shared]","cADAgencyIdentifier":"MFD\nMFD\nMFD\nMFD","locationCoordinates":"35.24051,-85.227366"}
[2026-01-15 04:12:35] [INFO] Number of extracted fields: 29
[2026-01-15 04:12:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
MFD
MFD
MFD'
[2026-01-15 04:12:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
MFD
MFD
MFD', Parsed IDs = ["MFD","MFD","MFD","MFD"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 2
[2026-01-15 04:12:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","MFD","MFD","MFD"]
[2026-01-15 04:12:35] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 04:12:35] [INFO] SUCCESS: Routed to agency 'Mowbray Volunteer Fire Department' (ID: 681942a25bc58c3ab) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 04:12:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["MFD","MFD","MFD"]
[2026-01-15 04:12:36] [INFO] Fetched 1 stations from Stations module for agency 'Mowbray Volunteer Fire Department': ["6819761cc9478253f"]
[2026-01-15 04:12:36] [INFO] Final routing: saasclientId = 681942a25bc58c3ab, dispatchStationsIds = ["6819761cc9478253f"], matchedAgencyIndex = 0
[2026-01-15 04:12:36] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 04:12:36] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 04:12:36] [INFO] Multi-agency routing matched mailbox default agency: 681942a25bc58c3ab (no update needed)
[2026-01-15 04:12:36] [INFO] Found existing IncidentTypeMapping with ID: 68de8ad2ccb1556e4
[2026-01-15 04:12:36] [INFO] Found existing Dispatch with cADNumber '2026-01-19117', ID: 69684ec36c8f58c1c - will update instead of create
[2026-01-15 04:12:36] [INFO] Updated existing Dispatches record with ID: 69684ec36c8f58c1c
[2026-01-15 04:12:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231235382.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-01-15/INCCOMBINED_2026-01-19117_20260114231235382.xml
[2026-01-15 04:12:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-19117_20260114231235382.xml
[2026-01-15 07:06:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005275_20260115_070601.XML
[2026-01-15 07:06:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005275_20260115_070601.XML for user: 68f1466aed072ad4a
[2026-01-15 07:06:01] [INFO] File size: 5269 bytes
[2026-01-15 07:06:01] [INFO] Created FTPFiles record with ID: 696891d9dbbd69898
[2026-01-15 07:06:01] [INFO] About to extract fields from XML. File size: 5269 bytes
[2026-01-15 07:06:01] [INFO] Number of mappings: 28
[2026-01-15 07:06:01] [INFO] Starting XML parsing. Content length: 5269
[2026-01-15 07:06:01] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 07:06:01] [INFO] Processing 28 field mappings
[2026-01-15 07:06:01] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 07:06:01] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 07:06:01] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 07:06:01] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-15 07:06:01] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-15 07:06:01] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-15 07:06:01] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 07:06:01] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-15 07:06:01] [INFO]   -> Found value: 2026000125
[2026-01-15 07:06:01] [INFO]   -> Set field 'incidentInternalId' = "2026000125"
[2026-01-15 07:06:01] [INFO]   -> Set field 'dispatchRunNumber' = "2026000125"
[2026-01-15 07:06:01] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 07:06:01] [INFO]   -> Found value: ABDOMINAL PAIN
[2026-01-15 07:06:01] [INFO]   -> Set field 'incidentTypeValue1' = "ABDOMINAL PAIN"
[2026-01-15 07:06:01] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 07:06:01] [INFO]   -> Found value: 4690
[2026-01-15 07:06:01] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4690
[2026-01-15 07:06:01] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 07:06:01] [INFO]   -> Found value: TN
[2026-01-15 07:06:01] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 07:06:01] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 07:06:01] [INFO]   -> Found value: 38506
[2026-01-15 07:06:01] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-15 07:06:01] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 07:06:01] [INFO]   -> Found value: 36.08527
[2026-01-15 07:06:01] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.08527000000000128920873976312577724456787109375
[2026-01-15 07:06:01] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 07:06:01] [INFO]   -> Found value: -85.54854
[2026-01-15 07:06:01] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.548540000000002692104317247867584228515625
[2026-01-15 07:06:01] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 07:06:01] [INFO]   -> Found value: 2026-01-15 01:05:12
[2026-01-15 07:06:01] [INFO]   -> Set field 'alarm' = "2026-01-15 01:05:12"
[2026-01-15 07:06:01] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 07:06:01] [INFO]   -> Found value: 2026-01-15 01:05:51
[2026-01-15 07:06:01] [INFO]   -> Set field 'dispatched' = "2026-01-15 01:05:51"
[2026-01-15 07:06:01] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 07:06:01] [INFO]   -> Found value: AMBER MEADOWS RD/NEWT RD
[2026-01-15 07:06:01] [INFO]   -> Set field 'incidentLocationCross' = "AMBER MEADOWS RD\/NEWT RD"
[2026-01-15 07:06:01] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 07:06:01] [INFO]   -> Found value: PCFR
[2026-01-15 07:06:01] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-15 07:06:01] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 07:06:01] [INFO]   -> Found value: 2026-01-15 01:05:51
[2026-01-15 07:06:01] [INFO]   -> Set field 'timedispatch' = "2026-01-15 01:05:51"
[2026-01-15 07:06:01] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 07:06:01] [INFO]   -> No value found (null or empty)
[2026-01-15 07:06:01] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 07:06:01] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 07:06:01] [INFO]   -> Found value: 20260005275
[2026-01-15 07:06:01] [INFO]   -> Set field 'policeReportNumber' = "20260005275"
[2026-01-15 07:06:01] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 07:06:01] [INFO]   -> Found value: Event spawned from ABDOMINAL PAIN.  [01/15/2026 01:05:12 BPICHE] DUSTIN BILBREY  [01/15/26 01:05:00 ...
[2026-01-15 07:06:01] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from ABDOMINAL PAIN.  [01\/15\/2026 01:05:12 BPICHE] DUSTIN BILBREY  [01\/15\/26 01:05:00 BPICHE] HAVING PAIN IN HIS LEFT SIDE ABDOMIN INTO HIS UPPER LEG  RECTILE BLEEDING  40 YOM  FRONT DOOR ENTRANCE  [01\/15\/26 01:04:24 BPICHE]"
[2026-01-15 07:06:01] [INFO]   -> Set field 'cADLog' = "Event spawned from ABDOMINAL PAIN.  [01\/15\/2026 01:05:12 BPICHE] DUSTIN BILBREY  [01\/15\/26 01:05:00 BPICHE] HAVING PAIN IN HIS LEFT SIDE ABDOMIN INTO HIS UPPER LEG  RECTILE BLEEDING  40 YOM  FRONT DOOR ENTRANCE  [01\/15\/26 01:04:24 BPICHE]"
[2026-01-15 07:06:01] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 07:06:01] [INFO]   -> Found value: COOKEVILLE
[2026-01-15 07:06:01] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-15 07:06:01] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 07:06:01] [INFO]   -> Found value: ELLER RIDGE
[2026-01-15 07:06:01] [INFO]   -> Set field 'streetName' = "ELLER RIDGE"
[2026-01-15 07:06:01] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 07:06:01] [INFO]   -> Found value: RD
[2026-01-15 07:06:01] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 07:06:01] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 07:06:01] [INFO]   -> Found value: 4690 ELLER RIDGE RD
[2026-01-15 07:06:01] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4690 ELLER RIDGE RD"
[2026-01-15 07:06:01] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-15 07:06:01] [INFO] Concatenating street name and type
[2026-01-15 07:06:01] [INFO]   -> Combined street name: ELLER RIDGE RD
[2026-01-15 07:06:01] [INFO] Built locationCoordinates from lat/lng: 36.08527,-85.54854
[2026-01-15 07:06:01] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000125","dispatchRunNumber":"2026000125","incidentTypeValue1":"ABDOMINAL PAIN","incidentLocationStreetNumber":4690,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.08527000000000128920873976312577724456787109375,"nERISIncidentLongitude":-85.548540000000002692104317247867584228515625,"alarm":"2026-01-15 01:05:12","dispatched":"2026-01-15 01:05:51","incidentLocationCross":"AMBER MEADOWS RD\/NEWT RD","cADVehicleID":"PCFR","timedispatch":"2026-01-15 01:05:51","policeReportNumber":"20260005275","dispatchNotes":"Event spawned from ABDOMINAL PAIN.  [01\/15\/2026 01:05:12 BPICHE] DUSTIN BILBREY  [01\/15\/26 01:05:00 BPICHE] HAVING PAIN IN HIS LEFT SIDE ABDOMIN INTO HIS UPPER LEG  RECTILE BLEEDING  40 YOM  FRONT DOOR ENTRANCE  [01\/15\/26 01:04:24 BPICHE]","cADLog":"Event spawned from ABDOMINAL PAIN.  [01\/15\/2026 01:05:12 BPICHE] DUSTIN BILBREY  [01\/15\/26 01:05:00 BPICHE] HAVING PAIN IN HIS LEFT SIDE ABDOMIN INTO HIS UPPER LEG  RECTILE BLEEDING  40 YOM  FRONT DOOR ENTRANCE  [01\/15\/26 01:04:24 BPICHE]","incidentLocationCity":"COOKEVILLE","streetName":"ELLER RIDGE RD","incidentAddressTextVersionStreet":"4690 ELLER RIDGE RD","locationCoordinates":"36.08527,-85.54854"}
[2026-01-15 07:06:01] [INFO] Number of extracted fields: 21
[2026-01-15 07:06:01] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-15 07:06:01] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-15 07:06:01] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-15 07:06:01] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 07:06:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 07:06:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-15 07:06:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 07:06:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 07:06:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 07:06:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 07:06:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 07:06:02] [INFO] Found existing IncidentTypeMapping with ID: 6950ee4041befee87
[2026-01-15 07:06:11] [INFO] Created new Dispatches record with ID: 696891daa01e7d9d4
[2026-01-15 07:06:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005275_20260115_070601.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005275_20260115_070601.XML
[2026-01-15 07:06:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005275_20260115_070601.XML
[2026-01-15 07:54:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01460.xml
[2026-01-15 07:54:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01460.xml for user: 68d56363ec1209189
[2026-01-15 07:54:42] [INFO] File size: 1596 bytes
[2026-01-15 07:54:43] [INFO] Created FTPFiles record with ID: 69689d430996dfdd6
[2026-01-15 07:54:43] [INFO] About to extract fields from XML. File size: 1596 bytes
[2026-01-15 07:54:43] [INFO] Number of mappings: 21
[2026-01-15 07:54:43] [INFO] Starting XML parsing. Content length: 1596
[2026-01-15 07:54:43] [INFO] XML parsed successfully. Root element: Incident
[2026-01-15 07:54:43] [INFO] Processing 21 field mappings
[2026-01-15 07:54:43] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-15 07:54:43] [INFO]   -> Found value: 26-01460
[2026-01-15 07:54:43] [INFO]   -> Set field 'dispatchRunNumber' = "26-01460"
[2026-01-15 07:54:43] [INFO]   -> Set field 'cADNumber' = "26-01460"
[2026-01-15 07:54:43] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-15 07:54:43] [INFO]   -> Found value: 1008
[2026-01-15 07:54:43] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1008
[2026-01-15 07:54:43] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-15 07:54:43] [INFO]   -> Found value: N MAIN ST
[2026-01-15 07:54:43] [INFO]   -> Set field 'streetName' = "N MAIN ST"
[2026-01-15 07:54:43] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-15 07:54:43] [INFO]   -> No value found (null or empty)
[2026-01-15 07:54:43] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-15 07:54:43] [INFO]   -> Found value: SIKESTON
[2026-01-15 07:54:43] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-15 07:54:43] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-15 07:54:43] [INFO]   -> Found value: MDMC
[2026-01-15 07:54:43] [INFO]   -> Set field 'businessName' = "MDMC"
[2026-01-15 07:54:43] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-15 07:54:43] [INFO]   -> Found value: MO
[2026-01-15 07:54:43] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-15 07:54:43] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-15 07:54:43] [INFO]   -> Found value: 63801
[2026-01-15 07:54:43] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-15 07:54:43] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-15 07:54:43] [INFO]   -> Found value: 0
[2026-01-15 07:54:43] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-15 07:54:43] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-15 07:54:43] [INFO]   -> Found value: 0
[2026-01-15 07:54:43] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-15 07:54:43] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-15 07:54:43] [INFO]   -> Found value: FIRE-AIRCRAFT STANDBY
[2026-01-15 07:54:43] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-AIRCRAFT STANDBY"
[2026-01-15 07:54:43] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-15 07:54:43] [INFO]   -> Found value: 01-15-2026 01:49:22|AIR VAC 2-4
MDMC
ETA 30 MIN 0220
PT PICK UP
[2026-01-15 07:54:43] [INFO]   -> Set field 'dispatchNotes' = "01-15-2026 01:49:22|AIR VAC 2-4\nMDMC\nETA 30 MIN 0220\nPT PICK UP"
[2026-01-15 07:54:43] [INFO]   -> Set field 'cADLog' = "01-15-2026 01:49:22|AIR VAC 2-4\nMDMC\nETA 30 MIN 0220\nPT PICK UP"
[2026-01-15 07:54:43] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-15 07:54:43] [INFO]   -> Found value: 01-15-2026T01:53:21
[2026-01-15 07:54:43] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T01:53:21
[2026-01-15 07:54:43] [ERROR] Error formatting datetime '2026-15-01T01:53:21': Failed to parse time string (2026-15-01T01:53:21) at position 6 (5): Unexpected character
[2026-01-15 07:54:43] [INFO]   -> Set field 'alarm' = null
[2026-01-15 07:54:43] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T01:53:21
[2026-01-15 07:54:43] [ERROR] Error formatting datetime '2026-15-01T01:53:21': Failed to parse time string (2026-15-01T01:53:21) at position 6 (5): Unexpected character
[2026-01-15 07:54:43] [INFO]   -> Set field 'dispatched' = null
[2026-01-15 07:54:43] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-15 07:54:43] [INFO]   -> No value found (null or empty)
[2026-01-15 07:54:43] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-15 07:54:43] [INFO]   -> No value found (null or empty)
[2026-01-15 07:54:43] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-15 07:54:43] [INFO]   -> Found value: ENG4
[2026-01-15 07:54:43] [INFO]   -> Set field 'cADVehicleID' = "ENG4"
[2026-01-15 07:54:43] [INFO]   -> Set field 'name' = "ENG4"
[2026-01-15 07:54:43] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-15 07:54:43] [INFO]   -> No value found (null or empty)
[2026-01-15 07:54:43] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-15 07:54:43] [INFO]   -> No value found (null or empty)
[2026-01-15 07:54:43] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-15 07:54:43] [INFO]   -> Found value: 01-15-2026T01:54:29
[2026-01-15 07:54:43] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T01:54:29
[2026-01-15 07:54:43] [ERROR] Error formatting datetime '2026-15-01T01:54:29': Failed to parse time string (2026-15-01T01:54:29) at position 6 (5): Unexpected character
[2026-01-15 07:54:43] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 07:54:43] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-15 07:54:43] [INFO]   -> Found value: 01-15-2026T01:54:17
[2026-01-15 07:54:43] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T01:54:17
[2026-01-15 07:54:43] [ERROR] Error formatting datetime '2026-15-01T01:54:17': Failed to parse time string (2026-15-01T01:54:17) at position 6 (5): Unexpected character
[2026-01-15 07:54:43] [INFO]   -> Set field 'timedispatch' = null
[2026-01-15 07:54:43] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-15 07:54:43] [INFO]   -> Found value: SDPSFD
[2026-01-15 07:54:43] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-15 07:54:43] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-15 07:54:43] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-15 07:54:43] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01460","cADNumber":"26-01460","incidentLocationStreetNumber":1008,"streetName":"N MAIN ST","incidentLocationCity":"SIKESTON","businessName":"MDMC","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-AIRCRAFT STANDBY","dispatchNotes":"01-15-2026 01:49:22|AIR VAC 2-4\nMDMC\nETA 30 MIN 0220\nPT PICK UP","cADLog":"01-15-2026 01:49:22|AIR VAC 2-4\nMDMC\nETA 30 MIN 0220\nPT PICK UP","alarm":null,"dispatched":null,"cADVehicleID":"ENG4","name":"ENG4","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-15 07:54:43] [INFO] Number of extracted fields: 21
[2026-01-15 07:54:43] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-15 07:54:43] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-15 07:54:43] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-15 07:54:43] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-15 07:54:43] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-15 07:54:43] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-15 07:54:43] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-15 07:54:43] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-15 07:54:43] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e875662f9c
[2026-01-15 07:54:45] [INFO] Created new Dispatches record with ID: 69689d43bb7d6ec88
[2026-01-15 07:54:45] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01460.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-15/SDPSFD_26-01460.xml
[2026-01-15 07:54:45] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-01460.xml
[2026-01-15 11:55:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005305_20260115_115511.XML
[2026-01-15 11:55:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005305_20260115_115511.XML for user: 68f1466aed072ad4a
[2026-01-15 11:55:11] [INFO] File size: 5211 bytes
[2026-01-15 11:55:12] [INFO] Created FTPFiles record with ID: 6968d5a03f02f49e4
[2026-01-15 11:55:12] [INFO] About to extract fields from XML. File size: 5211 bytes
[2026-01-15 11:55:12] [INFO] Number of mappings: 28
[2026-01-15 11:55:12] [INFO] Starting XML parsing. Content length: 5211
[2026-01-15 11:55:12] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 11:55:12] [INFO] Processing 28 field mappings
[2026-01-15 11:55:12] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 11:55:12] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 11:55:12] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 11:55:12] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-15 11:55:12] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-15 11:55:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-15 11:55:12] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 11:55:12] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-15 11:55:12] [INFO]   -> Found value: 2026000126
[2026-01-15 11:55:12] [INFO]   -> Set field 'incidentInternalId' = "2026000126"
[2026-01-15 11:55:12] [INFO]   -> Set field 'dispatchRunNumber' = "2026000126"
[2026-01-15 11:55:12] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 11:55:12] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-15 11:55:12] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-15 11:55:12] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 11:55:12] [INFO]   -> Found value: 4992
[2026-01-15 11:55:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4992
[2026-01-15 11:55:12] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 11:55:12] [INFO]   -> Found value: TN
[2026-01-15 11:55:12] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 11:55:12] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 11:55:12] [INFO]   -> Found value: 38501
[2026-01-15 11:55:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-15 11:55:12] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 11:55:12] [INFO]   -> Found value: 36.19896
[2026-01-15 11:55:12] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19895999999999958163243718445301055908203125
[2026-01-15 11:55:12] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 11:55:12] [INFO]   -> Found value: -85.60192
[2026-01-15 11:55:12] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.60192000000000689396983943879604339599609375
[2026-01-15 11:55:12] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 11:55:12] [INFO]   -> Found value: 2026-01-15 05:54:48
[2026-01-15 11:55:12] [INFO]   -> Set field 'alarm' = "2026-01-15 05:54:48"
[2026-01-15 11:55:12] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 11:55:12] [INFO]   -> Found value: 2026-01-15 05:55:01
[2026-01-15 11:55:12] [INFO]   -> Set field 'dispatched' = "2026-01-15 05:55:01"
[2026-01-15 11:55:12] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 11:55:12] [INFO]   -> Found value: HULON DYER DR/CLEMMONS RD
[2026-01-15 11:55:12] [INFO]   -> Set field 'incidentLocationCross' = "HULON DYER DR\/CLEMMONS RD"
[2026-01-15 11:55:12] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 11:55:12] [INFO]   -> Found value: PCFR
[2026-01-15 11:55:12] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-15 11:55:12] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 11:55:12] [INFO]   -> Found value: 2026-01-15 05:55:01
[2026-01-15 11:55:12] [INFO]   -> Set field 'timedispatch' = "2026-01-15 05:55:01"
[2026-01-15 11:55:12] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 11:55:12] [INFO]   -> No value found (null or empty)
[2026-01-15 11:55:12] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 11:55:12] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 11:55:12] [INFO]   -> Found value: 20260005305
[2026-01-15 11:55:12] [INFO]   -> Set field 'policeReportNumber' = "20260005305"
[2026-01-15 11:55:12] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 11:55:12] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/15/2026 05:54:48 SVOKOUN2] WALLACE HJELMBERG 76YOM O2 IN...
[2026-01-15 11:55:12] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 05:54:48 SVOKOUN2] WALLACE HJELMBERG 76YOM O2 IN THE 50  [01\/15\/26 05:54:45 SVOKOUN2]]"
[2026-01-15 11:55:12] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 05:54:48 SVOKOUN2] WALLACE HJELMBERG 76YOM O2 IN THE 50  [01\/15\/26 05:54:45 SVOKOUN2]]"
[2026-01-15 11:55:12] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 11:55:12] [INFO]   -> Found value: COOKEVILLE
[2026-01-15 11:55:12] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-15 11:55:12] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 11:55:12] [INFO]   -> Found value: CEDAR CREEK
[2026-01-15 11:55:12] [INFO]   -> Set field 'streetName' = "CEDAR CREEK"
[2026-01-15 11:55:12] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 11:55:12] [INFO]   -> Found value: CIR
[2026-01-15 11:55:12] [INFO]   -> Set field 'streetType' = "CIR"
[2026-01-15 11:55:12] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 11:55:12] [INFO]   -> Found value: 4992 CEDAR CREEK CIR
[2026-01-15 11:55:12] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4992 CEDAR CREEK CIR"
[2026-01-15 11:55:12] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-15 11:55:12] [INFO] Concatenating street name and type
[2026-01-15 11:55:12] [INFO]   -> Combined street name: CEDAR CREEK CIR
[2026-01-15 11:55:12] [INFO] Built locationCoordinates from lat/lng: 36.19896,-85.60192
[2026-01-15 11:55:12] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000126","dispatchRunNumber":"2026000126","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":4992,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.19895999999999958163243718445301055908203125,"nERISIncidentLongitude":-85.60192000000000689396983943879604339599609375,"alarm":"2026-01-15 05:54:48","dispatched":"2026-01-15 05:55:01","incidentLocationCross":"HULON DYER DR\/CLEMMONS RD","cADVehicleID":"PCFR","timedispatch":"2026-01-15 05:55:01","policeReportNumber":"20260005305","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 05:54:48 SVOKOUN2] WALLACE HJELMBERG 76YOM O2 IN THE 50  [01\/15\/26 05:54:45 SVOKOUN2]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 05:54:48 SVOKOUN2] WALLACE HJELMBERG 76YOM O2 IN THE 50  [01\/15\/26 05:54:45 SVOKOUN2]]","incidentLocationCity":"COOKEVILLE","streetName":"CEDAR CREEK CIR","incidentAddressTextVersionStreet":"4992 CEDAR CREEK CIR","locationCoordinates":"36.19896,-85.60192"}
[2026-01-15 11:55:12] [INFO] Number of extracted fields: 21
[2026-01-15 11:55:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-15 11:55:12] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-15 11:55:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-15 11:55:12] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 11:55:12] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 11:55:12] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-15 11:55:12] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 11:55:12] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 11:55:12] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 11:55:12] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 11:55:12] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 11:55:12] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-15 11:55:21] [INFO] Created new Dispatches record with ID: 6968d5a100b00f4b9
[2026-01-15 11:55:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005305_20260115_115511.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005305_20260115_115511.XML
[2026-01-15 11:55:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005305_20260115_115511.XML
[2026-01-15 14:01:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005335_20260115_140142.XML
[2026-01-15 14:01:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005335_20260115_140142.XML for user: 68f1466aed072ad4a
[2026-01-15 14:01:42] [INFO] File size: 5288 bytes
[2026-01-15 14:01:42] [INFO] Created FTPFiles record with ID: 6968f3467b7fa70ab
[2026-01-15 14:01:42] [INFO] About to extract fields from XML. File size: 5288 bytes
[2026-01-15 14:01:42] [INFO] Number of mappings: 28
[2026-01-15 14:01:42] [INFO] Starting XML parsing. Content length: 5288
[2026-01-15 14:01:42] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 14:01:42] [INFO] Processing 28 field mappings
[2026-01-15 14:01:42] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 14:01:42] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 14:01:42] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 14:01:42] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-15 14:01:42] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-15 14:01:42] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-15 14:01:42] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 14:01:42] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-15 14:01:42] [INFO]   -> Found value: 2026000127
[2026-01-15 14:01:42] [INFO]   -> Set field 'incidentInternalId' = "2026000127"
[2026-01-15 14:01:42] [INFO]   -> Set field 'dispatchRunNumber' = "2026000127"
[2026-01-15 14:01:42] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 14:01:42] [INFO]   -> Found value: MENTAL STATUS CHANGES
[2026-01-15 14:01:42] [INFO]   -> Set field 'incidentTypeValue1' = "MENTAL STATUS CHANGES"
[2026-01-15 14:01:42] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 14:01:42] [INFO]   -> Found value: 2705
[2026-01-15 14:01:42] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2705
[2026-01-15 14:01:42] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 14:01:42] [INFO]   -> Found value: TN
[2026-01-15 14:01:42] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 14:01:42] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 14:01:42] [INFO]   -> Found value: 38506
[2026-01-15 14:01:42] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-15 14:01:42] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 14:01:42] [INFO]   -> Found value: 36.11477
[2026-01-15 14:01:42] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11477000000000003865352482534945011138916015625
[2026-01-15 14:01:42] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 14:01:42] [INFO]   -> Found value: -85.56402
[2026-01-15 14:01:42] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.564019999999999299689079634845256805419921875
[2026-01-15 14:01:42] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 14:01:42] [INFO]   -> Found value: 2026-01-15 08:00:53
[2026-01-15 14:01:42] [INFO]   -> Set field 'alarm' = "2026-01-15 08:00:53"
[2026-01-15 14:01:42] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 14:01:42] [INFO]   -> Found value: 2026-01-15 08:01:32
[2026-01-15 14:01:42] [INFO]   -> Set field 'dispatched' = "2026-01-15 08:01:32"
[2026-01-15 14:01:42] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 14:01:42] [INFO]   -> Found value: HUNTER HILLS LN/BENNETT RD
[2026-01-15 14:01:42] [INFO]   -> Set field 'incidentLocationCross' = "HUNTER HILLS LN\/BENNETT RD"
[2026-01-15 14:01:42] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 14:01:42] [INFO]   -> Found value: PCFR
[2026-01-15 14:01:42] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-15 14:01:42] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 14:01:42] [INFO]   -> Found value: 2026-01-15 08:01:32
[2026-01-15 14:01:42] [INFO]   -> Set field 'timedispatch' = "2026-01-15 08:01:32"
[2026-01-15 14:01:42] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 14:01:42] [INFO]   -> No value found (null or empty)
[2026-01-15 14:01:42] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 14:01:42] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 14:01:42] [INFO]   -> Found value: 20260005335
[2026-01-15 14:01:42] [INFO]   -> Set field 'policeReportNumber' = "20260005335"
[2026-01-15 14:01:42] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 14:01:42] [INFO]   -> Found value: [EMS] SWOLLEN LEGS  [01/15/26 08:01:22 MCLAYBURN2] [EMS] FATHER TALKING OUT OF HIS HEAD  [01/15/26 0...
[2026-01-15 14:01:42] [INFO]   -> Set field 'dispatchNotes' = "[EMS] SWOLLEN LEGS  [01\/15\/26 08:01:22 MCLAYBURN2] [EMS] FATHER TALKING OUT OF HIS HEAD  [01\/15\/26 08:01:03 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [01\/15\/2026 08:00:53 MCLAYBURN2]"
[2026-01-15 14:01:42] [INFO]   -> Set field 'cADLog' = "[EMS] SWOLLEN LEGS  [01\/15\/26 08:01:22 MCLAYBURN2] [EMS] FATHER TALKING OUT OF HIS HEAD  [01\/15\/26 08:01:03 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [01\/15\/2026 08:00:53 MCLAYBURN2]"
[2026-01-15 14:01:42] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 14:01:42] [INFO]   -> Found value: COOKEVILLE
[2026-01-15 14:01:42] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-15 14:01:42] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 14:01:42] [INFO]   -> Found value: CANE CREEK
[2026-01-15 14:01:42] [INFO]   -> Set field 'streetName' = "CANE CREEK"
[2026-01-15 14:01:42] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 14:01:42] [INFO]   -> Found value: RD
[2026-01-15 14:01:42] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 14:01:42] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 14:01:42] [INFO]   -> Found value: 2705 CANE CREEK RD
[2026-01-15 14:01:42] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2705 CANE CREEK RD"
[2026-01-15 14:01:42] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-15 14:01:42] [INFO] Concatenating street name and type
[2026-01-15 14:01:42] [INFO]   -> Combined street name: CANE CREEK RD
[2026-01-15 14:01:42] [INFO] Built locationCoordinates from lat/lng: 36.11477,-85.56402
[2026-01-15 14:01:42] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000127","dispatchRunNumber":"2026000127","incidentTypeValue1":"MENTAL STATUS CHANGES","incidentLocationStreetNumber":2705,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.11477000000000003865352482534945011138916015625,"nERISIncidentLongitude":-85.564019999999999299689079634845256805419921875,"alarm":"2026-01-15 08:00:53","dispatched":"2026-01-15 08:01:32","incidentLocationCross":"HUNTER HILLS LN\/BENNETT RD","cADVehicleID":"PCFR","timedispatch":"2026-01-15 08:01:32","policeReportNumber":"20260005335","dispatchNotes":"[EMS] SWOLLEN LEGS  [01\/15\/26 08:01:22 MCLAYBURN2] [EMS] FATHER TALKING OUT OF HIS HEAD  [01\/15\/26 08:01:03 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [01\/15\/2026 08:00:53 MCLAYBURN2]","cADLog":"[EMS] SWOLLEN LEGS  [01\/15\/26 08:01:22 MCLAYBURN2] [EMS] FATHER TALKING OUT OF HIS HEAD  [01\/15\/26 08:01:03 MCLAYBURN2] Event spawned from MENTAL STATUS CHANGES.  [01\/15\/2026 08:00:53 MCLAYBURN2]","incidentLocationCity":"COOKEVILLE","streetName":"CANE CREEK RD","incidentAddressTextVersionStreet":"2705 CANE CREEK RD","locationCoordinates":"36.11477,-85.56402"}
[2026-01-15 14:01:42] [INFO] Number of extracted fields: 21
[2026-01-15 14:01:42] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-15 14:01:42] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-15 14:01:42] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-15 14:01:42] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 14:01:42] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 14:01:42] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-15 14:01:42] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 14:01:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 14:01:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 14:01:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 14:01:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 14:01:42] [INFO] Found existing IncidentTypeMapping with ID: 693bcc48aa7d466fb
[2026-01-15 14:01:51] [INFO] Created new Dispatches record with ID: 6968f34748ea14c09
[2026-01-15 14:01:51] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005335_20260115_140142.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005335_20260115_140142.XML
[2026-01-15 14:01:51] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005335_20260115_140142.XML
[2026-01-15 14:28:50] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 14:28:50] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml for user: 69320e6a9e3e5ef71
[2026-01-15 14:28:50] [INFO] File size: 7410 bytes
[2026-01-15 14:28:50] [INFO] Created FTPFiles record with ID: 6968f9a2d0e842fd4
[2026-01-15 14:28:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 14:28:50] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15
[2026-01-15 14:28:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003178.xml
[2026-01-15 14:28:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 14:28:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 14:28:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml for user: 69320e6a9e3e5ef71
[2026-01-15 14:28:55] [INFO] File size: 8377 bytes
[2026-01-15 14:28:56] [INFO] Created FTPFiles record with ID: 6968f9a8458e44f81
[2026-01-15 14:28:56] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 14:28:56] [INFO] File already exists in archive, using unique name: cfs_2026-003178_1768487336.xml
[2026-01-15 14:28:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003178_1768487336.xml
[2026-01-15 14:28:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 14:29:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 14:29:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml for user: 69320e6a9e3e5ef71
[2026-01-15 14:29:00] [INFO] File size: 9428 bytes
[2026-01-15 14:29:00] [INFO] Created FTPFiles record with ID: 6968f9ace8a111aa8
[2026-01-15 14:29:00] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 14:29:00] [INFO] File already exists in archive, using unique name: cfs_2026-003178_1768487340.xml
[2026-01-15 14:29:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003178_1768487340.xml
[2026-01-15 14:29:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 14:29:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 14:29:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml for user: 69320e6a9e3e5ef71
[2026-01-15 14:29:01] [INFO] File size: 9428 bytes
[2026-01-15 14:29:02] [INFO] Created FTPFiles record with ID: 6968f9ae21f0c624e
[2026-01-15 14:29:02] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 14:29:02] [INFO] File already exists in archive, using unique name: cfs_2026-003178_1768487342.xml
[2026-01-15 14:29:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003178_1768487342.xml
[2026-01-15 14:29:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 16:10:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 16:10:59] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml for user: 69320e6a9e3e5ef71
[2026-01-15 16:10:59] [INFO] File size: 11050 bytes
[2026-01-15 16:10:59] [INFO] Created FTPFiles record with ID: 696911937673d99c8
[2026-01-15 16:10:59] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 16:10:59] [INFO] File already exists in archive, using unique name: cfs_2026-003178_1768493459.xml
[2026-01-15 16:10:59] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003178_1768493459.xml
[2026-01-15 16:10:59] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003178.xml
[2026-01-15 16:19:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005400_20260115_161902.XML
[2026-01-15 16:19:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005400_20260115_161902.XML for user: 68f1466aed072ad4a
[2026-01-15 16:19:02] [INFO] File size: 5133 bytes
[2026-01-15 16:19:03] [INFO] Created FTPFiles record with ID: 696913777bf125dd0
[2026-01-15 16:19:03] [INFO] About to extract fields from XML. File size: 5133 bytes
[2026-01-15 16:19:03] [INFO] Number of mappings: 28
[2026-01-15 16:19:03] [INFO] Starting XML parsing. Content length: 5133
[2026-01-15 16:19:03] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 16:19:03] [INFO] Processing 28 field mappings
[2026-01-15 16:19:03] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 16:19:03] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 16:19:03] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 16:19:03] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-15 16:19:03] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-15 16:19:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-15 16:19:03] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 16:19:03] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-15 16:19:03] [INFO]   -> Found value: 2026000128
[2026-01-15 16:19:03] [INFO]   -> Set field 'incidentInternalId' = "2026000128"
[2026-01-15 16:19:03] [INFO]   -> Set field 'dispatchRunNumber' = "2026000128"
[2026-01-15 16:19:03] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 16:19:03] [INFO]   -> Found value: FALL VICTIM
[2026-01-15 16:19:03] [INFO]   -> Set field 'incidentTypeValue1' = "FALL VICTIM"
[2026-01-15 16:19:03] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 16:19:03] [INFO]   -> Found value: 1034
[2026-01-15 16:19:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1034
[2026-01-15 16:19:03] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 16:19:03] [INFO]   -> Found value: TN
[2026-01-15 16:19:03] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 16:19:03] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 16:19:03] [INFO]   -> Found value: 38574
[2026-01-15 16:19:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-15 16:19:03] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 16:19:03] [INFO]   -> Found value: 36.05920
[2026-01-15 16:19:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.05919999999999703277353546582162380218505859375
[2026-01-15 16:19:03] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 16:19:03] [INFO]   -> Found value: -85.27851
[2026-01-15 16:19:03] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2785099999999971487341099418699741363525390625
[2026-01-15 16:19:03] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 16:19:03] [INFO]   -> Found value: 2026-01-15 10:18:25
[2026-01-15 16:19:03] [INFO]   -> Set field 'alarm' = "2026-01-15 10:18:25"
[2026-01-15 16:19:03] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 16:19:03] [INFO]   -> Found value: 2026-01-15 10:18:59
[2026-01-15 16:19:03] [INFO]   -> Set field 'dispatched' = "2026-01-15 10:18:59"
[2026-01-15 16:19:03] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 16:19:03] [INFO]   -> Found value: CUMBERLAND COVE RD/TANNER DR
[2026-01-15 16:19:03] [INFO]   -> Set field 'incidentLocationCross' = "CUMBERLAND COVE RD\/TANNER DR"
[2026-01-15 16:19:03] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 16:19:03] [INFO]   -> Found value: PCFR
[2026-01-15 16:19:03] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-15 16:19:03] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 16:19:03] [INFO]   -> Found value: 2026-01-15 10:18:59
[2026-01-15 16:19:03] [INFO]   -> Set field 'timedispatch' = "2026-01-15 10:18:59"
[2026-01-15 16:19:03] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 16:19:03] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 16:19:03] [INFO]   -> Found value: 20260005400
[2026-01-15 16:19:03] [INFO]   -> Set field 'policeReportNumber' = "20260005400"
[2026-01-15 16:19:03] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 16:19:03] [INFO]   -> Found value: Event spawned from FALL VICTIM.  [01/15/2026 10:18:25 KBURTON] DEMITA PT   UNABLE TO AMBULATE POST F...
[2026-01-15 16:19:03] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from FALL VICTIM.  [01\/15\/2026 10:18:25 KBURTON] DEMITA PT   UNABLE TO AMBULATE POST FALL LAST NIGHT  NECK  BACK  LEG PAIN  CONFUSSION - MENTAL STATUS CHANGES  REBECCA DEONNA  [01\/15\/26 10:17:09 KBURTON]"
[2026-01-15 16:19:03] [INFO]   -> Set field 'cADLog' = "Event spawned from FALL VICTIM.  [01\/15\/2026 10:18:25 KBURTON] DEMITA PT   UNABLE TO AMBULATE POST FALL LAST NIGHT  NECK  BACK  LEG PAIN  CONFUSSION - MENTAL STATUS CHANGES  REBECCA DEONNA  [01\/15\/26 10:17:09 KBURTON]"
[2026-01-15 16:19:03] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 16:19:03] [INFO]   -> Found value: MONTEREY
[2026-01-15 16:19:03] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-15 16:19:03] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 16:19:03] [INFO]   -> Found value: DEER RUN
[2026-01-15 16:19:03] [INFO]   -> Set field 'streetName' = "DEER RUN"
[2026-01-15 16:19:03] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 16:19:03] [INFO]   -> No value found (null or empty)
[2026-01-15 16:19:03] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 16:19:03] [INFO]   -> Found value: 1034 DEER RUN
[2026-01-15 16:19:03] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1034 DEER RUN"
[2026-01-15 16:19:03] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-15 16:19:03] [INFO] Built locationCoordinates from lat/lng: 36.0592,-85.27851
[2026-01-15 16:19:03] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000128","dispatchRunNumber":"2026000128","incidentTypeValue1":"FALL VICTIM","incidentLocationStreetNumber":1034,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.05919999999999703277353546582162380218505859375,"nERISIncidentLongitude":-85.2785099999999971487341099418699741363525390625,"alarm":"2026-01-15 10:18:25","dispatched":"2026-01-15 10:18:59","incidentLocationCross":"CUMBERLAND COVE RD\/TANNER DR","cADVehicleID":"PCFR","timedispatch":"2026-01-15 10:18:59","policeReportNumber":"20260005400","dispatchNotes":"Event spawned from FALL VICTIM.  [01\/15\/2026 10:18:25 KBURTON] DEMITA PT   UNABLE TO AMBULATE POST FALL LAST NIGHT  NECK  BACK  LEG PAIN  CONFUSSION - MENTAL STATUS CHANGES  REBECCA DEONNA  [01\/15\/26 10:17:09 KBURTON]","cADLog":"Event spawned from FALL VICTIM.  [01\/15\/2026 10:18:25 KBURTON] DEMITA PT   UNABLE TO AMBULATE POST FALL LAST NIGHT  NECK  BACK  LEG PAIN  CONFUSSION - MENTAL STATUS CHANGES  REBECCA DEONNA  [01\/15\/26 10:17:09 KBURTON]","incidentLocationCity":"MONTEREY","streetName":"DEER RUN","incidentAddressTextVersionStreet":"1034 DEER RUN","locationCoordinates":"36.0592,-85.27851"}
[2026-01-15 16:19:03] [INFO] Number of extracted fields: 21
[2026-01-15 16:19:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-15 16:19:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-15 16:19:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-15 16:19:03] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 16:19:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 16:19:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-15 16:19:04] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 16:19:04] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 16:19:04] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 16:19:04] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 16:19:04] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 16:19:11] [INFO] Found existing IncidentTypeMapping with ID: 69372a143f466ddae
[2026-01-15 16:19:19] [INFO] Created new Dispatches record with ID: 6969137ff0ba54ecb
[2026-01-15 16:19:19] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005400_20260115_161902.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005400_20260115_161902.XML
[2026-01-15 16:19:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005400_20260115_161902.XML
[2026-01-15 16:28:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260005411_20260115_162852.XML
[2026-01-15 16:28:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260005411_20260115_162852.XML for user: 68f1466aed072ad4a
[2026-01-15 16:28:52] [INFO] File size: 5370 bytes
[2026-01-15 16:28:52] [INFO] Created FTPFiles record with ID: 696915c470cc820e1
[2026-01-15 16:28:52] [INFO] About to extract fields from XML. File size: 5370 bytes
[2026-01-15 16:28:52] [INFO] Number of mappings: 28
[2026-01-15 16:28:52] [INFO] Starting XML parsing. Content length: 5370
[2026-01-15 16:28:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 16:28:52] [INFO] Processing 28 field mappings
[2026-01-15 16:28:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 16:28:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 16:28:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 16:28:52] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-15 16:28:52] [INFO]   -> Found value: MFD
EMS
RESC
[2026-01-15 16:28:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "MFD\nEMS\nRESC"
[2026-01-15 16:28:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 16:28:52] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-15 16:28:52] [INFO]   -> Found value: 2026000023
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentInternalId' = "2026000023"
[2026-01-15 16:28:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000023"
[2026-01-15 16:28:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 16:28:52] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-15 16:28:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 16:28:52] [INFO]   -> Found value: 1020
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-15 16:28:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 16:28:52] [INFO]   -> Found value: TN
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 16:28:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 16:28:52] [INFO]   -> Found value: 38574
[2026-01-15 16:28:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-15 16:28:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 16:28:52] [INFO]   -> Found value: 36
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-15 16:28:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 16:28:52] [INFO]   -> Found value: 36.15501
[2026-01-15 16:28:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-15 16:28:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 16:28:52] [INFO]   -> Found value: -85.25652
[2026-01-15 16:28:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-15 16:28:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 16:28:52] [INFO]   -> Found value: 2026-01-15 10:27:37
[2026-01-15 16:28:52] [INFO]   -> Set field 'alarm' = "2026-01-15 10:27:37"
[2026-01-15 16:28:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 16:28:52] [INFO]   -> Found value: 2026-01-15 10:28:47
[2026-01-15 16:28:52] [INFO]   -> Set field 'dispatched' = "2026-01-15 10:28:47"
[2026-01-15 16:28:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 16:28:52] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-15 16:28:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 16:28:52] [INFO]   -> Found value: MFR
[2026-01-15 16:28:52] [INFO]   -> Set field 'cADVehicleID' = "MFR"
[2026-01-15 16:28:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 16:28:52] [INFO]   -> Found value: 2026-01-15 10:28:47
[2026-01-15 16:28:52] [INFO]   -> Set field 'timedispatch' = "2026-01-15 10:28:47"
[2026-01-15 16:28:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 16:28:52] [INFO]   -> No value found (null or empty)
[2026-01-15 16:28:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 16:28:52] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 16:28:52] [INFO]   -> Found value: 20260005411
[2026-01-15 16:28:52] [INFO]   -> Set field 'policeReportNumber' = "20260005411"
[2026-01-15 16:28:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 16:28:52] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/15/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING ...
[2026-01-15 16:28:52] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]"
[2026-01-15 16:28:52] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]"
[2026-01-15 16:28:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 16:28:52] [INFO]   -> Found value: MONTEREY
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-15 16:28:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 16:28:52] [INFO]   -> Found value: CHESTNUT
[2026-01-15 16:28:52] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-15 16:28:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 16:28:52] [INFO]   -> Found value: ST
[2026-01-15 16:28:52] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-15 16:28:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 16:28:52] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-15 16:28:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-15 16:28:52] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-15 16:28:52] [INFO] Concatenating street name and type
[2026-01-15 16:28:52] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-15 16:28:52] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-15 16:28:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"MFD\nEMS\nRESC","incidentInternalId":"2026000023","dispatchRunNumber":"2026000023","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-15 10:27:37","dispatched":"2026-01-15 10:28:47","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"MFR","timedispatch":"2026-01-15 10:28:47","policeReportNumber":"20260005411","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-15 16:28:52] [INFO] Number of extracted fields: 22
[2026-01-15 16:28:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'MFD
EMS
RESC'
[2026-01-15 16:28:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'MFD
EMS
RESC', Parsed IDs = ["MFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-15 16:28:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["MFD","EMS","RESC"]
[2026-01-15 16:28:52] [INFO] Attempting SAASClient lookup for AgencyCode 'MFD' (index 0) within mailbox's assigned agencies
[2026-01-15 16:28:52] [INFO] SUCCESS: Routed to agency 'Monterey Fire Department' (ID: 68e67aaba2bb4565e) at INDEX 0 based on AgencyCode 'MFD'
[2026-01-15 16:28:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-15 16:28:52] [INFO] Fetched 1 stations from Stations module for agency 'Monterey Fire Department': ["68ffe49c256b67300"]
[2026-01-15 16:28:52] [INFO] Final routing: saasclientId = 68e67aaba2bb4565e, dispatchStationsIds = ["68ffe49c256b67300"], matchedAgencyIndex = 0
[2026-01-15 16:28:52] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 16:28:52] [INFO] Filtered cADAgencyIdentifier to: MFD
[2026-01-15 16:28:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 68e67aaba2bb4565e
[2026-01-15 16:28:53] [INFO] Found existing IncidentTypeMapping with ID: 694c0ab27eb6ebd01
[2026-01-15 16:28:55] [INFO] Created new Dispatches record with ID: 696915c56ff410b77
[2026-01-15 16:28:55] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260005411_20260115_162852.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/MFD_20260005411_20260115_162852.XML
[2026-01-15 16:28:55] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/MFD_20260005411_20260115_162852.XML
[2026-01-15 16:29:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005416_20260115_162902.XML
[2026-01-15 16:29:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005416_20260115_162902.XML for user: 68f1466aed072ad4a
[2026-01-15 16:29:02] [INFO] File size: 5624 bytes
[2026-01-15 16:29:02] [INFO] Created FTPFiles record with ID: 696915cee281cabe6
[2026-01-15 16:29:02] [INFO] About to extract fields from XML. File size: 5624 bytes
[2026-01-15 16:29:02] [INFO] Number of mappings: 28
[2026-01-15 16:29:02] [INFO] Starting XML parsing. Content length: 5624
[2026-01-15 16:29:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 16:29:02] [INFO] Processing 28 field mappings
[2026-01-15 16:29:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 16:29:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 16:29:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 16:29:02] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-01-15 16:29:02] [INFO]   -> Found value: PCFD
EMS
MFD
RESC
[2026-01-15 16:29:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nMFD\nRESC"
[2026-01-15 16:29:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 16:29:02] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-15 16:29:02] [INFO]   -> Found value: 2026000129
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentInternalId' = "2026000129"
[2026-01-15 16:29:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000129"
[2026-01-15 16:29:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 16:29:02] [INFO]   -> Found value: BREATHING PROBLEMS
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentTypeValue1' = "BREATHING PROBLEMS"
[2026-01-15 16:29:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 16:29:02] [INFO]   -> Found value: 1020
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1020
[2026-01-15 16:29:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 16:29:02] [INFO]   -> Found value: TN
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 16:29:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 16:29:02] [INFO]   -> Found value: 38574
[2026-01-15 16:29:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-15 16:29:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 16:29:02] [INFO]   -> Found value: 36
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentLocationApt' = 36
[2026-01-15 16:29:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 16:29:02] [INFO]   -> Found value: 36.15501
[2026-01-15 16:29:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.15500999999999720557752880267798900604248046875
[2026-01-15 16:29:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 16:29:02] [INFO]   -> Found value: -85.25652
[2026-01-15 16:29:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.256519999999994752215570770204067230224609375
[2026-01-15 16:29:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 16:29:02] [INFO]   -> Found value: 2026-01-15 10:28:59
[2026-01-15 16:29:02] [INFO]   -> Set field 'alarm' = "2026-01-15 10:28:59"
[2026-01-15 16:29:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 16:29:02] [INFO]   -> Found value: 2026-01-15 10:28:58
[2026-01-15 16:29:02] [INFO]   -> Set field 'dispatched' = "2026-01-15 10:28:58"
[2026-01-15 16:29:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 16:29:02] [INFO]   -> Found value: FORD ST/HICKORY AVE
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentLocationCross' = "FORD ST\/HICKORY AVE"
[2026-01-15 16:29:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 16:29:02] [INFO]   -> Found value: PCFR
[2026-01-15 16:29:02] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-15 16:29:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 16:29:02] [INFO]   -> Found value: 2026-01-15 10:28:58
[2026-01-15 16:29:02] [INFO]   -> Set field 'timedispatch' = "2026-01-15 10:28:58"
[2026-01-15 16:29:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 16:29:02] [INFO]   -> No value found (null or empty)
[2026-01-15 16:29:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 16:29:02] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 16:29:02] [INFO]   -> Found value: 20260005416
[2026-01-15 16:29:02] [INFO]   -> Set field 'policeReportNumber' = "20260005416"
[2026-01-15 16:29:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 16:29:02] [INFO]   -> Found value: Event spawned from BREATHING PROBLEMS.  [01/15/2026 10:28:59 KHILL] Event spawned from BREATHING PRO...
[2026-01-15 16:29:02] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:28:59 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]"
[2026-01-15 16:29:02] [INFO]   -> Set field 'cADLog' = "Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:28:59 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]"
[2026-01-15 16:29:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 16:29:02] [INFO]   -> Found value: MONTEREY
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-15 16:29:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 16:29:02] [INFO]   -> Found value: CHESTNUT
[2026-01-15 16:29:02] [INFO]   -> Set field 'streetName' = "CHESTNUT"
[2026-01-15 16:29:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 16:29:02] [INFO]   -> Found value: ST
[2026-01-15 16:29:02] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-15 16:29:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 16:29:02] [INFO]   -> Found value: 1020-36 N CHESTNUT ST
[2026-01-15 16:29:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1020-36 N CHESTNUT ST"
[2026-01-15 16:29:02] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-15 16:29:02] [INFO] Concatenating street name and type
[2026-01-15 16:29:02] [INFO]   -> Combined street name: CHESTNUT ST
[2026-01-15 16:29:02] [INFO] Built locationCoordinates from lat/lng: 36.15501,-85.25652
[2026-01-15 16:29:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nMFD\nRESC","incidentInternalId":"2026000129","dispatchRunNumber":"2026000129","incidentTypeValue1":"BREATHING PROBLEMS","incidentLocationStreetNumber":1020,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"incidentLocationApt":36,"nERISIncidentLatitude":36.15500999999999720557752880267798900604248046875,"nERISIncidentLongitude":-85.256519999999994752215570770204067230224609375,"alarm":"2026-01-15 10:28:59","dispatched":"2026-01-15 10:28:58","incidentLocationCross":"FORD ST\/HICKORY AVE","cADVehicleID":"PCFR","timedispatch":"2026-01-15 10:28:58","policeReportNumber":"20260005416","dispatchNotes":"Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:28:59 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]","cADLog":"Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:28:59 KHILL] Event spawned from BREATHING PROBLEMS.  [01\/15\/2026 10:27:37 MCLAYBURN2] CALLER IS NEIGHBOR STATING NEIGHBOR UNABLE TO BREATHE JUST GOT OUT OF HOSPITAL  BEVERLY IS FIRST NAME  [01\/15\/26 10:27:28 MCLAYBURN2]]","incidentLocationCity":"MONTEREY","streetName":"CHESTNUT ST","incidentAddressTextVersionStreet":"1020-36 N CHESTNUT ST","locationCoordinates":"36.15501,-85.25652"}
[2026-01-15 16:29:02] [INFO] Number of extracted fields: 22
[2026-01-15 16:29:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
MFD
RESC'
[2026-01-15 16:29:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
MFD
RESC', Parsed IDs = ["PCFD","EMS","MFD","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-01-15 16:29:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","MFD","RESC"]
[2026-01-15 16:29:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 16:29:03] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 16:29:03] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","MFD","RESC"]
[2026-01-15 16:29:03] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 16:29:03] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 16:29:03] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-01-15 16:29:03] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 16:29:03] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 16:29:03] [INFO] Found existing IncidentTypeMapping with ID: 693e326c3c0e41cb3
[2026-01-15 16:29:11] [INFO] Created new Dispatches record with ID: 696915cfbb974b754
[2026-01-15 16:29:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005416_20260115_162902.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005416_20260115_162902.XML
[2026-01-15 16:29:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005416_20260115_162902.XML
[2026-01-15 17:59:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005484_20260115_175952.XML
[2026-01-15 17:59:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005484_20260115_175952.XML for user: 68f1466aed072ad4a
[2026-01-15 17:59:52] [INFO] File size: 8110 bytes
[2026-01-15 17:59:52] [INFO] Created FTPFiles record with ID: 69692b18ec988c0e1
[2026-01-15 17:59:52] [INFO] About to extract fields from XML. File size: 8110 bytes
[2026-01-15 17:59:52] [INFO] Number of mappings: 28
[2026-01-15 17:59:52] [INFO] Starting XML parsing. Content length: 8110
[2026-01-15 17:59:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 17:59:52] [INFO] Processing 28 field mappings
[2026-01-15 17:59:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 17:59:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 17:59:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 17:59:52] [INFO] Found 11 elements for 'AgencyCode', concatenating 11 non-empty values
[2026-01-15 17:59:52] [INFO]   -> Found value: PCFD
EMS
CPD
CFD
EMS
EMS
EMS
RESC
EMS
EMS
EMS
[2026-01-15 17:59:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nCPD\nCFD\nEMS\nEMS\nEMS\nRESC\nEMS\nEMS\nEMS"
[2026-01-15 17:59:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 17:59:52] [INFO] Found 11 elements for 'ReportNumber', using FIRST value only
[2026-01-15 17:59:52] [INFO]   -> Found value: 2026000130
[2026-01-15 17:59:52] [INFO]   -> Set field 'incidentInternalId' = "2026000130"
[2026-01-15 17:59:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000130"
[2026-01-15 17:59:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 17:59:52] [INFO]   -> Found value: MVC WITH INJURY
[2026-01-15 17:59:52] [INFO]   -> Set field 'incidentTypeValue1' = "MVC WITH INJURY"
[2026-01-15 17:59:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 17:59:52] [INFO]   -> Found value: 285
[2026-01-15 17:59:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 285
[2026-01-15 17:59:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 17:59:52] [INFO]   -> Found value: TN
[2026-01-15 17:59:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 17:59:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 17:59:52] [INFO]   -> Found value: MM285W
[2026-01-15 17:59:52] [INFO]   -> Set field 'businessName' = "MM285W"
[2026-01-15 17:59:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 17:59:52] [INFO]   -> Found value: 36.13653
[2026-01-15 17:59:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.13653000000000048430592869408428668975830078125
[2026-01-15 17:59:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 17:59:52] [INFO]   -> Found value: -85.54151
[2026-01-15 17:59:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5415100000000023783286451362073421478271484375
[2026-01-15 17:59:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 17:59:52] [INFO]   -> Found value: 2026-01-15 11:59:40
[2026-01-15 17:59:52] [INFO]   -> Set field 'alarm' = "2026-01-15 11:59:40"
[2026-01-15 17:59:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 17:59:52] [INFO]   -> Found value: 2026-01-15 11:59:40
[2026-01-15 17:59:52] [INFO]   -> Set field 'dispatched' = "2026-01-15 11:59:40"
[2026-01-15 17:59:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 17:59:52] [INFO]   -> Found value: 2026-01-15 11:59:40
[2026-01-15 17:59:52] [INFO]   -> Set field 'enroute' = "2026-01-15 11:59:40"
[2026-01-15 17:59:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 17:59:52] [INFO]   -> Found value: EN11
[2026-01-15 17:59:52] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-01-15 17:59:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 17:59:52] [INFO]   -> Found value: 2026-01-15 11:59:40
[2026-01-15 17:59:52] [INFO]   -> Set field 'timedispatch' = "2026-01-15 11:59:40"
[2026-01-15 17:59:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 17:59:52] [INFO]   -> Found value: 2026-01-15 11:59:40
[2026-01-15 17:59:52] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 11:59:40"
[2026-01-15 17:59:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 17:59:52] [INFO] Found 11 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 17:59:52] [INFO]   -> Found value: 20260005484
[2026-01-15 17:59:52] [INFO]   -> Set field 'policeReportNumber' = "20260005484"
[2026-01-15 17:59:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 17:59:52] [INFO]   -> Found value: Event spawned from MVC WITH INJURY.  [01/15/2026 11:59:40 JBOHANNON] [EMS] UDTS: {724} PATIENT LOADE...
[2026-01-15 17:59:52] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:59:40 JBOHANNON] [EMS] UDTS: {724} PATIENT LOADED  [01\/15\/26 11:57:04 JBOHANNON] [LAW] {610} OUT WITH 651  [01\/15\/26 11:55:49 LWATSON] [EMS] {706} MULTIPLE GRN TAGS 1 RED TAGS  [01\/15\/26 11:54:27 MCLAYBURN2] [LAW] THP UPDATED  [01\/15\/26 11:54:25 LWATSON] [EMS] {706} REQUEST 3 MORE TRUCKS COME IN FROM 283  [01\/15\/26 11:53:56 MCLAYBURN2] [LAW] {691} WB I 40 ALL LANES SHUT DOWN WEST OF 286 ************* 5 WRECKS NOW ******* UPDATE THP  [01\/15\/26 11:53:48 LWATSON] CFD REQUESTING RESCUE SQUAD TO RESPOND  [01\/15\/26 11:52:17 KHILL] [EMS] UDTS: EXTRICATION BEGIN  [01\/15\/26 11:51:04 KHILL] [LAW] {651} WB 286 ON RAMP SHUT DOWN **************  [01\/15\/26 11:47:31 LWATSON]  [01\/15\/26 11:50:36 LWATSON] [EMS] CONFIRMED ENTRAPMENT  [01\/15\/26 11:48:07 BPICHE] [EMS] FORD ESCAPE WHITE IN COLOR ON THE RIGHT SIDE OF THE RD WAY ELDERLY FEMALE BROKEN ARM - DRIVER OF THIS VEH  [01\/15\/26 11:45:37 KBURTON] [LAW] 286 WB ON RAMP  CARS COMING UP THE ON RAMP  [01\/15\/26 11:44:04 LWATSON] [LAW] THP DIRECT \/ UNIT ENRT FOR EARLIER WRECK  [01\/15\/26 11:42:25 LWATSON] [LAW] UDTS: READY-OP SENT  [01\/15\/26 11:41:10 MCLAYBURN2] [EMS] CHECKING AIR MEDICAL  [01\/15\/26 11:40:29 KBURTON] Radio Channel: CHARLIE TAC  [01\/15\/26 11:40:02 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/15\/26 11:39:54 LWATSON] Event spawned for PCFD Event ID:20260005467  CallRef:488  [01\/15\/26 11:39:09 KHILL] Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:38:29 KBURTON] MULTIPLE VEHS  POSSIBLE INJURIES  UNKNOWN EXACT VEH INVOLVED  [01\/15\/26 11:38:02 KBURTON]"
[2026-01-15 17:59:52] [INFO]   -> Set field 'cADLog' = "Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:59:40 JBOHANNON] [EMS] UDTS: {724} PATIENT LOADED  [01\/15\/26 11:57:04 JBOHANNON] [LAW] {610} OUT WITH 651  [01\/15\/26 11:55:49 LWATSON] [EMS] {706} MULTIPLE GRN TAGS 1 RED TAGS  [01\/15\/26 11:54:27 MCLAYBURN2] [LAW] THP UPDATED  [01\/15\/26 11:54:25 LWATSON] [EMS] {706} REQUEST 3 MORE TRUCKS COME IN FROM 283  [01\/15\/26 11:53:56 MCLAYBURN2] [LAW] {691} WB I 40 ALL LANES SHUT DOWN WEST OF 286 ************* 5 WRECKS NOW ******* UPDATE THP  [01\/15\/26 11:53:48 LWATSON] CFD REQUESTING RESCUE SQUAD TO RESPOND  [01\/15\/26 11:52:17 KHILL] [EMS] UDTS: EXTRICATION BEGIN  [01\/15\/26 11:51:04 KHILL] [LAW] {651} WB 286 ON RAMP SHUT DOWN **************  [01\/15\/26 11:47:31 LWATSON]  [01\/15\/26 11:50:36 LWATSON] [EMS] CONFIRMED ENTRAPMENT  [01\/15\/26 11:48:07 BPICHE] [EMS] FORD ESCAPE WHITE IN COLOR ON THE RIGHT SIDE OF THE RD WAY ELDERLY FEMALE BROKEN ARM - DRIVER OF THIS VEH  [01\/15\/26 11:45:37 KBURTON] [LAW] 286 WB ON RAMP  CARS COMING UP THE ON RAMP  [01\/15\/26 11:44:04 LWATSON] [LAW] THP DIRECT \/ UNIT ENRT FOR EARLIER WRECK  [01\/15\/26 11:42:25 LWATSON] [LAW] UDTS: READY-OP SENT  [01\/15\/26 11:41:10 MCLAYBURN2] [EMS] CHECKING AIR MEDICAL  [01\/15\/26 11:40:29 KBURTON] Radio Channel: CHARLIE TAC  [01\/15\/26 11:40:02 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/15\/26 11:39:54 LWATSON] Event spawned for PCFD Event ID:20260005467  CallRef:488  [01\/15\/26 11:39:09 KHILL] Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:38:29 KBURTON] MULTIPLE VEHS  POSSIBLE INJURIES  UNKNOWN EXACT VEH INVOLVED  [01\/15\/26 11:38:02 KBURTON]"
[2026-01-15 17:59:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 17:59:52] [INFO]   -> Found value: COOKEVILLE
[2026-01-15 17:59:52] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-15 17:59:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 17:59:52] [INFO]   -> Found value: I 40
[2026-01-15 17:59:52] [INFO]   -> Set field 'streetName' = "I 40"
[2026-01-15 17:59:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 17:59:52] [INFO]   -> No value found (null or empty)
[2026-01-15 17:59:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 17:59:52] [INFO]   -> Found value: 285 W I 40
[2026-01-15 17:59:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "285 W I 40"
[2026-01-15 17:59:52] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-15 17:59:52] [INFO] Built locationCoordinates from lat/lng: 36.13653,-85.54151
[2026-01-15 17:59:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nCPD\nCFD\nEMS\nEMS\nEMS\nRESC\nEMS\nEMS\nEMS","incidentInternalId":"2026000130","dispatchRunNumber":"2026000130","incidentTypeValue1":"MVC WITH INJURY","incidentLocationStreetNumber":285,"incidentLocationStateName":"TN","businessName":"MM285W","nERISIncidentLatitude":36.13653000000000048430592869408428668975830078125,"nERISIncidentLongitude":-85.5415100000000023783286451362073421478271484375,"alarm":"2026-01-15 11:59:40","dispatched":"2026-01-15 11:59:40","enroute":"2026-01-15 11:59:40","cADVehicleID":"EN11","timedispatch":"2026-01-15 11:59:40","timeenroutetoscene":"2026-01-15 11:59:40","policeReportNumber":"20260005484","dispatchNotes":"Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:59:40 JBOHANNON] [EMS] UDTS: {724} PATIENT LOADED  [01\/15\/26 11:57:04 JBOHANNON] [LAW] {610} OUT WITH 651  [01\/15\/26 11:55:49 LWATSON] [EMS] {706} MULTIPLE GRN TAGS 1 RED TAGS  [01\/15\/26 11:54:27 MCLAYBURN2] [LAW] THP UPDATED  [01\/15\/26 11:54:25 LWATSON] [EMS] {706} REQUEST 3 MORE TRUCKS COME IN FROM 283  [01\/15\/26 11:53:56 MCLAYBURN2] [LAW] {691} WB I 40 ALL LANES SHUT DOWN WEST OF 286 ************* 5 WRECKS NOW ******* UPDATE THP  [01\/15\/26 11:53:48 LWATSON] CFD REQUESTING RESCUE SQUAD TO RESPOND  [01\/15\/26 11:52:17 KHILL] [EMS] UDTS: EXTRICATION BEGIN  [01\/15\/26 11:51:04 KHILL] [LAW] {651} WB 286 ON RAMP SHUT DOWN **************  [01\/15\/26 11:47:31 LWATSON]  [01\/15\/26 11:50:36 LWATSON] [EMS] CONFIRMED ENTRAPMENT  [01\/15\/26 11:48:07 BPICHE] [EMS] FORD ESCAPE WHITE IN COLOR ON THE RIGHT SIDE OF THE RD WAY ELDERLY FEMALE BROKEN ARM - DRIVER OF THIS VEH  [01\/15\/26 11:45:37 KBURTON] [LAW] 286 WB ON RAMP  CARS COMING UP THE ON RAMP  [01\/15\/26 11:44:04 LWATSON] [LAW] THP DIRECT \/ UNIT ENRT FOR EARLIER WRECK  [01\/15\/26 11:42:25 LWATSON] [LAW] UDTS: READY-OP SENT  [01\/15\/26 11:41:10 MCLAYBURN2] [EMS] CHECKING AIR MEDICAL  [01\/15\/26 11:40:29 KBURTON] Radio Channel: CHARLIE TAC  [01\/15\/26 11:40:02 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/15\/26 11:39:54 LWATSON] Event spawned for PCFD Event ID:20260005467  CallRef:488  [01\/15\/26 11:39:09 KHILL] Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:38:29 KBURTON] MULTIPLE VEHS  POSSIBLE INJURIES  UNKNOWN EXACT VEH INVOLVED  [01\/15\/26 11:38:02 KBURTON]","cADLog":"Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:59:40 JBOHANNON] [EMS] UDTS: {724} PATIENT LOADED  [01\/15\/26 11:57:04 JBOHANNON] [LAW] {610} OUT WITH 651  [01\/15\/26 11:55:49 LWATSON] [EMS] {706} MULTIPLE GRN TAGS 1 RED TAGS  [01\/15\/26 11:54:27 MCLAYBURN2] [LAW] THP UPDATED  [01\/15\/26 11:54:25 LWATSON] [EMS] {706} REQUEST 3 MORE TRUCKS COME IN FROM 283  [01\/15\/26 11:53:56 MCLAYBURN2] [LAW] {691} WB I 40 ALL LANES SHUT DOWN WEST OF 286 ************* 5 WRECKS NOW ******* UPDATE THP  [01\/15\/26 11:53:48 LWATSON] CFD REQUESTING RESCUE SQUAD TO RESPOND  [01\/15\/26 11:52:17 KHILL] [EMS] UDTS: EXTRICATION BEGIN  [01\/15\/26 11:51:04 KHILL] [LAW] {651} WB 286 ON RAMP SHUT DOWN **************  [01\/15\/26 11:47:31 LWATSON]  [01\/15\/26 11:50:36 LWATSON] [EMS] CONFIRMED ENTRAPMENT  [01\/15\/26 11:48:07 BPICHE] [EMS] FORD ESCAPE WHITE IN COLOR ON THE RIGHT SIDE OF THE RD WAY ELDERLY FEMALE BROKEN ARM - DRIVER OF THIS VEH  [01\/15\/26 11:45:37 KBURTON] [LAW] 286 WB ON RAMP  CARS COMING UP THE ON RAMP  [01\/15\/26 11:44:04 LWATSON] [LAW] THP DIRECT \/ UNIT ENRT FOR EARLIER WRECK  [01\/15\/26 11:42:25 LWATSON] [LAW] UDTS: READY-OP SENT  [01\/15\/26 11:41:10 MCLAYBURN2] [EMS] CHECKING AIR MEDICAL  [01\/15\/26 11:40:29 KBURTON] Radio Channel: CHARLIE TAC  [01\/15\/26 11:40:02 KHILL] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [01\/15\/26 11:39:54 LWATSON] Event spawned for PCFD Event ID:20260005467  CallRef:488  [01\/15\/26 11:39:09 KHILL] Event spawned from MVC WITH INJURY.  [01\/15\/2026 11:38:29 KBURTON] MULTIPLE VEHS  POSSIBLE INJURIES  UNKNOWN EXACT VEH INVOLVED  [01\/15\/26 11:38:02 KBURTON]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"285 W I 40","locationCoordinates":"36.13653,-85.54151"}
[2026-01-15 17:59:52] [INFO] Number of extracted fields: 22
[2026-01-15 17:59:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
CPD
CFD
EMS
EMS
EMS
RESC
EMS
EMS
EMS'
[2026-01-15 17:59:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
CPD
CFD
EMS
EMS
EMS
RESC
EMS
EMS
EMS', Parsed IDs = ["PCFD","EMS","CPD","CFD","EMS","EMS","EMS","RESC","EMS","EMS","EMS"], Non-empty count = 11, Total agency count = 11, Assigned Agencies count = 4
[2026-01-15 17:59:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","CPD","CFD","EMS","EMS","EMS","RESC","EMS","EMS","EMS"]
[2026-01-15 17:59:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 17:59:53] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 17:59:53] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","CPD","CFD","EMS","EMS","EMS","RESC","EMS","EMS","EMS"]
[2026-01-15 17:59:53] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 17:59:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 17:59:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 11)
[2026-01-15 17:59:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 17:59:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 17:59:53] [INFO] Found existing IncidentTypeMapping with ID: 69380b1bd578b1eb3
[2026-01-15 18:00:01] [INFO] Created new Dispatches record with ID: 69692b19b4d93bef6
[2026-01-15 18:00:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005484_20260115_175952.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005484_20260115_175952.XML
[2026-01-15 18:00:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005484_20260115_175952.XML
[2026-01-15 18:21:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml
[2026-01-15 18:21:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml for user: 69320e6a9e3e5ef71
[2026-01-15 18:21:33] [INFO] File size: 9758 bytes
[2026-01-15 18:21:34] [INFO] Created FTPFiles record with ID: 6969302e1a91dfb69
[2026-01-15 18:21:34] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 18:21:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003246.xml
[2026-01-15 18:21:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml
[2026-01-15 18:30:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260005496_20260115_183032.XML
[2026-01-15 18:30:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260005496_20260115_183032.XML for user: 68f1466aed072ad4a
[2026-01-15 18:30:32] [INFO] File size: 4940 bytes
[2026-01-15 18:30:32] [INFO] Created FTPFiles record with ID: 69693248dd21f13be
[2026-01-15 18:30:32] [INFO] About to extract fields from XML. File size: 4940 bytes
[2026-01-15 18:30:32] [INFO] Number of mappings: 28
[2026-01-15 18:30:32] [INFO] Starting XML parsing. Content length: 4940
[2026-01-15 18:30:32] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 18:30:32] [INFO] Processing 28 field mappings
[2026-01-15 18:30:32] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 18:30:32] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 18:30:32] [INFO]   -> Found value: AFD
[2026-01-15 18:30:32] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2026-01-15 18:30:32] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026000019
[2026-01-15 18:30:32] [INFO]   -> Set field 'incidentInternalId' = "2026000019"
[2026-01-15 18:30:32] [INFO]   -> Set field 'dispatchRunNumber' = "2026000019"
[2026-01-15 18:30:32] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 18:30:32] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-01-15 18:30:32] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-01-15 18:30:32] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 18:30:32] [INFO]   -> Found value: 168
[2026-01-15 18:30:32] [INFO]   -> Set field 'incidentLocationStreetNumber' = 168
[2026-01-15 18:30:32] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 18:30:32] [INFO]   -> Found value: TN
[2026-01-15 18:30:32] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 18:30:32] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 18:30:32] [INFO]   -> Found value: 38506
[2026-01-15 18:30:32] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-15 18:30:32] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 18:30:32] [INFO]   -> No value found (null or empty)
[2026-01-15 18:30:32] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 18:30:32] [INFO]   -> No value found (null or empty)
[2026-01-15 18:30:32] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 18:30:32] [INFO]   -> Found value: 36.19798
[2026-01-15 18:30:32] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.197980000000001155058271251618862152099609375
[2026-01-15 18:30:32] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 18:30:32] [INFO]   -> Found value: -85.44685
[2026-01-15 18:30:32] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4468499999999977490006131120026111602783203125
[2026-01-15 18:30:32] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026-01-15 12:29:59
[2026-01-15 18:30:32] [INFO]   -> Set field 'alarm' = "2026-01-15 12:29:59"
[2026-01-15 18:30:32] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026-01-15 12:30:22
[2026-01-15 18:30:32] [INFO]   -> Set field 'dispatched' = "2026-01-15 12:30:22"
[2026-01-15 18:30:32] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026-01-15 12:30:22
[2026-01-15 18:30:32] [INFO]   -> Set field 'enroute' = "2026-01-15 12:30:22"
[2026-01-15 18:30:32] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026-01-15 12:30:22
[2026-01-15 18:30:32] [INFO]   -> Set field 'onScene' = "2026-01-15 12:30:22"
[2026-01-15 18:30:32] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 18:30:32] [INFO]   -> No value found (null or empty)
[2026-01-15 18:30:32] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 18:30:32] [INFO]   -> Found value: E HIGH ST/CEDAR ST
[2026-01-15 18:30:32] [INFO]   -> Set field 'incidentLocationCross' = "E HIGH ST\/CEDAR ST"
[2026-01-15 18:30:32] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 18:30:32] [INFO]   -> Found value: A1220
[2026-01-15 18:30:32] [INFO]   -> Set field 'cADVehicleID' = "A1220"
[2026-01-15 18:30:32] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026-01-15 12:30:22
[2026-01-15 18:30:32] [INFO]   -> Set field 'timedispatch' = "2026-01-15 12:30:22"
[2026-01-15 18:30:32] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026-01-15 12:30:22
[2026-01-15 18:30:32] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-15 12:30:22"
[2026-01-15 18:30:32] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 18:30:32] [INFO]   -> Found value: 2026-01-15 12:30:22
[2026-01-15 18:30:32] [INFO]   -> Set field 'timeonscene' = "2026-01-15 12:30:22"
[2026-01-15 18:30:32] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 18:30:32] [INFO]   -> No value found (null or empty)
[2026-01-15 18:30:32] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 18:30:32] [INFO]   -> No value found (null or empty)
[2026-01-15 18:30:32] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 18:30:32] [INFO]   -> Found value: 20260005496
[2026-01-15 18:30:32] [INFO]   -> Set field 'policeReportNumber' = "20260005496"
[2026-01-15 18:30:32] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 18:30:32] [INFO]   -> Found value: SMOKE ALARM INSTALL  [01/15/26 12:30:14 MCLAYBURN2]]
[2026-01-15 18:30:32] [INFO]   -> Set field 'dispatchNotes' = "SMOKE ALARM INSTALL  [01\/15\/26 12:30:14 MCLAYBURN2]]"
[2026-01-15 18:30:32] [INFO]   -> Set field 'cADLog' = "SMOKE ALARM INSTALL  [01\/15\/26 12:30:14 MCLAYBURN2]]"
[2026-01-15 18:30:32] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 18:30:32] [INFO]   -> Found value: ALGOOD
[2026-01-15 18:30:32] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-15 18:30:32] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 18:30:32] [INFO]   -> Found value: HARP
[2026-01-15 18:30:32] [INFO]   -> Set field 'streetName' = "HARP"
[2026-01-15 18:30:32] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 18:30:32] [INFO]   -> Found value: AVE
[2026-01-15 18:30:32] [INFO]   -> Set field 'streetType' = "AVE"
[2026-01-15 18:30:32] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 18:30:32] [INFO]   -> Found value: 168 HARP AVE
[2026-01-15 18:30:32] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "168 HARP AVE"
[2026-01-15 18:30:32] [INFO] Finished extracting fields. Total fields extracted: 25
[2026-01-15 18:30:32] [INFO] Concatenating street name and type
[2026-01-15 18:30:32] [INFO]   -> Combined street name: HARP AVE
[2026-01-15 18:30:32] [INFO] Built locationCoordinates from lat/lng: 36.19798,-85.44685
[2026-01-15 18:30:32] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2026000019","dispatchRunNumber":"2026000019","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":168,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.197980000000001155058271251618862152099609375,"nERISIncidentLongitude":-85.4468499999999977490006131120026111602783203125,"alarm":"2026-01-15 12:29:59","dispatched":"2026-01-15 12:30:22","enroute":"2026-01-15 12:30:22","onScene":"2026-01-15 12:30:22","incidentLocationCross":"E HIGH ST\/CEDAR ST","cADVehicleID":"A1220","timedispatch":"2026-01-15 12:30:22","timeenroutetoscene":"2026-01-15 12:30:22","timeonscene":"2026-01-15 12:30:22","policeReportNumber":"20260005496","dispatchNotes":"SMOKE ALARM INSTALL  [01\/15\/26 12:30:14 MCLAYBURN2]]","cADLog":"SMOKE ALARM INSTALL  [01\/15\/26 12:30:14 MCLAYBURN2]]","incidentLocationCity":"ALGOOD","streetName":"HARP AVE","incidentAddressTextVersionStreet":"168 HARP AVE","locationCoordinates":"36.19798,-85.44685"}
[2026-01-15 18:30:32] [INFO] Number of extracted fields: 25
[2026-01-15 18:30:32] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2026-01-15 18:30:32] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-15 18:30:32] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2026-01-15 18:30:32] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-15 18:30:33] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-15 18:30:33] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-15 18:30:33] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-15 18:30:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-15 18:30:33] [INFO] Found existing IncidentTypeMapping with ID: 6948308a96fa6a599
[2026-01-15 18:30:39] [INFO] Created new Dispatches record with ID: 69693249c1ecb8548
[2026-01-15 18:30:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260005496_20260115_183032.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/AFD_20260005496_20260115_183032.XML
[2026-01-15 18:30:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260005496_20260115_183032.XML
[2026-01-15 18:35:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml
[2026-01-15 18:35:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml for user: 69320e6a9e3e5ef71
[2026-01-15 18:35:27] [INFO] File size: 11380 bytes
[2026-01-15 18:35:28] [INFO] Created FTPFiles record with ID: 69693370164ac0267
[2026-01-15 18:35:28] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 18:35:28] [INFO] File already exists in archive, using unique name: cfs_2026-003246_1768502128.xml
[2026-01-15 18:35:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003246_1768502128.xml
[2026-01-15 18:35:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml
[2026-01-15 18:35:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml
[2026-01-15 18:35:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml for user: 69320e6a9e3e5ef71
[2026-01-15 18:35:31] [INFO] File size: 13002 bytes
[2026-01-15 18:35:32] [INFO] Created FTPFiles record with ID: 6969337406116fd3c
[2026-01-15 18:35:32] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 18:35:32] [INFO] File already exists in archive, using unique name: cfs_2026-003246_1768502132.xml
[2026-01-15 18:35:32] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003246_1768502132.xml
[2026-01-15 18:35:32] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003246.xml
[2026-01-15 19:08:33] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml
[2026-01-15 19:08:33] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml for user: 69320e6a9e3e5ef71
[2026-01-15 19:08:33] [INFO] File size: 8393 bytes
[2026-01-15 19:08:33] [INFO] Created FTPFiles record with ID: 69693b31de184dbd2
[2026-01-15 19:08:33] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 19:08:33] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003258.xml
[2026-01-15 19:08:33] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml
[2026-01-15 19:24:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml
[2026-01-15 19:24:04] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml for user: 69320e6a9e3e5ef71
[2026-01-15 19:24:04] [INFO] File size: 9381 bytes
[2026-01-15 19:24:04] [INFO] Created FTPFiles record with ID: 69693ed4e2c4b7492
[2026-01-15 19:24:04] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 19:24:04] [INFO] File already exists in archive, using unique name: cfs_2026-003258_1768505044.xml
[2026-01-15 19:24:04] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003258_1768505044.xml
[2026-01-15 19:24:04] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml
[2026-01-15 19:24:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml
[2026-01-15 19:24:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml for user: 69320e6a9e3e5ef71
[2026-01-15 19:24:10] [INFO] File size: 11001 bytes
[2026-01-15 19:24:10] [INFO] Created FTPFiles record with ID: 69693edabd4aecff7
[2026-01-15 19:24:10] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-15 19:24:10] [INFO] File already exists in archive, using unique name: cfs_2026-003258_1768505050.xml
[2026-01-15 19:24:10] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-01-15/cfs_2026-003258_1768505050.xml
[2026-01-15 19:24:10] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-003258.xml
[2026-01-15 23:15:02] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005601_20260115_231502.XML
[2026-01-15 23:15:02] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005601_20260115_231502.XML for user: 68f1466aed072ad4a
[2026-01-15 23:15:02] [INFO] File size: 5377 bytes
[2026-01-15 23:15:02] [INFO] Created FTPFiles record with ID: 696974f6757717af5
[2026-01-15 23:15:02] [INFO] About to extract fields from XML. File size: 5377 bytes
[2026-01-15 23:15:02] [INFO] Number of mappings: 28
[2026-01-15 23:15:02] [INFO] Starting XML parsing. Content length: 5377
[2026-01-15 23:15:02] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-15 23:15:02] [INFO] Processing 28 field mappings
[2026-01-15 23:15:02] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-15 23:15:02] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-15 23:15:02] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-01-15 23:15:02] [INFO] Found 3 elements for 'AgencyCode', concatenating 3 non-empty values
[2026-01-15 23:15:02] [INFO]   -> Found value: PCFD
EMS
RESC
[2026-01-15 23:15:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nRESC"
[2026-01-15 23:15:02] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-15 23:15:02] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-15 23:15:02] [INFO]   -> Found value: 2026000131
[2026-01-15 23:15:02] [INFO]   -> Set field 'incidentInternalId' = "2026000131"
[2026-01-15 23:15:02] [INFO]   -> Set field 'dispatchRunNumber' = "2026000131"
[2026-01-15 23:15:02] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-15 23:15:02] [INFO]   -> Found value: MANPOWER - EMS ASSIST
[2026-01-15 23:15:02] [INFO]   -> Set field 'incidentTypeValue1' = "MANPOWER - EMS ASSIST"
[2026-01-15 23:15:02] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-15 23:15:02] [INFO]   -> Found value: 3010
[2026-01-15 23:15:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 3010
[2026-01-15 23:15:02] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-15 23:15:02] [INFO]   -> Found value: TN
[2026-01-15 23:15:02] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-15 23:15:02] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-15 23:15:02] [INFO]   -> Found value: 38506
[2026-01-15 23:15:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-15 23:15:02] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-15 23:15:02] [INFO]   -> Found value: 36.24147
[2026-01-15 23:15:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24146999999999962938090902753174304962158203125
[2026-01-15 23:15:02] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-15 23:15:02] [INFO]   -> Found value: -85.43627
[2026-01-15 23:15:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4362699999999932742866803891956806182861328125
[2026-01-15 23:15:02] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-15 23:15:02] [INFO]   -> Found value: 2026-01-15 17:13:56
[2026-01-15 23:15:02] [INFO]   -> Set field 'alarm' = "2026-01-15 17:13:56"
[2026-01-15 23:15:02] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-15 23:15:02] [INFO]   -> Found value: 2026-01-15 17:14:56
[2026-01-15 23:15:02] [INFO]   -> Set field 'dispatched' = "2026-01-15 17:14:56"
[2026-01-15 23:15:02] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-15 23:15:02] [INFO]   -> Found value: POSTON WHITEAKER RD/PRESLEY LN
[2026-01-15 23:15:02] [INFO]   -> Set field 'incidentLocationCross' = "POSTON WHITEAKER RD\/PRESLEY LN"
[2026-01-15 23:15:02] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-15 23:15:02] [INFO]   -> Found value: TK11
[2026-01-15 23:15:02] [INFO]   -> Set field 'cADVehicleID' = "TK11"
[2026-01-15 23:15:02] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-15 23:15:02] [INFO]   -> Found value: 2026-01-15 17:14:56
[2026-01-15 23:15:02] [INFO]   -> Set field 'timedispatch' = "2026-01-15 17:14:56"
[2026-01-15 23:15:02] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-15 23:15:02] [INFO]   -> No value found (null or empty)
[2026-01-15 23:15:02] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-15 23:15:02] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-15 23:15:02] [INFO]   -> Found value: 20260005601
[2026-01-15 23:15:02] [INFO]   -> Set field 'policeReportNumber' = "20260005601"
[2026-01-15 23:15:02] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-15 23:15:02] [INFO]   -> Found value: Event spawned from EMS NON-EMERGENCY.  [01/15/2026 17:13:56 KHILL] FRONT DOOR ENTRY  [01/15/26 16:45...
[2026-01-15 23:15:02] [INFO]   -> Set field 'dispatchNotes' = "Event spawned from EMS NON-EMERGENCY.  [01\/15\/2026 17:13:56 KHILL] FRONT DOOR ENTRY  [01\/15\/26 16:45:51 MCLAYBURN2] ERNIE BURGESS  [01\/15\/26 16:45:44 MCLAYBURN2] KNEE INFECTION  PAIN IN ONE SIDE COLOSCOPY BAG ON LEFT SIDE HERNIA HURING IN THE STOMACH AREA  [01\/15\/26 16:45:23 MCLAYBURN2]]"
[2026-01-15 23:15:02] [INFO]   -> Set field 'cADLog' = "Event spawned from EMS NON-EMERGENCY.  [01\/15\/2026 17:13:56 KHILL] FRONT DOOR ENTRY  [01\/15\/26 16:45:51 MCLAYBURN2] ERNIE BURGESS  [01\/15\/26 16:45:44 MCLAYBURN2] KNEE INFECTION  PAIN IN ONE SIDE COLOSCOPY BAG ON LEFT SIDE HERNIA HURING IN THE STOMACH AREA  [01\/15\/26 16:45:23 MCLAYBURN2]]"
[2026-01-15 23:15:02] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-15 23:15:02] [INFO]   -> Found value: COOKEVILLE
[2026-01-15 23:15:02] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-15 23:15:02] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-15 23:15:02] [INFO]   -> Found value: PARAN
[2026-01-15 23:15:02] [INFO]   -> Set field 'streetName' = "PARAN"
[2026-01-15 23:15:02] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-15 23:15:02] [INFO]   -> Found value: RD
[2026-01-15 23:15:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-15 23:15:02] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-15 23:15:02] [INFO]   -> Found value: 3010 PARAN RD
[2026-01-15 23:15:02] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "3010 PARAN RD"
[2026-01-15 23:15:02] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-15 23:15:02] [INFO] Concatenating street name and type
[2026-01-15 23:15:02] [INFO]   -> Combined street name: PARAN RD
[2026-01-15 23:15:02] [INFO] Built locationCoordinates from lat/lng: 36.24147,-85.43627
[2026-01-15 23:15:02] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nRESC","incidentInternalId":"2026000131","dispatchRunNumber":"2026000131","incidentTypeValue1":"MANPOWER - EMS ASSIST","incidentLocationStreetNumber":3010,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.24146999999999962938090902753174304962158203125,"nERISIncidentLongitude":-85.4362699999999932742866803891956806182861328125,"alarm":"2026-01-15 17:13:56","dispatched":"2026-01-15 17:14:56","incidentLocationCross":"POSTON WHITEAKER RD\/PRESLEY LN","cADVehicleID":"TK11","timedispatch":"2026-01-15 17:14:56","policeReportNumber":"20260005601","dispatchNotes":"Event spawned from EMS NON-EMERGENCY.  [01\/15\/2026 17:13:56 KHILL] FRONT DOOR ENTRY  [01\/15\/26 16:45:51 MCLAYBURN2] ERNIE BURGESS  [01\/15\/26 16:45:44 MCLAYBURN2] KNEE INFECTION  PAIN IN ONE SIDE COLOSCOPY BAG ON LEFT SIDE HERNIA HURING IN THE STOMACH AREA  [01\/15\/26 16:45:23 MCLAYBURN2]]","cADLog":"Event spawned from EMS NON-EMERGENCY.  [01\/15\/2026 17:13:56 KHILL] FRONT DOOR ENTRY  [01\/15\/26 16:45:51 MCLAYBURN2] ERNIE BURGESS  [01\/15\/26 16:45:44 MCLAYBURN2] KNEE INFECTION  PAIN IN ONE SIDE COLOSCOPY BAG ON LEFT SIDE HERNIA HURING IN THE STOMACH AREA  [01\/15\/26 16:45:23 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"PARAN RD","incidentAddressTextVersionStreet":"3010 PARAN RD","locationCoordinates":"36.24147,-85.43627"}
[2026-01-15 23:15:02] [INFO] Number of extracted fields: 21
[2026-01-15 23:15:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
RESC'
[2026-01-15 23:15:02] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
RESC', Parsed IDs = ["PCFD","EMS","RESC"], Non-empty count = 3, Total agency count = 3, Assigned Agencies count = 4
[2026-01-15 23:15:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","RESC"]
[2026-01-15 23:15:02] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-15 23:15:02] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-15 23:15:02] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","RESC"]
[2026-01-15 23:15:02] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-15 23:15:02] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-15 23:15:02] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 3)
[2026-01-15 23:15:02] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-01-15 23:15:02] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-15 23:15:02] [INFO] Found existing IncidentTypeMapping with ID: 6938bcc5e565c9852
[2026-01-15 23:15:12] [INFO] Created new Dispatches record with ID: 696974f8448068b21
[2026-01-15 23:15:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005601_20260115_231502.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-01-15/PCFD_20260005601_20260115_231502.XML
[2026-01-15 23:15:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260005601_20260115_231502.XML
[2026-01-15 23:29:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01529.xml
[2026-01-15 23:29:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01529.xml for user: 68d56363ec1209189
[2026-01-15 23:29:39] [INFO] File size: 1399 bytes
[2026-01-15 23:29:39] [INFO] Created FTPFiles record with ID: 69697863977ceaa82
[2026-01-15 23:29:39] [INFO] About to extract fields from XML. File size: 1399 bytes
[2026-01-15 23:29:39] [INFO] Number of mappings: 21
[2026-01-15 23:29:39] [INFO] Starting XML parsing. Content length: 1399
[2026-01-15 23:29:39] [INFO] XML parsed successfully. Root element: Incident
[2026-01-15 23:29:39] [INFO] Processing 21 field mappings
[2026-01-15 23:29:39] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-15 23:29:39] [INFO]   -> Found value: 26-01529
[2026-01-15 23:29:39] [INFO]   -> Set field 'dispatchRunNumber' = "26-01529"
[2026-01-15 23:29:39] [INFO]   -> Set field 'cADNumber' = "26-01529"
[2026-01-15 23:29:39] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-15 23:29:39] [INFO]   -> Found value: 427
[2026-01-15 23:29:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 427
[2026-01-15 23:29:39] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-15 23:29:39] [INFO]   -> Found value: S KELLY ST
[2026-01-15 23:29:39] [INFO]   -> Set field 'streetName' = "S KELLY ST"
[2026-01-15 23:29:39] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-15 23:29:39] [INFO]   -> No value found (null or empty)
[2026-01-15 23:29:39] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-15 23:29:39] [INFO]   -> Found value: MORLEY
[2026-01-15 23:29:39] [INFO]   -> Set field 'incidentLocationCity' = "MORLEY"
[2026-01-15 23:29:39] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-15 23:29:39] [INFO]   -> Found value: FRITZROSIE
[2026-01-15 23:29:39] [INFO]   -> Set field 'businessName' = "FRITZROSIE"
[2026-01-15 23:29:39] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-15 23:29:39] [INFO]   -> Found value: MO
[2026-01-15 23:29:39] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-15 23:29:39] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-15 23:29:39] [INFO]   -> Found value: 63767
[2026-01-15 23:29:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63767
[2026-01-15 23:29:39] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-15 23:29:39] [INFO]   -> Found value: 0
[2026-01-15 23:29:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-15 23:29:39] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-15 23:29:39] [INFO]   -> Found value: 0
[2026-01-15 23:29:39] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-15 23:29:39] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-15 23:29:39] [INFO]   -> Found value: SICK CASE
[2026-01-15 23:29:39] [INFO]   -> Set field 'incidentTypeValue1' = "SICK CASE"
[2026-01-15 23:29:39] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-15 23:29:39] [INFO]   -> Found value: 01-15-2026 17:16:28|92 YO MALE VERY WEAK AND UNABLE TO GET OUT OF BED DEHYDRATED 01-15-2026 17:28:33...
[2026-01-15 23:29:39] [INFO]   -> Set field 'dispatchNotes' = "01-15-2026 17:16:28|92 YO MALE VERY WEAK AND UNABLE TO GET OUT OF BED DEHYDRATED 01-15-2026 17:28:33|NO RESPONSE FROM SCOTT COUNTY RURAL"
[2026-01-15 23:29:39] [INFO]   -> Set field 'cADLog' = "01-15-2026 17:16:28|92 YO MALE VERY WEAK AND UNABLE TO GET OUT OF BED DEHYDRATED 01-15-2026 17:28:33|NO RESPONSE FROM SCOTT COUNTY RURAL"
[2026-01-15 23:29:39] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-15 23:29:39] [INFO]   -> Found value: 01-15-2026T17:19:30
[2026-01-15 23:29:39] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T17:19:30
[2026-01-15 23:29:39] [ERROR] Error formatting datetime '2026-15-01T17:19:30': Failed to parse time string (2026-15-01T17:19:30) at position 6 (5): Unexpected character
[2026-01-15 23:29:39] [INFO]   -> Set field 'alarm' = null
[2026-01-15 23:29:39] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T17:19:30
[2026-01-15 23:29:39] [ERROR] Error formatting datetime '2026-15-01T17:19:30': Failed to parse time string (2026-15-01T17:19:30) at position 6 (5): Unexpected character
[2026-01-15 23:29:39] [INFO]   -> Set field 'dispatched' = null
[2026-01-15 23:29:39] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-15 23:29:39] [INFO]   -> No value found (null or empty)
[2026-01-15 23:29:39] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-15 23:29:39] [INFO]   -> No value found (null or empty)
[2026-01-15 23:29:39] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-15 23:29:39] [INFO]   -> Found value: RURAL PAGE
[2026-01-15 23:29:39] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-01-15 23:29:39] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-01-15 23:29:39] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-15 23:29:39] [INFO]   -> No value found (null or empty)
[2026-01-15 23:29:39] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-15 23:29:39] [INFO]   -> No value found (null or empty)
[2026-01-15 23:29:39] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-15 23:29:39] [INFO]   -> Found value: 01-15-2026T17:28:36
[2026-01-15 23:29:39] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T17:28:36
[2026-01-15 23:29:39] [ERROR] Error formatting datetime '2026-15-01T17:28:36': Failed to parse time string (2026-15-01T17:28:36) at position 6 (5): Unexpected character
[2026-01-15 23:29:39] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-15 23:29:39] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-15 23:29:39] [INFO]   -> Found value: 01-15-2026T17:19:30
[2026-01-15 23:29:39] [INFO] Reformatted DD-MM-YYYY date '01-15-2026' (day=01, month=15) to ISO: 2026-15-01T17:19:30
[2026-01-15 23:29:39] [ERROR] Error formatting datetime '2026-15-01T17:19:30': Failed to parse time string (2026-15-01T17:19:30) at position 6 (5): Unexpected character
[2026-01-15 23:29:39] [INFO]   -> Set field 'timedispatch' = null
[2026-01-15 23:29:39] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-15 23:29:39] [INFO]   -> Found value: SCRFD
[2026-01-15 23:29:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-15 23:29:39] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-15 23:29:39] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-15 23:29:39] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-01529","cADNumber":"26-01529","incidentLocationStreetNumber":427,"streetName":"S KELLY ST","incidentLocationCity":"MORLEY","businessName":"FRITZROSIE","incidentLocationStateName":"MO","nERISIncidentPostalCode":63767,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"SICK CASE","dispatchNotes":"01-15-2026 17:16:28|92 YO MALE VERY WEAK AND UNABLE TO GET OUT OF BED DEHYDRATED 01-15-2026 17:28:33|NO RESPONSE FROM SCOTT COUNTY RURAL","cADLog":"01-15-2026 17:16:28|92 YO MALE VERY WEAK AND UNABLE TO GET OUT OF BED DEHYDRATED 01-15-2026 17:28:33|NO RESPONSE FROM SCOTT COUNTY RURAL","alarm":null,"dispatched":null,"cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":null,"timedispatch":null,"cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-15 23:29:39] [INFO] Number of extracted fields: 21
[2026-01-15 23:29:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-15 23:29:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-15 23:29:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-15 23:29:39] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-15 23:29:39] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-15 23:29:39] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-15 23:29:39] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-15 23:29:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-15 23:29:40] [INFO] Found existing IncidentTypeMapping with ID: 694cb51617a7455da
[2026-01-15 23:29:40] [INFO] Found existing Dispatch with cADNumber '26-01529', ID: 6969762f3ef7bb585 - will update instead of create
[2026-01-15 23:29:40] [INFO] Updated existing Dispatches record with ID: 6969762f3ef7bb585
[2026-01-15 23:29:40] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01529.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-01-15/SCRFD_26-01529.xml
[2026-01-15 23:29:40] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-01529.xml
