[2026-03-05 00:02:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06637.xml
[2026-03-05 00:02:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06637.xml for user: 68d56363ec1209189
[2026-03-05 00:02:12] [INFO] File size: 1324 bytes
[2026-03-05 00:02:12] [INFO] Created FTPFiles record with ID: 69a8c804b9f0eb3bc
[2026-03-05 00:02:12] [INFO] About to extract fields from XML. File size: 1324 bytes
[2026-03-05 00:02:12] [INFO] Number of mappings: 21
[2026-03-05 00:02:12] [INFO] Starting XML parsing. Content length: 1324
[2026-03-05 00:02:12] [INFO] XML parsed successfully. Root element: Incident
[2026-03-05 00:02:12] [INFO] Processing 21 field mappings
[2026-03-05 00:02:12] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-05 00:02:12] [INFO]   -> Found value: 26-06637
[2026-03-05 00:02:12] [INFO]   -> Set field 'dispatchRunNumber' = "26-06637"
[2026-03-05 00:02:12] [INFO]   -> Set field 'cADNumber' = "26-06637"
[2026-03-05 00:02:12] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-05 00:02:12] [INFO]   -> Found value: 201
[2026-03-05 00:02:12] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-03-05 00:02:12] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-05 00:02:12] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-03-05 00:02:12] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-03-05 00:02:12] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-05 00:02:12] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:12] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-05 00:02:12] [INFO]   -> Found value: SIKESTON
[2026-03-05 00:02:12] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-05 00:02:12] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-05 00:02:12] [INFO]   -> Found value: SIKESTON DPS
[2026-03-05 00:02:12] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-03-05 00:02:12] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-05 00:02:12] [INFO]   -> Found value: MO
[2026-03-05 00:02:12] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-05 00:02:12] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-05 00:02:12] [INFO]   -> Found value: 63801
[2026-03-05 00:02:12] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-05 00:02:12] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-05 00:02:12] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:12] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-05 00:02:12] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:12] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-05 00:02:12] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-03-05 00:02:12] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-03-05 00:02:12] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-05 00:02:12] [INFO]   -> Found value: 03-04-2026 18:00:00|WED EVENING PAGER TEST
[2026-03-05 00:02:12] [INFO]   -> Set field 'dispatchNotes' = "03-04-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-05 00:02:12] [INFO]   -> Set field 'cADLog' = "03-04-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-05 00:02:12] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-05 00:02:12] [INFO]   -> Found value: 03-04-2026T18:01:10
[2026-03-05 00:02:12] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:10
[2026-03-05 00:02:12] [INFO]   -> Set field 'alarm' = "2026-04-03 18:01:10"
[2026-03-05 00:02:12] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:10
[2026-03-05 00:02:12] [INFO]   -> Set field 'dispatched' = "2026-04-03 18:01:10"
[2026-03-05 00:02:12] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-05 00:02:12] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:12] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-05 00:02:12] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:12] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-05 00:02:12] [INFO]   -> Found value: RURAL PAGE
[2026-03-05 00:02:12] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-03-05 00:02:12] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-03-05 00:02:12] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-05 00:02:12] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:12] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-05 00:02:12] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:12] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-05 00:02:12] [INFO]   -> Found value: 03-04-2026T18:01:26
[2026-03-05 00:02:12] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:26
[2026-03-05 00:02:12] [INFO]   -> Set field 'timeunitclear' = "2026-04-03 18:01:26"
[2026-03-05 00:02:12] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-05 00:02:12] [INFO]   -> Found value: 03-04-2026T18:01:12
[2026-03-05 00:02:12] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:12
[2026-03-05 00:02:12] [INFO]   -> Set field 'timedispatch' = "2026-04-03 18:01:12"
[2026-03-05 00:02:12] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-05 00:02:12] [INFO]   -> Found value: SCRFD
[2026-03-05 00:02:12] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-05 00:02:12] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-05 00:02:12] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06637","cADNumber":"26-06637","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"03-04-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"03-04-2026 18:00:00|WED EVENING PAGER TEST","alarm":"2026-04-03 18:01:10","dispatched":"2026-04-03 18:01:10","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-04-03 18:01:26","timedispatch":"2026-04-03 18:01:12","cADAgencyIdentifier":"SCRFD"}
[2026-03-05 00:02:12] [INFO] Number of extracted fields: 18
[2026-03-05 00:02:12] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-05 00:02:12] [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-03-05 00:02:12] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-05 00:02:12] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-05 00:02:12] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-05 00:02:13] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-05 00:02:13] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-05 00:02:13] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-05 00:02:13] [INFO] Found existing IncidentTypeMapping with ID: 693a0a64a7bfdcdfa
[2026-03-05 00:02:13] [INFO] Found existing Dispatch with cADNumber '26-06637', ID: 69a8c7cd01229506e - will update instead of create
[2026-03-05 00:02:14] [INFO] Updated existing Dispatches record with ID: 69a8c7cd01229506e
[2026-03-05 00:02:14] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-05
[2026-03-05 00:02:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06637.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-05/SCRFD_26-06637.xml
[2026-03-05 00:02:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06637.xml
[2026-03-05 00:02:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06637.xml
[2026-03-05 00:02:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06637.xml for user: 68d56363ec1209189
[2026-03-05 00:02:14] [INFO] File size: 1327 bytes
[2026-03-05 00:02:14] [INFO] Created FTPFiles record with ID: 69a8c806756123ec3
[2026-03-05 00:02:14] [INFO] About to extract fields from XML. File size: 1327 bytes
[2026-03-05 00:02:14] [INFO] Number of mappings: 21
[2026-03-05 00:02:14] [INFO] Starting XML parsing. Content length: 1327
[2026-03-05 00:02:14] [INFO] XML parsed successfully. Root element: Incident
[2026-03-05 00:02:14] [INFO] Processing 21 field mappings
[2026-03-05 00:02:14] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-05 00:02:14] [INFO]   -> Found value: 26-06637
[2026-03-05 00:02:14] [INFO]   -> Set field 'dispatchRunNumber' = "26-06637"
[2026-03-05 00:02:14] [INFO]   -> Set field 'cADNumber' = "26-06637"
[2026-03-05 00:02:14] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-05 00:02:14] [INFO]   -> Found value: 201
[2026-03-05 00:02:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 201
[2026-03-05 00:02:14] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-05 00:02:14] [INFO]   -> Found value: S KINGSHIGHWAY
[2026-03-05 00:02:14] [INFO]   -> Set field 'streetName' = "S KINGSHIGHWAY"
[2026-03-05 00:02:14] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-05 00:02:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:14] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-05 00:02:14] [INFO]   -> Found value: SIKESTON
[2026-03-05 00:02:14] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-05 00:02:14] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-05 00:02:14] [INFO]   -> Found value: SIKESTON DPS
[2026-03-05 00:02:14] [INFO]   -> Set field 'businessName' = "SIKESTON DPS"
[2026-03-05 00:02:14] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-05 00:02:14] [INFO]   -> Found value: MO
[2026-03-05 00:02:14] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-05 00:02:14] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-05 00:02:14] [INFO]   -> Found value: 63801
[2026-03-05 00:02:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-05 00:02:14] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-05 00:02:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:14] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-05 00:02:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:14] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-05 00:02:14] [INFO]   -> Found value: WED 1800 HR PAGER TEST
[2026-03-05 00:02:14] [INFO]   -> Set field 'incidentTypeValue1' = "WED 1800 HR PAGER TEST"
[2026-03-05 00:02:14] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-05 00:02:14] [INFO]   -> Found value: 03-04-2026 18:00:00|WED EVENING PAGER TEST
[2026-03-05 00:02:14] [INFO]   -> Set field 'dispatchNotes' = "03-04-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-05 00:02:14] [INFO]   -> Set field 'cADLog' = "03-04-2026 18:00:00|WED EVENING PAGER TEST"
[2026-03-05 00:02:14] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-05 00:02:14] [INFO]   -> Found value: 03-04-2026T18:01:10
[2026-03-05 00:02:14] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:10
[2026-03-05 00:02:14] [INFO]   -> Set field 'alarm' = "2026-04-03 18:01:10"
[2026-03-05 00:02:14] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:10
[2026-03-05 00:02:14] [INFO]   -> Set field 'dispatched' = "2026-04-03 18:01:10"
[2026-03-05 00:02:14] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-05 00:02:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:14] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-05 00:02:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:14] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-05 00:02:14] [INFO]   -> Found value: SIK ALL PAGE
[2026-03-05 00:02:14] [INFO]   -> Set field 'cADVehicleID' = "SIK ALL PAGE"
[2026-03-05 00:02:14] [INFO]   -> Set field 'name' = "SIK ALL PAGE"
[2026-03-05 00:02:14] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-05 00:02:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:14] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-05 00:02:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:02:14] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-05 00:02:14] [INFO]   -> Found value: 03-04-2026T18:01:26
[2026-03-05 00:02:14] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:26
[2026-03-05 00:02:14] [INFO]   -> Set field 'timeunitclear' = "2026-04-03 18:01:26"
[2026-03-05 00:02:14] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-05 00:02:14] [INFO]   -> Found value: 03-04-2026T18:01:18
[2026-03-05 00:02:14] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T18:01:18
[2026-03-05 00:02:14] [INFO]   -> Set field 'timedispatch' = "2026-04-03 18:01:18"
[2026-03-05 00:02:14] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-05 00:02:14] [INFO]   -> Found value: SDPSFD
[2026-03-05 00:02:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-05 00:02:14] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-03-05 00:02:14] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06637","cADNumber":"26-06637","incidentLocationStreetNumber":201,"streetName":"S KINGSHIGHWAY","incidentLocationCity":"SIKESTON","businessName":"SIKESTON DPS","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"incidentTypeValue1":"WED 1800 HR PAGER TEST","dispatchNotes":"03-04-2026 18:00:00|WED EVENING PAGER TEST","cADLog":"03-04-2026 18:00:00|WED EVENING PAGER TEST","alarm":"2026-04-03 18:01:10","dispatched":"2026-04-03 18:01:10","cADVehicleID":"SIK ALL PAGE","name":"SIK ALL PAGE","timeunitclear":"2026-04-03 18:01:26","timedispatch":"2026-04-03 18:01:18","cADAgencyIdentifier":"SDPSFD"}
[2026-03-05 00:02:14] [INFO] Number of extracted fields: 18
[2026-03-05 00:02:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-05 00:02:14] [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-03-05 00:02:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-05 00:02:14] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-05 00:02:14] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-05 00:02:14] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-05 00:02:14] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-05 00:02:14] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-05 00:02:14] [INFO] Found existing IncidentTypeMapping with ID: 691e5c32443e1aa70
[2026-03-05 00:02:16] [INFO] Created new Dispatches record with ID: 69a8c8075056a7015
[2026-03-05 00:02:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06637.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-05/SDPSFD_26-06637.xml
[2026-03-05 00:02:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06637.xml
[2026-03-05 00:41:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:41:07] [INFO] File size: 6291 bytes
[2026-03-05 00:41:08] [INFO] Created FTPFiles record with ID: 69a8d1240dbab273b
[2026-03-05 00:41:08] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:41:08] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05
[2026-03-05 00:41:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483.xml
[2026-03-05 00:41:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:41:16] [INFO] File size: 7461 bytes
[2026-03-05 00:41:17] [INFO] Created FTPFiles record with ID: 69a8d12d3cdb9654e
[2026-03-05 00:41:17] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:41:17] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772671277.xml
[2026-03-05 00:41:17] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772671277.xml
[2026-03-05 00:41:17] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:24] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:41:24] [INFO] File size: 7461 bytes
[2026-03-05 00:41:24] [INFO] Created FTPFiles record with ID: 69a8d13451617384e
[2026-03-05 00:41:24] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:41:24] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772671284.xml
[2026-03-05 00:41:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772671284.xml
[2026-03-05 00:41:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:26] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:26] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:41:26] [INFO] File size: 8410 bytes
[2026-03-05 00:41:26] [INFO] Created FTPFiles record with ID: 69a8d136eae4647cf
[2026-03-05 00:41:26] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:41:26] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772671286.xml
[2026-03-05 00:41:26] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772671286.xml
[2026-03-05 00:41:26] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:31] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:41:31] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:41:31] [INFO] File size: 9376 bytes
[2026-03-05 00:41:31] [INFO] Created FTPFiles record with ID: 69a8d13b94576ea78
[2026-03-05 00:41:31] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:41:31] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772671291.xml
[2026-03-05 00:41:31] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772671291.xml
[2026-03-05 00:41:31] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:44:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:44:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:44:11] [INFO] File size: 12262 bytes
[2026-03-05 00:44:11] [INFO] Created FTPFiles record with ID: 69a8d1db8d21b49b8
[2026-03-05 00:44:11] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:44:11] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772671451.xml
[2026-03-05 00:44:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772671451.xml
[2026-03-05 00:44:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:44:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:44:16] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:44:16] [INFO] File size: 13886 bytes
[2026-03-05 00:44:16] [INFO] Created FTPFiles record with ID: 69a8d1e0a040501c9
[2026-03-05 00:44:16] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:44:16] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772671456.xml
[2026-03-05 00:44:16] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772671456.xml
[2026-03-05 00:44:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:45:45] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545.XML
[2026-03-05 00:45:45] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545.XML for user: 68f1466aed072ad4a
[2026-03-05 00:45:45] [INFO] File size: 5466 bytes
[2026-03-05 00:45:45] [INFO] Created FTPFiles record with ID: 69a8d239d0f9c380e
[2026-03-05 00:45:45] [INFO] About to extract fields from XML. File size: 5466 bytes
[2026-03-05 00:45:45] [INFO] Number of mappings: 28
[2026-03-05 00:45:45] [INFO] Starting XML parsing. Content length: 5466
[2026-03-05 00:45:45] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 00:45:45] [INFO] Processing 28 field mappings
[2026-03-05 00:45:45] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 00:45:45] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 00:45:45] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 00:45:45] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 00:45:45] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 00:45:45] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 00:45:45] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 00:45:45] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 00:45:45] [INFO]   -> Found value: 2026000598
[2026-03-05 00:45:45] [INFO]   -> Set field 'incidentInternalId' = "2026000598"
[2026-03-05 00:45:45] [INFO]   -> Set field 'dispatchRunNumber' = "2026000598"
[2026-03-05 00:45:45] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 00:45:45] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2026-03-05 00:45:45] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2026-03-05 00:45:45] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 00:45:45] [INFO]   -> Found value: 6061
[2026-03-05 00:45:45] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6061
[2026-03-05 00:45:45] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 00:45:45] [INFO]   -> Found value: TN
[2026-03-05 00:45:45] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 00:45:45] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 00:45:45] [INFO]   -> Found value: 38501
[2026-03-05 00:45:45] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 00:45:45] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 00:45:45] [INFO]   -> Found value: 36.24290
[2026-03-05 00:45:45] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24289999999999878355083637870848178863525390625
[2026-03-05 00:45:45] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 00:45:45] [INFO]   -> Found value: -85.51685
[2026-03-05 00:45:45] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.516850000000005138645065017044544219970703125
[2026-03-05 00:45:45] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 00:45:45] [INFO]   -> Found value: 2026-03-04 18:44:52
[2026-03-05 00:45:45] [INFO]   -> Set field 'alarm' = "2026-03-04 18:44:52"
[2026-03-05 00:45:45] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 00:45:45] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:45:45] [INFO]   -> Set field 'dispatched' = "2026-03-04 18:45:41"
[2026-03-05 00:45:45] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 00:45:45] [INFO]   -> Found value: HILL RD/GARRISON RD
[2026-03-05 00:45:45] [INFO]   -> Set field 'incidentLocationCross' = "HILL RD\/GARRISON RD"
[2026-03-05 00:45:45] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 00:45:45] [INFO]   -> Found value: EN11
[2026-03-05 00:45:45] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-05 00:45:45] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 00:45:45] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:45:45] [INFO]   -> Set field 'timedispatch' = "2026-03-04 18:45:41"
[2026-03-05 00:45:45] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 00:45:45] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:45] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 00:45:45] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 00:45:45] [INFO]   -> Found value: 20260024043
[2026-03-05 00:45:45] [INFO]   -> Set field 'policeReportNumber' = "20260024043"
[2026-03-05 00:45:45] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 00:45:45] [INFO]   -> Found value: [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03/04/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC ...
[2026-03-05 00:45:45] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:45:45] [INFO]   -> Set field 'cADLog' = "[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:45:45] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 00:45:45] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 00:45:45] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 00:45:45] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 00:45:45] [INFO]   -> Found value: DODSON BRANCH
[2026-03-05 00:45:45] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-05 00:45:45] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 00:45:45] [INFO]   -> Found value: RD
[2026-03-05 00:45:45] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 00:45:45] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 00:45:45] [INFO]   -> Found value: 6061 DODSON BRANCH RD
[2026-03-05 00:45:45] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6061 DODSON BRANCH RD"
[2026-03-05 00:45:45] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 00:45:45] [INFO] Concatenating street name and type
[2026-03-05 00:45:45] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-05 00:45:45] [INFO] Built locationCoordinates from lat/lng: 36.2429,-85.51685
[2026-03-05 00:45:45] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000598","dispatchRunNumber":"2026000598","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":6061,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24289999999999878355083637870848178863525390625,"nERISIncidentLongitude":-85.516850000000005138645065017044544219970703125,"alarm":"2026-03-04 18:44:52","dispatched":"2026-03-04 18:45:41","incidentLocationCross":"HILL RD\/GARRISON RD","cADVehicleID":"EN11","timedispatch":"2026-03-04 18:45:41","policeReportNumber":"20260024043","dispatchNotes":"[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","cADLog":"[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"6061 DODSON BRANCH RD","locationCoordinates":"36.2429,-85.51685"}
[2026-03-05 00:45:45] [INFO] Number of extracted fields: 21
[2026-03-05 00:45:45] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 00:45:45] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 00:45:45] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 00:45:45] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 00:45:46] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 00:45:46] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 00:45:46] [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-03-05 00:45:46] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 00:45:46] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 00:45:46] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 00:45:46] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 00:45:46] [INFO] Found existing IncidentTypeMapping with ID: 6955292c9085ffc0d
[2026-03-05 00:45:56] [INFO] Created new Dispatches record with ID: 69a8d23a9fd64384b
[2026-03-05 00:45:56] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05
[2026-03-05 00:45:56] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024043_20260305_004545.XML
[2026-03-05 00:45:56] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545.XML
[2026-03-05 00:45:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_1.XML
[2026-03-05 00:45:56] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_1.XML for user: 68f1466aed072ad4a
[2026-03-05 00:45:56] [INFO] File size: 5466 bytes
[2026-03-05 00:45:56] [INFO] Created FTPFiles record with ID: 69a8d244b00cb0ee5
[2026-03-05 00:45:56] [INFO] About to extract fields from XML. File size: 5466 bytes
[2026-03-05 00:45:56] [INFO] Number of mappings: 28
[2026-03-05 00:45:56] [INFO] Starting XML parsing. Content length: 5466
[2026-03-05 00:45:56] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 00:45:56] [INFO] Processing 28 field mappings
[2026-03-05 00:45:56] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 00:45:56] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 00:45:56] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 00:45:56] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 00:45:56] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 00:45:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 00:45:56] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 00:45:56] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 00:45:56] [INFO]   -> Found value: 2026000598
[2026-03-05 00:45:56] [INFO]   -> Set field 'incidentInternalId' = "2026000598"
[2026-03-05 00:45:56] [INFO]   -> Set field 'dispatchRunNumber' = "2026000598"
[2026-03-05 00:45:56] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 00:45:56] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2026-03-05 00:45:56] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2026-03-05 00:45:56] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 00:45:56] [INFO]   -> Found value: 6061
[2026-03-05 00:45:56] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6061
[2026-03-05 00:45:56] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 00:45:56] [INFO]   -> Found value: TN
[2026-03-05 00:45:56] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 00:45:56] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 00:45:56] [INFO]   -> Found value: 38501
[2026-03-05 00:45:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 00:45:56] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 00:45:56] [INFO]   -> Found value: 36.24290
[2026-03-05 00:45:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24289999999999878355083637870848178863525390625
[2026-03-05 00:45:56] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 00:45:56] [INFO]   -> Found value: -85.51685
[2026-03-05 00:45:56] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.516850000000005138645065017044544219970703125
[2026-03-05 00:45:56] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 00:45:56] [INFO]   -> Found value: 2026-03-04 18:44:52
[2026-03-05 00:45:56] [INFO]   -> Set field 'alarm' = "2026-03-04 18:44:52"
[2026-03-05 00:45:56] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 00:45:56] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:45:56] [INFO]   -> Set field 'dispatched' = "2026-03-04 18:45:41"
[2026-03-05 00:45:56] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 00:45:56] [INFO]   -> Found value: HILL RD/GARRISON RD
[2026-03-05 00:45:56] [INFO]   -> Set field 'incidentLocationCross' = "HILL RD\/GARRISON RD"
[2026-03-05 00:45:56] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 00:45:56] [INFO]   -> Found value: EN11
[2026-03-05 00:45:56] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-05 00:45:56] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 00:45:56] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:45:56] [INFO]   -> Set field 'timedispatch' = "2026-03-04 18:45:41"
[2026-03-05 00:45:56] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 00:45:56] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:56] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 00:45:56] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 00:45:56] [INFO]   -> Found value: 20260024043
[2026-03-05 00:45:56] [INFO]   -> Set field 'policeReportNumber' = "20260024043"
[2026-03-05 00:45:56] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 00:45:56] [INFO]   -> Found value: [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03/04/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC ...
[2026-03-05 00:45:56] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:45:56] [INFO]   -> Set field 'cADLog' = "[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:45:56] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 00:45:56] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 00:45:56] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 00:45:56] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 00:45:56] [INFO]   -> Found value: DODSON BRANCH
[2026-03-05 00:45:56] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-05 00:45:56] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 00:45:56] [INFO]   -> Found value: RD
[2026-03-05 00:45:56] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 00:45:56] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 00:45:56] [INFO]   -> Found value: 6061 DODSON BRANCH RD
[2026-03-05 00:45:56] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6061 DODSON BRANCH RD"
[2026-03-05 00:45:56] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 00:45:56] [INFO] Concatenating street name and type
[2026-03-05 00:45:56] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-05 00:45:56] [INFO] Built locationCoordinates from lat/lng: 36.2429,-85.51685
[2026-03-05 00:45:56] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000598","dispatchRunNumber":"2026000598","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":6061,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24289999999999878355083637870848178863525390625,"nERISIncidentLongitude":-85.516850000000005138645065017044544219970703125,"alarm":"2026-03-04 18:44:52","dispatched":"2026-03-04 18:45:41","incidentLocationCross":"HILL RD\/GARRISON RD","cADVehicleID":"EN11","timedispatch":"2026-03-04 18:45:41","policeReportNumber":"20260024043","dispatchNotes":"[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","cADLog":"[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"6061 DODSON BRANCH RD","locationCoordinates":"36.2429,-85.51685"}
[2026-03-05 00:45:56] [INFO] Number of extracted fields: 21
[2026-03-05 00:45:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 00:45:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 00:45:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 00:45:56] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 00:45:56] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 00:45:56] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 00:45:57] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-05 00:45:57] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 00:45:57] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 00:45:57] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 00:45:57] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 00:45:57] [INFO] Found existing IncidentTypeMapping with ID: 6955292c9085ffc0d
[2026-03-05 00:45:57] [INFO] Found existing Dispatch with cADNumber '2026000598', ID: 69a8d23a9fd64384b - will update instead of create
[2026-03-05 00:45:57] [INFO] Updated existing Dispatches record with ID: 69a8d23a9fd64384b
[2026-03-05 00:45:57] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024043_20260305_004545_1.XML
[2026-03-05 00:45:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_1.XML
[2026-03-05 00:45:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_2.XML
[2026-03-05 00:45:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_2.XML for user: 68f1466aed072ad4a
[2026-03-05 00:45:57] [INFO] File size: 5466 bytes
[2026-03-05 00:45:57] [INFO] Created FTPFiles record with ID: 69a8d245e669e5954
[2026-03-05 00:45:57] [INFO] About to extract fields from XML. File size: 5466 bytes
[2026-03-05 00:45:57] [INFO] Number of mappings: 28
[2026-03-05 00:45:57] [INFO] Starting XML parsing. Content length: 5466
[2026-03-05 00:45:57] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 00:45:57] [INFO] Processing 28 field mappings
[2026-03-05 00:45:57] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 00:45:57] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 00:45:57] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 00:45:57] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 00:45:57] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 00:45:57] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 00:45:57] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 00:45:57] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 00:45:57] [INFO]   -> Found value: 2026000598
[2026-03-05 00:45:57] [INFO]   -> Set field 'incidentInternalId' = "2026000598"
[2026-03-05 00:45:57] [INFO]   -> Set field 'dispatchRunNumber' = "2026000598"
[2026-03-05 00:45:57] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 00:45:57] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2026-03-05 00:45:57] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2026-03-05 00:45:57] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 00:45:57] [INFO]   -> Found value: 6061
[2026-03-05 00:45:57] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6061
[2026-03-05 00:45:57] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 00:45:57] [INFO]   -> Found value: TN
[2026-03-05 00:45:57] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 00:45:57] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 00:45:57] [INFO]   -> Found value: 38501
[2026-03-05 00:45:57] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 00:45:57] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 00:45:57] [INFO]   -> Found value: 36.24290
[2026-03-05 00:45:57] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24289999999999878355083637870848178863525390625
[2026-03-05 00:45:57] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 00:45:57] [INFO]   -> Found value: -85.51685
[2026-03-05 00:45:57] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.516850000000005138645065017044544219970703125
[2026-03-05 00:45:57] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 00:45:57] [INFO]   -> Found value: 2026-03-04 18:44:52
[2026-03-05 00:45:57] [INFO]   -> Set field 'alarm' = "2026-03-04 18:44:52"
[2026-03-05 00:45:57] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 00:45:57] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:45:57] [INFO]   -> Set field 'dispatched' = "2026-03-04 18:45:41"
[2026-03-05 00:45:57] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 00:45:57] [INFO]   -> Found value: HILL RD/GARRISON RD
[2026-03-05 00:45:57] [INFO]   -> Set field 'incidentLocationCross' = "HILL RD\/GARRISON RD"
[2026-03-05 00:45:57] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 00:45:57] [INFO]   -> Found value: EN11
[2026-03-05 00:45:57] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-05 00:45:57] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 00:45:57] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:45:57] [INFO]   -> Set field 'timedispatch' = "2026-03-04 18:45:41"
[2026-03-05 00:45:57] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 00:45:57] [INFO]   -> No value found (null or empty)
[2026-03-05 00:45:57] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 00:45:57] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 00:45:57] [INFO]   -> Found value: 20260024043
[2026-03-05 00:45:57] [INFO]   -> Set field 'policeReportNumber' = "20260024043"
[2026-03-05 00:45:57] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 00:45:57] [INFO]   -> Found value: [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03/04/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC ...
[2026-03-05 00:45:57] [INFO]   -> Set field 'dispatchNotes' = "[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:45:57] [INFO]   -> Set field 'cADLog' = "[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:45:57] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 00:45:57] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 00:45:57] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 00:45:57] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 00:45:57] [INFO]   -> Found value: DODSON BRANCH
[2026-03-05 00:45:57] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-05 00:45:57] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 00:45:57] [INFO]   -> Found value: RD
[2026-03-05 00:45:57] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 00:45:57] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 00:45:57] [INFO]   -> Found value: 6061 DODSON BRANCH RD
[2026-03-05 00:45:57] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6061 DODSON BRANCH RD"
[2026-03-05 00:45:57] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 00:45:57] [INFO] Concatenating street name and type
[2026-03-05 00:45:57] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-05 00:45:57] [INFO] Built locationCoordinates from lat/lng: 36.2429,-85.51685
[2026-03-05 00:45:57] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000598","dispatchRunNumber":"2026000598","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":6061,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24289999999999878355083637870848178863525390625,"nERISIncidentLongitude":-85.516850000000005138645065017044544219970703125,"alarm":"2026-03-04 18:44:52","dispatched":"2026-03-04 18:45:41","incidentLocationCross":"HILL RD\/GARRISON RD","cADVehicleID":"EN11","timedispatch":"2026-03-04 18:45:41","policeReportNumber":"20260024043","dispatchNotes":"[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","cADLog":"[EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"6061 DODSON BRANCH RD","locationCoordinates":"36.2429,-85.51685"}
[2026-03-05 00:45:57] [INFO] Number of extracted fields: 21
[2026-03-05 00:45:57] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 00:45:57] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 00:45:57] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 00:45:57] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 00:45:58] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 00:45:58] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 00:45:58] [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-03-05 00:45:58] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 00:45:58] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 00:45:58] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 00:45:58] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 00:45:58] [INFO] Found existing IncidentTypeMapping with ID: 6955292c9085ffc0d
[2026-03-05 00:45:58] [INFO] Found existing Dispatch with cADNumber '2026000598', ID: 69a8d23a9fd64384b - will update instead of create
[2026-03-05 00:45:58] [INFO] Updated existing Dispatches record with ID: 69a8d23a9fd64384b
[2026-03-05 00:45:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_2.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024043_20260305_004545_2.XML
[2026-03-05 00:45:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004545_2.XML
[2026-03-05 00:47:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004712.XML
[2026-03-05 00:47:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004712.XML for user: 68f1466aed072ad4a
[2026-03-05 00:47:12] [INFO] File size: 6515 bytes
[2026-03-05 00:47:13] [INFO] Created FTPFiles record with ID: 69a8d290f3f1c602a
[2026-03-05 00:47:13] [INFO] About to extract fields from XML. File size: 6515 bytes
[2026-03-05 00:47:13] [INFO] Number of mappings: 28
[2026-03-05 00:47:13] [INFO] Starting XML parsing. Content length: 6515
[2026-03-05 00:47:13] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 00:47:13] [INFO] Processing 28 field mappings
[2026-03-05 00:47:13] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 00:47:13] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 00:47:13] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 00:47:13] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 00:47:13] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 00:47:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 00:47:13] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 00:47:13] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 00:47:13] [INFO]   -> Found value: 2026000598
[2026-03-05 00:47:13] [INFO]   -> Set field 'incidentInternalId' = "2026000598"
[2026-03-05 00:47:13] [INFO]   -> Set field 'dispatchRunNumber' = "2026000598"
[2026-03-05 00:47:13] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 00:47:13] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2026-03-05 00:47:13] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2026-03-05 00:47:13] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 00:47:13] [INFO]   -> Found value: 6061
[2026-03-05 00:47:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6061
[2026-03-05 00:47:13] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 00:47:13] [INFO]   -> Found value: TN
[2026-03-05 00:47:13] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 00:47:13] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 00:47:13] [INFO]   -> Found value: 38501
[2026-03-05 00:47:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 00:47:13] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 00:47:13] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:13] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 00:47:13] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:13] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 00:47:13] [INFO]   -> Found value: 36.24290
[2026-03-05 00:47:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24289999999999878355083637870848178863525390625
[2026-03-05 00:47:13] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 00:47:13] [INFO]   -> Found value: -85.51685
[2026-03-05 00:47:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.516850000000005138645065017044544219970703125
[2026-03-05 00:47:13] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 00:47:13] [INFO]   -> Found value: 2026-03-04 18:44:52
[2026-03-05 00:47:13] [INFO]   -> Set field 'alarm' = "2026-03-04 18:44:52"
[2026-03-05 00:47:13] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 00:47:13] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:47:13] [INFO]   -> Set field 'dispatched' = "2026-03-04 18:45:41"
[2026-03-05 00:47:13] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 00:47:13] [INFO]   -> Found value: 2026-03-04 18:47:07
[2026-03-05 00:47:13] [INFO]   -> Set field 'enroute' = "2026-03-04 18:47:07"
[2026-03-05 00:47:13] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 00:47:13] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:13] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 00:47:13] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:13] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 00:47:13] [INFO]   -> Found value: HILL RD/GARRISON RD
[2026-03-05 00:47:13] [INFO]   -> Set field 'incidentLocationCross' = "HILL RD\/GARRISON RD"
[2026-03-05 00:47:13] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 00:47:13] [INFO]   -> Found value: 987
[2026-03-05 00:47:13] [INFO]   -> Set field 'cADVehicleID' = 987
[2026-03-05 00:47:13] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 00:47:13] [INFO]   -> Found value: 2026-03-04 18:47:07
[2026-03-05 00:47:13] [INFO]   -> Set field 'timedispatch' = "2026-03-04 18:47:07"
[2026-03-05 00:47:13] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 00:47:13] [INFO]   -> Found value: 2026-03-04 18:47:07
[2026-03-05 00:47:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 18:47:07"
[2026-03-05 00:47:13] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 00:47:13] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:13] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 00:47:13] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:13] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 00:47:13] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:13] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 00:47:13] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 00:47:13] [INFO]   -> Found value: 20260024043
[2026-03-05 00:47:13] [INFO]   -> Set field 'policeReportNumber' = "20260024043"
[2026-03-05 00:47:13] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 00:47:13] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/04/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE// CAN HEAR TRAFFIC IN THE BACKGR...
[2026-03-05 00:47:13] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:47:13] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:47:13] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 00:47:13] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 00:47:13] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 00:47:13] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 00:47:13] [INFO]   -> Found value: DODSON BRANCH
[2026-03-05 00:47:13] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-05 00:47:13] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 00:47:13] [INFO]   -> Found value: RD
[2026-03-05 00:47:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 00:47:13] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 00:47:13] [INFO]   -> Found value: 6061 DODSON BRANCH RD
[2026-03-05 00:47:13] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6061 DODSON BRANCH RD"
[2026-03-05 00:47:13] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-05 00:47:13] [INFO] Concatenating street name and type
[2026-03-05 00:47:13] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-05 00:47:13] [INFO] Built locationCoordinates from lat/lng: 36.2429,-85.51685
[2026-03-05 00:47:13] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000598","dispatchRunNumber":"2026000598","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":6061,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24289999999999878355083637870848178863525390625,"nERISIncidentLongitude":-85.516850000000005138645065017044544219970703125,"alarm":"2026-03-04 18:44:52","dispatched":"2026-03-04 18:45:41","enroute":"2026-03-04 18:47:07","incidentLocationCross":"HILL RD\/GARRISON RD","cADVehicleID":987,"timedispatch":"2026-03-04 18:47:07","timeenroutetoscene":"2026-03-04 18:47:07","policeReportNumber":"20260024043","dispatchNotes":"[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","cADLog":"[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"6061 DODSON BRANCH RD","locationCoordinates":"36.2429,-85.51685"}
[2026-03-05 00:47:13] [INFO] Number of extracted fields: 23
[2026-03-05 00:47:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 00:47:13] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 00:47:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 00:47:13] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 00:47:13] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 00:47:13] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 00:47:13] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-05 00:47:13] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 00:47:13] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 00:47:13] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 00:47:13] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 00:47:13] [INFO] Found existing IncidentTypeMapping with ID: 6955292c9085ffc0d
[2026-03-05 00:47:13] [INFO] Found existing Dispatch with cADNumber '2026000598', ID: 69a8d23a9fd64384b - will update instead of create
[2026-03-05 00:47:13] [INFO] Updated existing Dispatches record with ID: 69a8d23a9fd64384b
[2026-03-05 00:47:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004712.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024043_20260305_004712.XML
[2026-03-05 00:47:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004712.XML
[2026-03-05 00:47:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004714.XML
[2026-03-05 00:47:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004714.XML for user: 68f1466aed072ad4a
[2026-03-05 00:47:14] [INFO] File size: 6515 bytes
[2026-03-05 00:47:14] [INFO] Created FTPFiles record with ID: 69a8d29275d104342
[2026-03-05 00:47:14] [INFO] About to extract fields from XML. File size: 6515 bytes
[2026-03-05 00:47:14] [INFO] Number of mappings: 28
[2026-03-05 00:47:14] [INFO] Starting XML parsing. Content length: 6515
[2026-03-05 00:47:14] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 00:47:14] [INFO] Processing 28 field mappings
[2026-03-05 00:47:14] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 00:47:14] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 00:47:14] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 00:47:14] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 00:47:14] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 00:47:14] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 00:47:14] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 00:47:14] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 00:47:14] [INFO]   -> Found value: 2026000598
[2026-03-05 00:47:14] [INFO]   -> Set field 'incidentInternalId' = "2026000598"
[2026-03-05 00:47:14] [INFO]   -> Set field 'dispatchRunNumber' = "2026000598"
[2026-03-05 00:47:14] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 00:47:14] [INFO]   -> Found value: MVC ELECTRONIC CRASH NOTIFICAT
[2026-03-05 00:47:14] [INFO]   -> Set field 'incidentTypeValue1' = "MVC ELECTRONIC CRASH NOTIFICAT"
[2026-03-05 00:47:14] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 00:47:14] [INFO]   -> Found value: 6061
[2026-03-05 00:47:14] [INFO]   -> Set field 'incidentLocationStreetNumber' = 6061
[2026-03-05 00:47:14] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 00:47:14] [INFO]   -> Found value: TN
[2026-03-05 00:47:14] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 00:47:14] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 00:47:14] [INFO]   -> Found value: 38501
[2026-03-05 00:47:14] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 00:47:14] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:14] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:14] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 00:47:14] [INFO]   -> Found value: 36.24290
[2026-03-05 00:47:14] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.24289999999999878355083637870848178863525390625
[2026-03-05 00:47:14] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 00:47:14] [INFO]   -> Found value: -85.51685
[2026-03-05 00:47:14] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.516850000000005138645065017044544219970703125
[2026-03-05 00:47:14] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 00:47:14] [INFO]   -> Found value: 2026-03-04 18:44:52
[2026-03-05 00:47:14] [INFO]   -> Set field 'alarm' = "2026-03-04 18:44:52"
[2026-03-05 00:47:14] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 00:47:14] [INFO]   -> Found value: 2026-03-04 18:45:41
[2026-03-05 00:47:14] [INFO]   -> Set field 'dispatched' = "2026-03-04 18:45:41"
[2026-03-05 00:47:14] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 00:47:14] [INFO]   -> Found value: 2026-03-04 18:47:07
[2026-03-05 00:47:14] [INFO]   -> Set field 'enroute' = "2026-03-04 18:47:07"
[2026-03-05 00:47:14] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:14] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:14] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 00:47:14] [INFO]   -> Found value: HILL RD/GARRISON RD
[2026-03-05 00:47:14] [INFO]   -> Set field 'incidentLocationCross' = "HILL RD\/GARRISON RD"
[2026-03-05 00:47:14] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 00:47:14] [INFO]   -> Found value: 987
[2026-03-05 00:47:14] [INFO]   -> Set field 'cADVehicleID' = 987
[2026-03-05 00:47:14] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 00:47:14] [INFO]   -> Found value: 2026-03-04 18:47:07
[2026-03-05 00:47:14] [INFO]   -> Set field 'timedispatch' = "2026-03-04 18:47:07"
[2026-03-05 00:47:14] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 00:47:14] [INFO]   -> Found value: 2026-03-04 18:47:07
[2026-03-05 00:47:14] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-04 18:47:07"
[2026-03-05 00:47:14] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:14] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:14] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 00:47:14] [INFO]   -> No value found (null or empty)
[2026-03-05 00:47:14] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 00:47:14] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 00:47:14] [INFO]   -> Found value: 20260024043
[2026-03-05 00:47:14] [INFO]   -> Set field 'policeReportNumber' = "20260024043"
[2026-03-05 00:47:14] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 00:47:14] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/04/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE// CAN HEAR TRAFFIC IN THE BACKGR...
[2026-03-05 00:47:14] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:47:14] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]"
[2026-03-05 00:47:14] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 00:47:14] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 00:47:14] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 00:47:14] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 00:47:14] [INFO]   -> Found value: DODSON BRANCH
[2026-03-05 00:47:14] [INFO]   -> Set field 'streetName' = "DODSON BRANCH"
[2026-03-05 00:47:14] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 00:47:14] [INFO]   -> Found value: RD
[2026-03-05 00:47:14] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 00:47:14] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 00:47:14] [INFO]   -> Found value: 6061 DODSON BRANCH RD
[2026-03-05 00:47:14] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "6061 DODSON BRANCH RD"
[2026-03-05 00:47:14] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-05 00:47:14] [INFO] Concatenating street name and type
[2026-03-05 00:47:14] [INFO]   -> Combined street name: DODSON BRANCH RD
[2026-03-05 00:47:14] [INFO] Built locationCoordinates from lat/lng: 36.2429,-85.51685
[2026-03-05 00:47:14] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000598","dispatchRunNumber":"2026000598","incidentTypeValue1":"MVC ELECTRONIC CRASH NOTIFICAT","incidentLocationStreetNumber":6061,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.24289999999999878355083637870848178863525390625,"nERISIncidentLongitude":-85.516850000000005138645065017044544219970703125,"alarm":"2026-03-04 18:44:52","dispatched":"2026-03-04 18:45:41","enroute":"2026-03-04 18:47:07","incidentLocationCross":"HILL RD\/GARRISON RD","cADVehicleID":987,"timedispatch":"2026-03-04 18:47:07","timeenroutetoscene":"2026-03-04 18:47:07","policeReportNumber":"20260024043","dispatchNotes":"[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","cADLog":"[LAW] PCSO ENRT  [03\/04\/26 18:46:33 ECLEMENS] [EMS] NO CONTACT MADE\/\/ CAN HEAR TRAFFIC IN THE BACKGROUND  [03\/04\/26 18:45:48 EROACH] [EMS] RAPID SHOWING NEAR THIS ADDRESS  [03\/04\/26 18:45:18 EROACH] Event spawned from MVC ELECTRONIC CRASH NOTIFICAT.  [03\/04\/2026 18:44:52 EROACH]","incidentLocationCity":"COOKEVILLE","streetName":"DODSON BRANCH RD","incidentAddressTextVersionStreet":"6061 DODSON BRANCH RD","locationCoordinates":"36.2429,-85.51685"}
[2026-03-05 00:47:14] [INFO] Number of extracted fields: 23
[2026-03-05 00:47:14] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 00:47:14] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 00:47:14] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 00:47:14] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 00:47:14] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 00:47:14] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 00:47:14] [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-03-05 00:47:14] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 00:47:14] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 00:47:14] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 00:47:14] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 00:47:14] [INFO] Found existing IncidentTypeMapping with ID: 6955292c9085ffc0d
[2026-03-05 00:47:15] [INFO] Found existing Dispatch with cADNumber '2026000598', ID: 69a8d23a9fd64384b - will update instead of create
[2026-03-05 00:47:15] [INFO] Updated existing Dispatches record with ID: 69a8d23a9fd64384b
[2026-03-05 00:47:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004714.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024043_20260305_004714.XML
[2026-03-05 00:47:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024043_20260305_004714.XML
[2026-03-05 00:47:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:47:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:47:25] [INFO] File size: 15520 bytes
[2026-03-05 00:47:25] [INFO] Created FTPFiles record with ID: 69a8d29de73143117
[2026-03-05 00:47:25] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:47:25] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772671645.xml
[2026-03-05 00:47:25] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772671645.xml
[2026-03-05 00:47:25] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:54:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:54:12] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:54:12] [INFO] File size: 16532 bytes
[2026-03-05 00:54:12] [INFO] Created FTPFiles record with ID: 69a8d4345aa050603
[2026-03-05 00:54:12] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:54:12] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772672052.xml
[2026-03-05 00:54:12] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772672052.xml
[2026-03-05 00:54:12] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:54:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 00:54:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 00:54:34] [INFO] File size: 18218 bytes
[2026-03-05 00:54:34] [INFO] Created FTPFiles record with ID: 69a8d44a6a7a4243f
[2026-03-05 00:54:34] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 00:54:34] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772672074.xml
[2026-03-05 00:54:34] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772672074.xml
[2026-03-05 00:54:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 01:09:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 01:09:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml for user: 69320e6a9e3e5ef71
[2026-03-05 01:09:13] [INFO] File size: 19236 bytes
[2026-03-05 01:09:13] [INFO] Created FTPFiles record with ID: 69a8d7b9e31735169
[2026-03-05 01:09:13] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 01:09:13] [INFO] File already exists in archive, using unique name: cfs_2026-014483_1772672953.xml
[2026-03-05 01:09:13] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014483_1772672953.xml
[2026-03-05 01:09:13] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014483.xml
[2026-03-05 06:21:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06666.xml
[2026-03-05 06:21:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06666.xml for user: 68d56363ec1209189
[2026-03-05 06:21:22] [INFO] File size: 1893 bytes
[2026-03-05 06:21:23] [INFO] Created FTPFiles record with ID: 69a920e31b47c6010
[2026-03-05 06:21:23] [INFO] About to extract fields from XML. File size: 1893 bytes
[2026-03-05 06:21:23] [INFO] Number of mappings: 21
[2026-03-05 06:21:23] [INFO] Starting XML parsing. Content length: 1893
[2026-03-05 06:21:23] [INFO] XML parsed successfully. Root element: Incident
[2026-03-05 06:21:23] [INFO] Processing 21 field mappings
[2026-03-05 06:21:23] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-05 06:21:23] [INFO]   -> Found value: 26-06666
[2026-03-05 06:21:23] [INFO]   -> Set field 'dispatchRunNumber' = "26-06666"
[2026-03-05 06:21:23] [INFO]   -> Set field 'cADNumber' = "26-06666"
[2026-03-05 06:21:23] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-05 06:21:23] [INFO]   -> Found value: 195
[2026-03-05 06:21:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 195
[2026-03-05 06:21:23] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-05 06:21:23] [INFO]   -> Found value: TERRY DR
[2026-03-05 06:21:23] [INFO]   -> Set field 'streetName' = "TERRY DR"
[2026-03-05 06:21:23] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-05 06:21:23] [INFO]   -> No value found (null or empty)
[2026-03-05 06:21:23] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-05 06:21:23] [INFO]   -> Found value: SIKESTON
[2026-03-05 06:21:23] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-03-05 06:21:23] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-05 06:21:23] [INFO]   -> No value found (null or empty)
[2026-03-05 06:21:23] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-05 06:21:23] [INFO]   -> Found value: MO
[2026-03-05 06:21:23] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-03-05 06:21:23] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-05 06:21:23] [INFO]   -> Found value: 63801
[2026-03-05 06:21:23] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-03-05 06:21:23] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-05 06:21:23] [INFO]   -> Found value: 0
[2026-03-05 06:21:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-05 06:21:23] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-05 06:21:23] [INFO]   -> Found value: 0
[2026-03-05 06:21:23] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-05 06:21:23] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-05 06:21:23] [INFO]   -> Found value: MEDICAL
[2026-03-05 06:21:23] [INFO]   -> Set field 'incidentTypeValue1' = "MEDICAL"
[2026-03-05 06:21:23] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-05 06:21:23] [INFO]   -> Found value: 03-04-2026 23:49:39|79 YOM TROUBLE BREATHING 03-04-2026 23:52:34|****** Appended notes from Work Are...
[2026-03-05 06:21:23] [INFO]   -> Set field 'dispatchNotes' = "03-04-2026 23:49:39|79 YOM TROUBLE BREATHING 03-04-2026 23:52:34|****** Appended notes from Work Area begin ******\nAddress: 195 TERRY DR, SIKESTON\nCategory: MEDICAL Priority: 1\nSector: S Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: SSCA \nOpened DateTime: 03\/04\/2026 23:50:10\nNotes: Call Received on 03\/04\/2026 @ 23:50\n\n79 M TROUBLE BREATHING\nWENT TO ER HAD TO SHOCK HEART\n****** Appended notes from Work Area end   ******\n 03-04-2026 23:55:22|1707 EN ROUTE 03-05-2026 00:06:55|1707 ON SCENE 03-05-2026 00:20:32|ALL SCOTT CO RURAL CLEAR FROM SCENE SOUTH SCOTT TRANSPORTING 1 TO MDMC"
[2026-03-05 06:21:23] [INFO]   -> Set field 'cADLog' = "03-04-2026 23:49:39|79 YOM TROUBLE BREATHING 03-04-2026 23:52:34|****** Appended notes from Work Area begin ******\nAddress: 195 TERRY DR, SIKESTON\nCategory: MEDICAL Priority: 1\nSector: S Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: SSCA \nOpened DateTime: 03\/04\/2026 23:50:10\nNotes: Call Received on 03\/04\/2026 @ 23:50\n\n79 M TROUBLE BREATHING\nWENT TO ER HAD TO SHOCK HEART\n****** Appended notes from Work Area end   ******\n 03-04-2026 23:55:22|1707 EN ROUTE 03-05-2026 00:06:55|1707 ON SCENE 03-05-2026 00:20:32|ALL SCOTT CO RURAL CLEAR FROM SCENE SOUTH SCOTT TRANSPORTING 1 TO MDMC"
[2026-03-05 06:21:23] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-05 06:21:23] [INFO]   -> Found value: 03-04-2026T23:51:08
[2026-03-05 06:21:23] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T23:51:08
[2026-03-05 06:21:23] [INFO]   -> Set field 'alarm' = "2026-04-03 23:51:08"
[2026-03-05 06:21:23] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T23:51:08
[2026-03-05 06:21:23] [INFO]   -> Set field 'dispatched' = "2026-04-03 23:51:08"
[2026-03-05 06:21:23] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-05 06:21:23] [INFO]   -> No value found (null or empty)
[2026-03-05 06:21:23] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-05 06:21:23] [INFO]   -> No value found (null or empty)
[2026-03-05 06:21:23] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-05 06:21:23] [INFO]   -> Found value: RURAL PAGE
[2026-03-05 06:21:23] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-03-05 06:21:23] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-03-05 06:21:23] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-05 06:21:23] [INFO]   -> No value found (null or empty)
[2026-03-05 06:21:23] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-05 06:21:23] [INFO]   -> No value found (null or empty)
[2026-03-05 06:21:23] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-05 06:21:23] [INFO]   -> Found value: 03-05-2026T00:20:42
[2026-03-05 06:21:23] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T00:20:42
[2026-03-05 06:21:23] [INFO]   -> Set field 'timeunitclear' = "2026-05-03 00:20:42"
[2026-03-05 06:21:23] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-05 06:21:23] [INFO]   -> Found value: 03-04-2026T23:51:08
[2026-03-05 06:21:23] [INFO] Reformatted DD-MM-YYYY date '03-04-2026' (day=03, month=04) to ISO: 2026-04-03T23:51:08
[2026-03-05 06:21:23] [INFO]   -> Set field 'timedispatch' = "2026-04-03 23:51:08"
[2026-03-05 06:21:23] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-05 06:21:23] [INFO]   -> Found value: SCRFD
[2026-03-05 06:21:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-03-05 06:21:23] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-03-05 06:21:23] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-05 06:21:23] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06666","cADNumber":"26-06666","incidentLocationStreetNumber":195,"streetName":"TERRY DR","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"MEDICAL","dispatchNotes":"03-04-2026 23:49:39|79 YOM TROUBLE BREATHING 03-04-2026 23:52:34|****** Appended notes from Work Area begin ******\nAddress: 195 TERRY DR, SIKESTON\nCategory: MEDICAL Priority: 1\nSector: S Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: SSCA \nOpened DateTime: 03\/04\/2026 23:50:10\nNotes: Call Received on 03\/04\/2026 @ 23:50\n\n79 M TROUBLE BREATHING\nWENT TO ER HAD TO SHOCK HEART\n****** Appended notes from Work Area end   ******\n 03-04-2026 23:55:22|1707 EN ROUTE 03-05-2026 00:06:55|1707 ON SCENE 03-05-2026 00:20:32|ALL SCOTT CO RURAL CLEAR FROM SCENE SOUTH SCOTT TRANSPORTING 1 TO MDMC","cADLog":"03-04-2026 23:49:39|79 YOM TROUBLE BREATHING 03-04-2026 23:52:34|****** Appended notes from Work Area begin ******\nAddress: 195 TERRY DR, SIKESTON\nCategory: MEDICAL Priority: 1\nSector: S Source: E911 \nLaw Enf: Scott County S.O. (MO) Fire: Scott County Rural EMS: SSCA \nOpened DateTime: 03\/04\/2026 23:50:10\nNotes: Call Received on 03\/04\/2026 @ 23:50\n\n79 M TROUBLE BREATHING\nWENT TO ER HAD TO SHOCK HEART\n****** Appended notes from Work Area end   ******\n 03-04-2026 23:55:22|1707 EN ROUTE 03-05-2026 00:06:55|1707 ON SCENE 03-05-2026 00:20:32|ALL SCOTT CO RURAL CLEAR FROM SCENE SOUTH SCOTT TRANSPORTING 1 TO MDMC","alarm":"2026-04-03 23:51:08","dispatched":"2026-04-03 23:51:08","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-05-03 00:20:42","timedispatch":"2026-04-03 23:51:08","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-03-05 06:21:23] [INFO] Number of extracted fields: 20
[2026-03-05 06:21:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-03-05 06:21:23] [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-03-05 06:21:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-03-05 06:21:23] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-03-05 06:21:23] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-03-05 06:21:23] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-03-05 06:21:23] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-03-05 06:21:23] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-03-05 06:21:23] [INFO] Found existing IncidentTypeMapping with ID: 6979040ce473322a8
[2026-03-05 06:21:23] [INFO] Found existing Dispatch with cADNumber '26-06666', ID: 69a919d07a1a9a5c7 - will update instead of create
[2026-03-05 06:21:24] [INFO] Updated existing Dispatches record with ID: 69a919d07a1a9a5c7
[2026-03-05 06:21:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06666.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-05/SCRFD_26-06666.xml
[2026-03-05 06:21:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-06666.xml
[2026-03-05 07:27:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:27:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:27:58] [INFO] File size: 12124 bytes
[2026-03-05 07:27:58] [INFO] Created FTPFiles record with ID: 69a9307ee27921fa4
[2026-03-05 07:27:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:27:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586.xml
[2026-03-05 07:27:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:28:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:28:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:28:00] [INFO] File size: 13077 bytes
[2026-03-05 07:28:00] [INFO] Created FTPFiles record with ID: 69a9308053a0c55e8
[2026-03-05 07:28:00] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:28:00] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772695680.xml
[2026-03-05 07:28:00] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772695680.xml
[2026-03-05 07:28:00] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:28:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:28:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:28:22] [INFO] File size: 14030 bytes
[2026-03-05 07:28:22] [INFO] Created FTPFiles record with ID: 69a9309669539409c
[2026-03-05 07:28:22] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:28:22] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772695702.xml
[2026-03-05 07:28:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772695702.xml
[2026-03-05 07:28:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:28:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:28:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:28:48] [INFO] File size: 14075 bytes
[2026-03-05 07:28:48] [INFO] Created FTPFiles record with ID: 69a930b09ebe6a6c1
[2026-03-05 07:28:48] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:28:48] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772695728.xml
[2026-03-05 07:28:48] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772695728.xml
[2026-03-05 07:28:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:29:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:29:42] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:29:42] [INFO] File size: 16310 bytes
[2026-03-05 07:29:42] [INFO] Created FTPFiles record with ID: 69a930e6d4a2f6b5b
[2026-03-05 07:29:42] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:29:42] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772695782.xml
[2026-03-05 07:29:42] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772695782.xml
[2026-03-05 07:29:42] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:29:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:29:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:29:46] [INFO] File size: 17896 bytes
[2026-03-05 07:29:46] [INFO] Created FTPFiles record with ID: 69a930eadde455cdb
[2026-03-05 07:29:46] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:29:46] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772695786.xml
[2026-03-05 07:29:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772695786.xml
[2026-03-05 07:29:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:30:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:30:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:30:00] [INFO] File size: 20131 bytes
[2026-03-05 07:30:01] [INFO] Created FTPFiles record with ID: 69a930f906f59ce37
[2026-03-05 07:30:01] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:30:01] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772695801.xml
[2026-03-05 07:30:01] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772695801.xml
[2026-03-05 07:30:01] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:33:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:33:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:33:46] [INFO] File size: 21744 bytes
[2026-03-05 07:33:46] [INFO] Created FTPFiles record with ID: 69a931dad8adfa3b6
[2026-03-05 07:33:46] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:33:46] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772696026.xml
[2026-03-05 07:33:46] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772696026.xml
[2026-03-05 07:33:46] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:34:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:34:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:34:14] [INFO] File size: 22765 bytes
[2026-03-05 07:34:14] [INFO] Created FTPFiles record with ID: 69a931f69196d3bcc
[2026-03-05 07:34:14] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:34:14] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772696054.xml
[2026-03-05 07:34:14] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772696054.xml
[2026-03-05 07:34:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:36:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:36:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:36:41] [INFO] File size: 24378 bytes
[2026-03-05 07:36:41] [INFO] Created FTPFiles record with ID: 69a932898baae8227
[2026-03-05 07:36:41] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:36:41] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772696201.xml
[2026-03-05 07:36:41] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772696201.xml
[2026-03-05 07:36:41] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:46:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 07:46:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 07:46:01] [INFO] File size: 26006 bytes
[2026-03-05 07:46:02] [INFO] Created FTPFiles record with ID: 69a934ba1e970e9d7
[2026-03-05 07:46:02] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 07:46:02] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772696762.xml
[2026-03-05 07:46:02] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772696762.xml
[2026-03-05 07:46:02] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 08:00:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 08:00:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 08:00:46] [INFO] File size: 27010 bytes
[2026-03-05 08:00:47] [INFO] Created FTPFiles record with ID: 69a9382f1575e202e
[2026-03-05 08:00:47] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 08:00:47] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772697647.xml
[2026-03-05 08:00:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772697647.xml
[2026-03-05 08:00:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 08:00:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 08:00:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 08:00:49] [INFO] File size: 27275 bytes
[2026-03-05 08:00:50] [INFO] Created FTPFiles record with ID: 69a938321cca88503
[2026-03-05 08:00:50] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 08:00:50] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772697650.xml
[2026-03-05 08:00:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772697650.xml
[2026-03-05 08:00:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 08:00:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 08:00:57] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml for user: 69320e6a9e3e5ef71
[2026-03-05 08:00:57] [INFO] File size: 28865 bytes
[2026-03-05 08:00:58] [INFO] Created FTPFiles record with ID: 69a9383a1493c93b7
[2026-03-05 08:00:58] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 08:00:58] [INFO] File already exists in archive, using unique name: cfs_2026-014586_1772697658.xml
[2026-03-05 08:00:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014586_1772697658.xml
[2026-03-05 08:00:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014586.xml
[2026-03-05 08:34:46] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083446.XML
[2026-03-05 08:34:46] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083446.XML for user: 68f1466aed072ad4a
[2026-03-05 08:34:46] [INFO] File size: 6485 bytes
[2026-03-05 08:34:47] [INFO] Created FTPFiles record with ID: 69a940275de7294ef
[2026-03-05 08:34:47] [INFO] About to extract fields from XML. File size: 6485 bytes
[2026-03-05 08:34:47] [INFO] Number of mappings: 28
[2026-03-05 08:34:47] [INFO] Starting XML parsing. Content length: 6485
[2026-03-05 08:34:47] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 08:34:47] [INFO] Processing 28 field mappings
[2026-03-05 08:34:47] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 08:34:47] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 08:34:47] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 08:34:47] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 08:34:47] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 08:34:47] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 08:34:47] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 08:34:47] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 08:34:47] [INFO]   -> Found value: 2026000599
[2026-03-05 08:34:47] [INFO]   -> Set field 'incidentInternalId' = "2026000599"
[2026-03-05 08:34:47] [INFO]   -> Set field 'dispatchRunNumber' = "2026000599"
[2026-03-05 08:34:47] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 08:34:47] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 08:34:47] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 08:34:47] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 08:34:47] [INFO]   -> Found value: 404
[2026-03-05 08:34:47] [INFO]   -> Set field 'incidentLocationStreetNumber' = 404
[2026-03-05 08:34:47] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 08:34:47] [INFO]   -> Found value: TN
[2026-03-05 08:34:47] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 08:34:47] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 08:34:47] [INFO]   -> Found value: 38501
[2026-03-05 08:34:47] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 08:34:47] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 08:34:47] [INFO]   -> Found value: SPIVEY LANE
[2026-03-05 08:34:47] [INFO]   -> Set field 'businessName' = "SPIVEY LANE"
[2026-03-05 08:34:47] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 08:34:47] [INFO]   -> No value found (null or empty)
[2026-03-05 08:34:47] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 08:34:47] [INFO]   -> Found value: 36.18232
[2026-03-05 08:34:47] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18231999999999715100784669630229473114013671875
[2026-03-05 08:34:47] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 08:34:47] [INFO]   -> Found value: -85.56641
[2026-03-05 08:34:47] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5664100000000047430148697458207607269287109375
[2026-03-05 08:34:47] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 08:34:47] [INFO]   -> Found value: 2026-03-05 02:29:38
[2026-03-05 08:34:47] [INFO]   -> Set field 'alarm' = "2026-03-05 02:29:38"
[2026-03-05 08:34:47] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 08:34:47] [INFO]   -> Found value: 2026-03-05 02:29:55
[2026-03-05 08:34:47] [INFO]   -> Set field 'dispatched' = "2026-03-05 02:29:55"
[2026-03-05 08:34:47] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 08:34:47] [INFO]   -> No value found (null or empty)
[2026-03-05 08:34:47] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 08:34:47] [INFO]   -> No value found (null or empty)
[2026-03-05 08:34:47] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 08:34:47] [INFO]   -> No value found (null or empty)
[2026-03-05 08:34:47] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 08:34:47] [INFO]   -> Found value: NORTH DR/MAGURA DR
[2026-03-05 08:34:47] [INFO]   -> Set field 'incidentLocationCross' = "NORTH DR\/MAGURA DR"
[2026-03-05 08:34:47] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 08:34:47] [INFO]   -> Found value: PCFR
[2026-03-05 08:34:47] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-05 08:34:47] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 08:34:47] [INFO]   -> Found value: 2026-03-05 02:29:55
[2026-03-05 08:34:47] [INFO]   -> Set field 'timedispatch' = "2026-03-05 02:29:55"
[2026-03-05 08:34:47] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 08:34:47] [INFO]   -> No value found (null or empty)
[2026-03-05 08:34:47] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 08:34:47] [INFO]   -> No value found (null or empty)
[2026-03-05 08:34:47] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 08:34:47] [INFO]   -> Found value: 2026-03-05 02:34:43
[2026-03-05 08:34:47] [INFO]   -> Set field 'timeunitclear' = "2026-03-05 02:34:43"
[2026-03-05 08:34:47] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 08:34:47] [INFO]   -> Found value: 2026-03-05 02:34:43
[2026-03-05 08:34:47] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-05 02:34:43"
[2026-03-05 08:34:47] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 08:34:47] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 08:34:47] [INFO]   -> Found value: 20260024133
[2026-03-05 08:34:47] [INFO]   -> Set field 'policeReportNumber' = "20260024133"
[2026-03-05 08:34:47] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 08:34:47] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/05/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/05/26 02:30...
[2026-03-05 08:34:47] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:34:47] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:34:47] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 08:34:47] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 08:34:47] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 08:34:47] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 08:34:47] [INFO]   -> Found value: THOMAS
[2026-03-05 08:34:47] [INFO]   -> Set field 'streetName' = "THOMAS"
[2026-03-05 08:34:47] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 08:34:47] [INFO]   -> Found value: RD
[2026-03-05 08:34:47] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 08:34:47] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 08:34:47] [INFO]   -> Found value: 404 THOMAS RD
[2026-03-05 08:34:47] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "404 THOMAS RD"
[2026-03-05 08:34:47] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-05 08:34:47] [INFO] Concatenating street name and type
[2026-03-05 08:34:47] [INFO]   -> Combined street name: THOMAS RD
[2026-03-05 08:34:47] [INFO] Built locationCoordinates from lat/lng: 36.18232,-85.56641
[2026-03-05 08:34:47] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000599","dispatchRunNumber":"2026000599","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":404,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SPIVEY LANE","nERISIncidentLatitude":36.18231999999999715100784669630229473114013671875,"nERISIncidentLongitude":-85.5664100000000047430148697458207607269287109375,"alarm":"2026-03-05 02:29:38","dispatched":"2026-03-05 02:29:55","incidentLocationCross":"NORTH DR\/MAGURA DR","cADVehicleID":"PCFR","timedispatch":"2026-03-05 02:29:55","timeunitclear":"2026-03-05 02:34:43","timecanceledenroute":"2026-03-05 02:34:43","policeReportNumber":"20260024133","dispatchNotes":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","cADLog":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"THOMAS RD","incidentAddressTextVersionStreet":"404 THOMAS RD","locationCoordinates":"36.18232,-85.56641"}
[2026-03-05 08:34:47] [INFO] Number of extracted fields: 24
[2026-03-05 08:34:47] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 08:34:47] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 08:34:47] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 08:34:47] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 08:34:47] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 08:34:47] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 08:34:47] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-05 08:34:47] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 08:34:47] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 08:34:47] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 08:34:47] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 08:34:47] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 08:34:58] [INFO] Created new Dispatches record with ID: 69a9402830d9dd147
[2026-03-05 08:34:58] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083446.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024133_20260305_083446.XML
[2026-03-05 08:34:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083446.XML
[2026-03-05 08:35:27] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083527.XML
[2026-03-05 08:35:27] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083527.XML for user: 68f1466aed072ad4a
[2026-03-05 08:35:27] [INFO] File size: 7227 bytes
[2026-03-05 08:35:28] [INFO] Created FTPFiles record with ID: 69a940501c0cb9386
[2026-03-05 08:35:28] [INFO] About to extract fields from XML. File size: 7227 bytes
[2026-03-05 08:35:28] [INFO] Number of mappings: 28
[2026-03-05 08:35:28] [INFO] Starting XML parsing. Content length: 7227
[2026-03-05 08:35:28] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 08:35:28] [INFO] Processing 28 field mappings
[2026-03-05 08:35:28] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 08:35:28] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 08:35:28] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 08:35:28] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 08:35:28] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 08:35:28] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 08:35:28] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 08:35:28] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 08:35:28] [INFO]   -> Found value: 2026000599
[2026-03-05 08:35:28] [INFO]   -> Set field 'incidentInternalId' = "2026000599"
[2026-03-05 08:35:28] [INFO]   -> Set field 'dispatchRunNumber' = "2026000599"
[2026-03-05 08:35:28] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 08:35:28] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 08:35:28] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 08:35:28] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 08:35:28] [INFO]   -> Found value: 404
[2026-03-05 08:35:28] [INFO]   -> Set field 'incidentLocationStreetNumber' = 404
[2026-03-05 08:35:28] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 08:35:28] [INFO]   -> Found value: TN
[2026-03-05 08:35:28] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 08:35:28] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 08:35:28] [INFO]   -> Found value: 38501
[2026-03-05 08:35:28] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 08:35:28] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 08:35:28] [INFO]   -> Found value: SPIVEY LANE
[2026-03-05 08:35:28] [INFO]   -> Set field 'businessName' = "SPIVEY LANE"
[2026-03-05 08:35:28] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 08:35:28] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:28] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 08:35:28] [INFO]   -> Found value: 36.18232
[2026-03-05 08:35:28] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18231999999999715100784669630229473114013671875
[2026-03-05 08:35:28] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 08:35:28] [INFO]   -> Found value: -85.56641
[2026-03-05 08:35:28] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5664100000000047430148697458207607269287109375
[2026-03-05 08:35:28] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 08:35:28] [INFO]   -> Found value: 2026-03-05 02:29:38
[2026-03-05 08:35:28] [INFO]   -> Set field 'alarm' = "2026-03-05 02:29:38"
[2026-03-05 08:35:28] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 08:35:28] [INFO]   -> Found value: 2026-03-05 02:29:55
[2026-03-05 08:35:28] [INFO]   -> Set field 'dispatched' = "2026-03-05 02:29:55"
[2026-03-05 08:35:28] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 08:35:28] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:28] [INFO]   -> Set field 'enroute' = "2026-03-05 02:35:22"
[2026-03-05 08:35:28] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 08:35:28] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:28] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 08:35:28] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:28] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 08:35:28] [INFO]   -> Found value: NORTH DR/MAGURA DR
[2026-03-05 08:35:28] [INFO]   -> Set field 'incidentLocationCross' = "NORTH DR\/MAGURA DR"
[2026-03-05 08:35:28] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 08:35:28] [INFO]   -> Found value: TK31
[2026-03-05 08:35:28] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-05 08:35:28] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 08:35:28] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:28] [INFO]   -> Set field 'timedispatch' = "2026-03-05 02:35:22"
[2026-03-05 08:35:28] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 08:35:28] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:28] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 02:35:22"
[2026-03-05 08:35:28] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 08:35:28] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:28] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 08:35:28] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:28] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 08:35:28] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:28] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 08:35:28] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 08:35:28] [INFO]   -> Found value: 20260024133
[2026-03-05 08:35:28] [INFO]   -> Set field 'policeReportNumber' = "20260024133"
[2026-03-05 08:35:28] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 08:35:28] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/05/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/05/26 02:30...
[2026-03-05 08:35:28] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:28] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:28] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 08:35:28] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 08:35:28] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 08:35:28] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 08:35:28] [INFO]   -> Found value: THOMAS
[2026-03-05 08:35:28] [INFO]   -> Set field 'streetName' = "THOMAS"
[2026-03-05 08:35:28] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 08:35:28] [INFO]   -> Found value: RD
[2026-03-05 08:35:28] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 08:35:28] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 08:35:28] [INFO]   -> Found value: 404 THOMAS RD
[2026-03-05 08:35:28] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "404 THOMAS RD"
[2026-03-05 08:35:28] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-05 08:35:28] [INFO] Concatenating street name and type
[2026-03-05 08:35:28] [INFO]   -> Combined street name: THOMAS RD
[2026-03-05 08:35:28] [INFO] Built locationCoordinates from lat/lng: 36.18232,-85.56641
[2026-03-05 08:35:28] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000599","dispatchRunNumber":"2026000599","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":404,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SPIVEY LANE","nERISIncidentLatitude":36.18231999999999715100784669630229473114013671875,"nERISIncidentLongitude":-85.5664100000000047430148697458207607269287109375,"alarm":"2026-03-05 02:29:38","dispatched":"2026-03-05 02:29:55","enroute":"2026-03-05 02:35:22","incidentLocationCross":"NORTH DR\/MAGURA DR","cADVehicleID":"TK31","timedispatch":"2026-03-05 02:35:22","timeenroutetoscene":"2026-03-05 02:35:22","policeReportNumber":"20260024133","dispatchNotes":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","cADLog":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"THOMAS RD","incidentAddressTextVersionStreet":"404 THOMAS RD","locationCoordinates":"36.18232,-85.56641"}
[2026-03-05 08:35:28] [INFO] Number of extracted fields: 24
[2026-03-05 08:35:28] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 08:35:28] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 08:35:28] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 08:35:28] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 08:35:28] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 08:35:28] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 08:35:28] [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-03-05 08:35:28] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 08:35:28] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 08:35:28] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 08:35:28] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 08:35:28] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 08:35:28] [INFO] Found existing Dispatch with cADNumber '2026000599', ID: 69a9402830d9dd147 - will update instead of create
[2026-03-05 08:35:28] [INFO] Updated existing Dispatches record with ID: 69a9402830d9dd147
[2026-03-05 08:35:28] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083527.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024133_20260305_083527.XML
[2026-03-05 08:35:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083527.XML
[2026-03-05 08:35:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083528.XML
[2026-03-05 08:35:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083528.XML for user: 68f1466aed072ad4a
[2026-03-05 08:35:29] [INFO] File size: 7227 bytes
[2026-03-05 08:35:29] [INFO] Created FTPFiles record with ID: 69a940514d00a0774
[2026-03-05 08:35:29] [INFO] About to extract fields from XML. File size: 7227 bytes
[2026-03-05 08:35:29] [INFO] Number of mappings: 28
[2026-03-05 08:35:29] [INFO] Starting XML parsing. Content length: 7227
[2026-03-05 08:35:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 08:35:29] [INFO] Processing 28 field mappings
[2026-03-05 08:35:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 08:35:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 08:35:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 08:35:29] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 08:35:29] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 08:35:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 08:35:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 08:35:29] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 08:35:29] [INFO]   -> Found value: 2026000599
[2026-03-05 08:35:29] [INFO]   -> Set field 'incidentInternalId' = "2026000599"
[2026-03-05 08:35:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000599"
[2026-03-05 08:35:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 08:35:29] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 08:35:29] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 08:35:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 08:35:29] [INFO]   -> Found value: 404
[2026-03-05 08:35:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 404
[2026-03-05 08:35:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 08:35:29] [INFO]   -> Found value: TN
[2026-03-05 08:35:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 08:35:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 08:35:29] [INFO]   -> Found value: 38501
[2026-03-05 08:35:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 08:35:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 08:35:29] [INFO]   -> Found value: SPIVEY LANE
[2026-03-05 08:35:29] [INFO]   -> Set field 'businessName' = "SPIVEY LANE"
[2026-03-05 08:35:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 08:35:29] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 08:35:29] [INFO]   -> Found value: 36.18232
[2026-03-05 08:35:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18231999999999715100784669630229473114013671875
[2026-03-05 08:35:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 08:35:29] [INFO]   -> Found value: -85.56641
[2026-03-05 08:35:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5664100000000047430148697458207607269287109375
[2026-03-05 08:35:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 08:35:29] [INFO]   -> Found value: 2026-03-05 02:29:38
[2026-03-05 08:35:29] [INFO]   -> Set field 'alarm' = "2026-03-05 02:29:38"
[2026-03-05 08:35:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 08:35:29] [INFO]   -> Found value: 2026-03-05 02:29:55
[2026-03-05 08:35:29] [INFO]   -> Set field 'dispatched' = "2026-03-05 02:29:55"
[2026-03-05 08:35:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 08:35:29] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:29] [INFO]   -> Set field 'enroute' = "2026-03-05 02:35:22"
[2026-03-05 08:35:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 08:35:29] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 08:35:29] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 08:35:29] [INFO]   -> Found value: NORTH DR/MAGURA DR
[2026-03-05 08:35:29] [INFO]   -> Set field 'incidentLocationCross' = "NORTH DR\/MAGURA DR"
[2026-03-05 08:35:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 08:35:29] [INFO]   -> Found value: TK31
[2026-03-05 08:35:29] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-05 08:35:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 08:35:29] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:29] [INFO]   -> Set field 'timedispatch' = "2026-03-05 02:35:22"
[2026-03-05 08:35:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 08:35:29] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:29] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 02:35:22"
[2026-03-05 08:35:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 08:35:29] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 08:35:29] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 08:35:29] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 08:35:29] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 08:35:29] [INFO]   -> Found value: 20260024133
[2026-03-05 08:35:29] [INFO]   -> Set field 'policeReportNumber' = "20260024133"
[2026-03-05 08:35:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 08:35:29] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/05/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/05/26 02:30...
[2026-03-05 08:35:29] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:29] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 08:35:29] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 08:35:29] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 08:35:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 08:35:29] [INFO]   -> Found value: THOMAS
[2026-03-05 08:35:29] [INFO]   -> Set field 'streetName' = "THOMAS"
[2026-03-05 08:35:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 08:35:29] [INFO]   -> Found value: RD
[2026-03-05 08:35:29] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 08:35:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 08:35:29] [INFO]   -> Found value: 404 THOMAS RD
[2026-03-05 08:35:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "404 THOMAS RD"
[2026-03-05 08:35:29] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-05 08:35:29] [INFO] Concatenating street name and type
[2026-03-05 08:35:29] [INFO]   -> Combined street name: THOMAS RD
[2026-03-05 08:35:29] [INFO] Built locationCoordinates from lat/lng: 36.18232,-85.56641
[2026-03-05 08:35:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000599","dispatchRunNumber":"2026000599","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":404,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SPIVEY LANE","nERISIncidentLatitude":36.18231999999999715100784669630229473114013671875,"nERISIncidentLongitude":-85.5664100000000047430148697458207607269287109375,"alarm":"2026-03-05 02:29:38","dispatched":"2026-03-05 02:29:55","enroute":"2026-03-05 02:35:22","incidentLocationCross":"NORTH DR\/MAGURA DR","cADVehicleID":"TK31","timedispatch":"2026-03-05 02:35:22","timeenroutetoscene":"2026-03-05 02:35:22","policeReportNumber":"20260024133","dispatchNotes":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","cADLog":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"THOMAS RD","incidentAddressTextVersionStreet":"404 THOMAS RD","locationCoordinates":"36.18232,-85.56641"}
[2026-03-05 08:35:29] [INFO] Number of extracted fields: 24
[2026-03-05 08:35:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 08:35:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 08:35:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 08:35:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 08:35:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 08:35:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 08:35:29] [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-03-05 08:35:29] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 08:35:29] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 08:35:29] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 08:35:29] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 08:35:29] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 08:35:29] [INFO] Found existing Dispatch with cADNumber '2026000599', ID: 69a9402830d9dd147 - will update instead of create
[2026-03-05 08:35:30] [INFO] Updated existing Dispatches record with ID: 69a9402830d9dd147
[2026-03-05 08:35:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083528.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024133_20260305_083528.XML
[2026-03-05 08:35:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083528.XML
[2026-03-05 08:35:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535.XML
[2026-03-05 08:35:35] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535.XML for user: 68f1466aed072ad4a
[2026-03-05 08:35:35] [INFO] File size: 7227 bytes
[2026-03-05 08:35:35] [INFO] Created FTPFiles record with ID: 69a940575e8f127af
[2026-03-05 08:35:35] [INFO] About to extract fields from XML. File size: 7227 bytes
[2026-03-05 08:35:35] [INFO] Number of mappings: 28
[2026-03-05 08:35:35] [INFO] Starting XML parsing. Content length: 7227
[2026-03-05 08:35:35] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 08:35:35] [INFO] Processing 28 field mappings
[2026-03-05 08:35:35] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 08:35:35] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 08:35:35] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 08:35:35] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 08:35:35] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 08:35:35] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 08:35:35] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 08:35:35] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 08:35:35] [INFO]   -> Found value: 2026000599
[2026-03-05 08:35:35] [INFO]   -> Set field 'incidentInternalId' = "2026000599"
[2026-03-05 08:35:35] [INFO]   -> Set field 'dispatchRunNumber' = "2026000599"
[2026-03-05 08:35:35] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 08:35:35] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 08:35:35] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 08:35:35] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 08:35:35] [INFO]   -> Found value: 404
[2026-03-05 08:35:35] [INFO]   -> Set field 'incidentLocationStreetNumber' = 404
[2026-03-05 08:35:35] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 08:35:35] [INFO]   -> Found value: TN
[2026-03-05 08:35:35] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 08:35:35] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 08:35:35] [INFO]   -> Found value: 38501
[2026-03-05 08:35:35] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 08:35:35] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 08:35:35] [INFO]   -> Found value: SPIVEY LANE
[2026-03-05 08:35:35] [INFO]   -> Set field 'businessName' = "SPIVEY LANE"
[2026-03-05 08:35:35] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 08:35:35] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:35] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 08:35:35] [INFO]   -> Found value: 36.18232
[2026-03-05 08:35:35] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18231999999999715100784669630229473114013671875
[2026-03-05 08:35:35] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 08:35:35] [INFO]   -> Found value: -85.56641
[2026-03-05 08:35:35] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5664100000000047430148697458207607269287109375
[2026-03-05 08:35:35] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 08:35:35] [INFO]   -> Found value: 2026-03-05 02:29:38
[2026-03-05 08:35:35] [INFO]   -> Set field 'alarm' = "2026-03-05 02:29:38"
[2026-03-05 08:35:35] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 08:35:35] [INFO]   -> Found value: 2026-03-05 02:29:55
[2026-03-05 08:35:35] [INFO]   -> Set field 'dispatched' = "2026-03-05 02:29:55"
[2026-03-05 08:35:35] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 08:35:35] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:35] [INFO]   -> Set field 'enroute' = "2026-03-05 02:35:22"
[2026-03-05 08:35:35] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 08:35:35] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:35] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 08:35:35] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:35] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 08:35:35] [INFO]   -> Found value: NORTH DR/MAGURA DR
[2026-03-05 08:35:35] [INFO]   -> Set field 'incidentLocationCross' = "NORTH DR\/MAGURA DR"
[2026-03-05 08:35:35] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 08:35:35] [INFO]   -> Found value: TK31
[2026-03-05 08:35:35] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-05 08:35:35] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 08:35:35] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:35] [INFO]   -> Set field 'timedispatch' = "2026-03-05 02:35:22"
[2026-03-05 08:35:35] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 08:35:35] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:35] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 02:35:22"
[2026-03-05 08:35:35] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 08:35:35] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:35] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 08:35:35] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:35] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 08:35:35] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:35] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 08:35:35] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 08:35:35] [INFO]   -> Found value: 20260024133
[2026-03-05 08:35:35] [INFO]   -> Set field 'policeReportNumber' = "20260024133"
[2026-03-05 08:35:35] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 08:35:35] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/05/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/05/26 02:30...
[2026-03-05 08:35:35] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:35] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:35] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 08:35:35] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 08:35:35] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 08:35:35] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 08:35:35] [INFO]   -> Found value: THOMAS
[2026-03-05 08:35:35] [INFO]   -> Set field 'streetName' = "THOMAS"
[2026-03-05 08:35:35] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 08:35:35] [INFO]   -> Found value: RD
[2026-03-05 08:35:35] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 08:35:35] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 08:35:35] [INFO]   -> Found value: 404 THOMAS RD
[2026-03-05 08:35:35] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "404 THOMAS RD"
[2026-03-05 08:35:35] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-05 08:35:35] [INFO] Concatenating street name and type
[2026-03-05 08:35:35] [INFO]   -> Combined street name: THOMAS RD
[2026-03-05 08:35:35] [INFO] Built locationCoordinates from lat/lng: 36.18232,-85.56641
[2026-03-05 08:35:35] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000599","dispatchRunNumber":"2026000599","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":404,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SPIVEY LANE","nERISIncidentLatitude":36.18231999999999715100784669630229473114013671875,"nERISIncidentLongitude":-85.5664100000000047430148697458207607269287109375,"alarm":"2026-03-05 02:29:38","dispatched":"2026-03-05 02:29:55","enroute":"2026-03-05 02:35:22","incidentLocationCross":"NORTH DR\/MAGURA DR","cADVehicleID":"TK31","timedispatch":"2026-03-05 02:35:22","timeenroutetoscene":"2026-03-05 02:35:22","policeReportNumber":"20260024133","dispatchNotes":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","cADLog":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"THOMAS RD","incidentAddressTextVersionStreet":"404 THOMAS RD","locationCoordinates":"36.18232,-85.56641"}
[2026-03-05 08:35:35] [INFO] Number of extracted fields: 24
[2026-03-05 08:35:35] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 08:35:35] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 08:35:35] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 08:35:35] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 08:35:35] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 08:35:35] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 08:35:35] [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-03-05 08:35:35] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 08:35:35] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 08:35:35] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 08:35:35] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 08:35:35] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 08:35:36] [INFO] Found existing Dispatch with cADNumber '2026000599', ID: 69a9402830d9dd147 - will update instead of create
[2026-03-05 08:35:36] [INFO] Updated existing Dispatches record with ID: 69a9402830d9dd147
[2026-03-05 08:35:36] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024133_20260305_083535.XML
[2026-03-05 08:35:36] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535.XML
[2026-03-05 08:35:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535_1.XML
[2026-03-05 08:35:36] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535_1.XML for user: 68f1466aed072ad4a
[2026-03-05 08:35:36] [INFO] File size: 7227 bytes
[2026-03-05 08:35:36] [INFO] Created FTPFiles record with ID: 69a9405896f451b11
[2026-03-05 08:35:36] [INFO] About to extract fields from XML. File size: 7227 bytes
[2026-03-05 08:35:36] [INFO] Number of mappings: 28
[2026-03-05 08:35:36] [INFO] Starting XML parsing. Content length: 7227
[2026-03-05 08:35:36] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 08:35:36] [INFO] Processing 28 field mappings
[2026-03-05 08:35:36] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 08:35:36] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 08:35:36] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 08:35:36] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 08:35:36] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 08:35:36] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 08:35:36] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 08:35:36] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 08:35:36] [INFO]   -> Found value: 2026000599
[2026-03-05 08:35:36] [INFO]   -> Set field 'incidentInternalId' = "2026000599"
[2026-03-05 08:35:36] [INFO]   -> Set field 'dispatchRunNumber' = "2026000599"
[2026-03-05 08:35:36] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 08:35:36] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 08:35:36] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 08:35:36] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 08:35:36] [INFO]   -> Found value: 404
[2026-03-05 08:35:36] [INFO]   -> Set field 'incidentLocationStreetNumber' = 404
[2026-03-05 08:35:36] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 08:35:36] [INFO]   -> Found value: TN
[2026-03-05 08:35:36] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 08:35:36] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 08:35:36] [INFO]   -> Found value: 38501
[2026-03-05 08:35:36] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-03-05 08:35:36] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 08:35:36] [INFO]   -> Found value: SPIVEY LANE
[2026-03-05 08:35:36] [INFO]   -> Set field 'businessName' = "SPIVEY LANE"
[2026-03-05 08:35:36] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 08:35:36] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:36] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 08:35:36] [INFO]   -> Found value: 36.18232
[2026-03-05 08:35:36] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.18231999999999715100784669630229473114013671875
[2026-03-05 08:35:36] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 08:35:36] [INFO]   -> Found value: -85.56641
[2026-03-05 08:35:36] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.5664100000000047430148697458207607269287109375
[2026-03-05 08:35:36] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 08:35:36] [INFO]   -> Found value: 2026-03-05 02:29:38
[2026-03-05 08:35:36] [INFO]   -> Set field 'alarm' = "2026-03-05 02:29:38"
[2026-03-05 08:35:36] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 08:35:36] [INFO]   -> Found value: 2026-03-05 02:29:55
[2026-03-05 08:35:36] [INFO]   -> Set field 'dispatched' = "2026-03-05 02:29:55"
[2026-03-05 08:35:36] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 08:35:36] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:36] [INFO]   -> Set field 'enroute' = "2026-03-05 02:35:22"
[2026-03-05 08:35:36] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 08:35:36] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:36] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 08:35:36] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:36] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 08:35:36] [INFO]   -> Found value: NORTH DR/MAGURA DR
[2026-03-05 08:35:36] [INFO]   -> Set field 'incidentLocationCross' = "NORTH DR\/MAGURA DR"
[2026-03-05 08:35:36] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 08:35:36] [INFO]   -> Found value: TK31
[2026-03-05 08:35:36] [INFO]   -> Set field 'cADVehicleID' = "TK31"
[2026-03-05 08:35:36] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 08:35:36] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:36] [INFO]   -> Set field 'timedispatch' = "2026-03-05 02:35:22"
[2026-03-05 08:35:36] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 08:35:36] [INFO]   -> Found value: 2026-03-05 02:35:22
[2026-03-05 08:35:36] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 02:35:22"
[2026-03-05 08:35:36] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 08:35:36] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:36] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 08:35:36] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:36] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 08:35:36] [INFO]   -> No value found (null or empty)
[2026-03-05 08:35:36] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 08:35:36] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 08:35:36] [INFO]   -> Found value: 20260024133
[2026-03-05 08:35:36] [INFO]   -> Set field 'policeReportNumber' = "20260024133"
[2026-03-05 08:35:36] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 08:35:36] [INFO]   -> Found value: [LAW] PCSO ENRT  [03/05/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03/05/26 02:30...
[2026-03-05 08:35:36] [INFO]   -> Set field 'dispatchNotes' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:36] [INFO]   -> Set field 'cADLog' = "[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]"
[2026-03-05 08:35:36] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 08:35:36] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 08:35:36] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 08:35:36] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 08:35:36] [INFO]   -> Found value: THOMAS
[2026-03-05 08:35:36] [INFO]   -> Set field 'streetName' = "THOMAS"
[2026-03-05 08:35:36] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 08:35:36] [INFO]   -> Found value: RD
[2026-03-05 08:35:36] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 08:35:36] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 08:35:36] [INFO]   -> Found value: 404 THOMAS RD
[2026-03-05 08:35:36] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "404 THOMAS RD"
[2026-03-05 08:35:36] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-05 08:35:36] [INFO] Concatenating street name and type
[2026-03-05 08:35:36] [INFO]   -> Combined street name: THOMAS RD
[2026-03-05 08:35:36] [INFO] Built locationCoordinates from lat/lng: 36.18232,-85.56641
[2026-03-05 08:35:36] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000599","dispatchRunNumber":"2026000599","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":404,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"businessName":"SPIVEY LANE","nERISIncidentLatitude":36.18231999999999715100784669630229473114013671875,"nERISIncidentLongitude":-85.5664100000000047430148697458207607269287109375,"alarm":"2026-03-05 02:29:38","dispatched":"2026-03-05 02:29:55","enroute":"2026-03-05 02:35:22","incidentLocationCross":"NORTH DR\/MAGURA DR","cADVehicleID":"TK31","timedispatch":"2026-03-05 02:35:22","timeenroutetoscene":"2026-03-05 02:35:22","policeReportNumber":"20260024133","dispatchNotes":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","cADLog":"[LAW] PCSO ENRT  [03\/05\/26 02:30:56 ECLEMENS] [LAW] UDTS: LAW CARD SEEN BY CPD-PCSO  [03\/05\/26 02:30:15 ECLEMENS] [EMS] BACK DOOR ENTRANCE  [03\/05\/26 02:29:58 DSWINK] [EMS] HX OF 5 BYPASSES  [03\/05\/26 02:29:50 DSWINK] Event spawned from CHEST PAIN.  [03\/05\/2026 02:29:38 DSWINK] SWEATING \/ DIZZY CHEST PAIN 84 YOF  [03\/05\/26 02:29:33 DSWINK]]","incidentLocationCity":"COOKEVILLE","streetName":"THOMAS RD","incidentAddressTextVersionStreet":"404 THOMAS RD","locationCoordinates":"36.18232,-85.56641"}
[2026-03-05 08:35:36] [INFO] Number of extracted fields: 24
[2026-03-05 08:35:36] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 08:35:36] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 08:35:36] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 08:35:36] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 08:35:36] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 08:35:36] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 08:35:36] [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-03-05 08:35:36] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 08:35:36] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 08:35:36] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 08:35:36] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 08:35:37] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 08:35:37] [INFO] Found existing Dispatch with cADNumber '2026000599', ID: 69a9402830d9dd147 - will update instead of create
[2026-03-05 08:35:37] [INFO] Updated existing Dispatches record with ID: 69a9402830d9dd147
[2026-03-05 08:35:37] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024133_20260305_083535_1.XML
[2026-03-05 08:35:37] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024133_20260305_083535_1.XML
[2026-03-05 13:58:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml for user: 69320e6a9e3e5ef71
[2026-03-05 13:58:20] [INFO] File size: 9708 bytes
[2026-03-05 13:58:21] [INFO] Created FTPFiles record with ID: 69a98bfd29dcfbcef
[2026-03-05 13:58:21] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 13:58:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014634.xml
[2026-03-05 13:58:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:23] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml for user: 69320e6a9e3e5ef71
[2026-03-05 13:58:23] [INFO] File size: 10947 bytes
[2026-03-05 13:58:23] [INFO] Created FTPFiles record with ID: 69a98bff571be2766
[2026-03-05 13:58:23] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 13:58:23] [INFO] File already exists in archive, using unique name: cfs_2026-014634_1772719103.xml
[2026-03-05 13:58:23] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014634_1772719103.xml
[2026-03-05 13:58:23] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml for user: 69320e6a9e3e5ef71
[2026-03-05 13:58:38] [INFO] File size: 11908 bytes
[2026-03-05 13:58:39] [INFO] Created FTPFiles record with ID: 69a98c0f0a99c1a54
[2026-03-05 13:58:39] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 13:58:39] [INFO] File already exists in archive, using unique name: cfs_2026-014634_1772719119.xml
[2026-03-05 13:58:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014634_1772719119.xml
[2026-03-05 13:58:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml for user: 69320e6a9e3e5ef71
[2026-03-05 13:58:43] [INFO] File size: 12858 bytes
[2026-03-05 13:58:44] [INFO] Created FTPFiles record with ID: 69a98c13f0f5446cf
[2026-03-05 13:58:44] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 13:58:44] [INFO] File already exists in archive, using unique name: cfs_2026-014634_1772719124.xml
[2026-03-05 13:58:44] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014634_1772719124.xml
[2026-03-05 13:58:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:58:47] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml for user: 69320e6a9e3e5ef71
[2026-03-05 13:58:47] [INFO] File size: 12858 bytes
[2026-03-05 13:58:47] [INFO] Created FTPFiles record with ID: 69a98c1771f6f1d51
[2026-03-05 13:58:47] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 13:58:47] [INFO] File already exists in archive, using unique name: cfs_2026-014634_1772719127.xml
[2026-03-05 13:58:47] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014634_1772719127.xml
[2026-03-05 13:58:47] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:59:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 13:59:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml for user: 69320e6a9e3e5ef71
[2026-03-05 13:59:11] [INFO] File size: 12861 bytes
[2026-03-05 13:59:11] [INFO] Created FTPFiles record with ID: 69a98c2f9f1dc2234
[2026-03-05 13:59:11] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-03-05 13:59:11] [INFO] File already exists in archive, using unique name: cfs_2026-014634_1772719151.xml
[2026-03-05 13:59:11] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/archive/2026-03-05/cfs_2026-014634_1772719151.xml
[2026-03-05 13:59:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-014634.xml
[2026-03-05 15:36:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:31Z.xml
[2026-03-05 15:36:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:31Z.xml
[2026-03-05 15:36:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:31Z.xml
[2026-03-05 15:36:34] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:31Z.xml
[2026-03-05 15:36:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:32Z.xml
[2026-03-05 15:36:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:32Z.xml
[2026-03-05 15:36:35] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:33Z.xml
[2026-03-05 15:36:35] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:33Z.xml
[2026-03-05 15:36:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:33Z.xml
[2026-03-05 15:36:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:33Z.xml
[2026-03-05 15:36:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:34Z.xml
[2026-03-05 15:36:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:34Z.xml
[2026-03-05 15:36:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:34Z.xml
[2026-03-05 15:36:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:34Z.xml
[2026-03-05 15:36:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:35Z.xml
[2026-03-05 15:36:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:35Z.xml
[2026-03-05 15:36:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:35Z.xml
[2026-03-05 15:36:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:35Z.xml
[2026-03-05 15:36:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:36Z.xml
[2026-03-05 15:36:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:36:36Z.xml
[2026-03-05 15:40:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:06Z.xml
[2026-03-05 15:40:09] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:06Z.xml
[2026-03-05 15:40:09] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:07Z.xml
[2026-03-05 15:40:09] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:07Z.xml
[2026-03-05 15:40:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:07Z.xml
[2026-03-05 15:40:10] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:07Z.xml
[2026-03-05 15:40:54] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:51Z.xml
[2026-03-05 15:40:54] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:40:51Z.xml
[2026-03-05 15:48:36] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:34Z.xml
[2026-03-05 15:48:36] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:34Z.xml
[2026-03-05 15:48:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:34Z.xml
[2026-03-05 15:48:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:34Z.xml
[2026-03-05 15:48:37] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:35Z.xml
[2026-03-05 15:48:37] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:35Z.xml
[2026-03-05 15:48:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:35Z.xml
[2026-03-05 15:48:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:35Z.xml
[2026-03-05 15:48:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:36Z.xml
[2026-03-05 15:48:39] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:36Z.xml
[2026-03-05 15:48:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:38Z.xml
[2026-03-05 15:48:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:48:38Z.xml
[2026-03-05 15:51:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:51:38Z.xml
[2026-03-05 15:51:41] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:51:38Z.xml
[2026-03-05 15:51:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:51:39Z.xml
[2026-03-05 15:51:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:51:39Z.xml
[2026-03-05 15:55:04] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:01Z.xml
[2026-03-05 15:55:04] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:01Z.xml
[2026-03-05 15:55:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:13Z.xml
[2026-03-05 15:55:15] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:13Z.xml
[2026-03-05 15:55:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:13Z.xml
[2026-03-05 15:55:16] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:13Z.xml
[2026-03-05 15:55:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:14Z.xml
[2026-03-05 15:55:17] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:14Z.xml
[2026-03-05 15:55:17] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:15Z.xml
[2026-03-05 15:55:17] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:15Z.xml
[2026-03-05 15:55:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:15Z.xml
[2026-03-05 15:55:18] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:15Z.xml
[2026-03-05 15:55:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:16Z.xml
[2026-03-05 15:55:18] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:16Z.xml
[2026-03-05 15:55:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:16Z.xml
[2026-03-05 15:55:19] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:16Z.xml
[2026-03-05 15:55:47] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:44Z.xml
[2026-03-05 15:55:47] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-010329_2026-03-05 09:55:44Z.xml
[2026-03-05 19:17:05] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06694.xml
[2026-03-05 19:17:05] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06694.xml for user: 68d56363ec1209189
[2026-03-05 19:17:05] [INFO] File size: 2538 bytes
[2026-03-05 19:17:05] [INFO] Created FTPFiles record with ID: 69a9d6b1d898d1c3f
[2026-03-05 19:17:05] [INFO] About to extract fields from XML. File size: 2538 bytes
[2026-03-05 19:17:05] [INFO] Number of mappings: 21
[2026-03-05 19:17:05] [INFO] Starting XML parsing. Content length: 2538
[2026-03-05 19:17:05] [INFO] XML parsed successfully. Root element: Incident
[2026-03-05 19:17:05] [INFO] Processing 21 field mappings
[2026-03-05 19:17:05] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-03-05 19:17:05] [INFO]   -> Found value: 26-06694
[2026-03-05 19:17:05] [INFO]   -> Set field 'dispatchRunNumber' = "26-06694"
[2026-03-05 19:17:05] [INFO]   -> Set field 'cADNumber' = "26-06694"
[2026-03-05 19:17:05] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-03-05 19:17:05] [INFO]   -> Found value: 632
[2026-03-05 19:17:05] [INFO]   -> Set field 'incidentLocationStreetNumber' = 632
[2026-03-05 19:17:05] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-03-05 19:17:05] [INFO]   -> Found value: COUNTY HIGHWAY 807
[2026-03-05 19:17:05] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 807"
[2026-03-05 19:17:05] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-03-05 19:17:05] [INFO]   -> No value found (null or empty)
[2026-03-05 19:17:05] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-03-05 19:17:05] [INFO]   -> No value found (null or empty)
[2026-03-05 19:17:05] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-03-05 19:17:05] [INFO]   -> No value found (null or empty)
[2026-03-05 19:17:05] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-03-05 19:17:05] [INFO]   -> No value found (null or empty)
[2026-03-05 19:17:05] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-03-05 19:17:05] [INFO]   -> No value found (null or empty)
[2026-03-05 19:17:05] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-03-05 19:17:05] [INFO]   -> Found value: 0
[2026-03-05 19:17:05] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-03-05 19:17:05] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-03-05 19:17:05] [INFO]   -> Found value: 0
[2026-03-05 19:17:05] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-03-05 19:17:05] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-03-05 19:17:05] [INFO]   -> Found value: FIRE-OUT OF TOWN
[2026-03-05 19:17:05] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-OUT OF TOWN"
[2026-03-05 19:17:05] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-03-05 19:17:05] [INFO]   -> Found value: 03-05-2026 12:42:15|HARLENE AND CO HWY 807 
STRUCTURE FIRE VISIBILE FLAMES SHOWING ;  03-05-2026 12:...
[2026-03-05 19:17:05] [INFO]   -> Set field 'dispatchNotes' = "03-05-2026 12:42:15|HARLENE AND CO HWY 807 \nSTRUCTURE FIRE VISIBILE FLAMES SHOWING ;  03-05-2026 12:44:24|RV 03-05-2026 12:44:58|SUBJECTS OUTSIDE RESIDENCE ADVISING TO CALl 911 03-05-2026 12:45:09|A25 MOREHOUSE MINER MATTHEWS 03-05-2026 12:45:50|MHSE PAGED 03-05-2026 12:45:52|MINER ADVISED 03-05-2026 12:46:41|MOREHOUSE 64 EN ROUTE TO STATION 03-05-2026 12:48:11|1408 PASSED RESIDENCE THEY HAVE A  WATER HOSE NO FLAMES SHOWING AT THIS TIME 03-05-2026 12:48:15|A25 ADVISED 03-05-2026 12:51:26|C84 FIRE APPEARS TO BE OUT CANCEL ALL AGNECYS EXCEPT SIKESTON 03-05-2026 12:51:52|MINER ADVISED VIA REGION E IO' 03-05-2026 12:52:14|NMCO ADVISED TO CANCEL MATTHEWS RESPONSE"
[2026-03-05 19:17:05] [INFO]   -> Set field 'cADLog' = "03-05-2026 12:42:15|HARLENE AND CO HWY 807 \nSTRUCTURE FIRE VISIBILE FLAMES SHOWING ;  03-05-2026 12:44:24|RV 03-05-2026 12:44:58|SUBJECTS OUTSIDE RESIDENCE ADVISING TO CALl 911 03-05-2026 12:45:09|A25 MOREHOUSE MINER MATTHEWS 03-05-2026 12:45:50|MHSE PAGED 03-05-2026 12:45:52|MINER ADVISED 03-05-2026 12:46:41|MOREHOUSE 64 EN ROUTE TO STATION 03-05-2026 12:48:11|1408 PASSED RESIDENCE THEY HAVE A  WATER HOSE NO FLAMES SHOWING AT THIS TIME 03-05-2026 12:48:15|A25 ADVISED 03-05-2026 12:51:26|C84 FIRE APPEARS TO BE OUT CANCEL ALL AGNECYS EXCEPT SIKESTON 03-05-2026 12:51:52|MINER ADVISED VIA REGION E IO' 03-05-2026 12:52:14|NMCO ADVISED TO CANCEL MATTHEWS RESPONSE"
[2026-03-05 19:17:05] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-03-05 19:17:05] [INFO]   -> Found value: 03-05-2026T12:42:50
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T12:42:50
[2026-03-05 19:17:05] [INFO]   -> Set field 'alarm' = "2026-05-03 12:42:50"
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T12:42:50
[2026-03-05 19:17:05] [INFO]   -> Set field 'dispatched' = "2026-05-03 12:42:50"
[2026-03-05 19:17:05] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-03-05 19:17:05] [INFO]   -> Found value: 03-05-2026T12:50:32
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T12:50:32
[2026-03-05 19:17:05] [INFO]   -> Set field 'onScene' = "2026-05-03 12:50:32"
[2026-03-05 19:17:05] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-03-05 19:17:05] [INFO]   -> Found value: 03-05-2026T13:16:38
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T13:16:38
[2026-03-05 19:17:05] [INFO]   -> Set field 'cleared' = "2026-05-03 13:16:38"
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T13:16:38
[2026-03-05 19:17:05] [INFO]   -> Set field 'inService' = "2026-05-03 13:16:38"
[2026-03-05 19:17:05] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-03-05 19:17:05] [INFO]   -> Found value: ENG3
[2026-03-05 19:17:05] [INFO]   -> Set field 'cADVehicleID' = "ENG3"
[2026-03-05 19:17:05] [INFO]   -> Set field 'name' = "ENG3"
[2026-03-05 19:17:05] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-03-05 19:17:05] [INFO]   -> Found value: 03-05-2026T12:46:04
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T12:46:04
[2026-03-05 19:17:05] [INFO]   -> Set field 'timeenroutetoscene' = "2026-05-03 12:46:04"
[2026-03-05 19:17:05] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-03-05 19:17:05] [INFO]   -> Found value: 03-05-2026T12:57:05
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T12:57:05
[2026-03-05 19:17:05] [INFO]   -> Set field 'timeonscene' = "2026-05-03 12:57:05"
[2026-03-05 19:17:05] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-03-05 19:17:05] [INFO]   -> Found value: 03-05-2026T13:16:38
[2026-03-05 19:17:05] [INFO] Reformatted DD-MM-YYYY date '03-05-2026' (day=03, month=05) to ISO: 2026-05-03T13:16:38
[2026-03-05 19:17:05] [INFO]   -> Set field 'timeunitclear' = "2026-05-03 13:16:38"
[2026-03-05 19:17:05] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-03-05 19:17:05] [INFO]   -> No value found (null or empty)
[2026-03-05 19:17:05] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-03-05 19:17:05] [INFO]   -> Found value: SDPSFD
[2026-03-05 19:17:05] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-03-05 19:17:05] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-05 19:17:05] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-03-05 19:17:05] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-06694","cADNumber":"26-06694","incidentLocationStreetNumber":632,"streetName":"COUNTY HIGHWAY 807","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-OUT OF TOWN","dispatchNotes":"03-05-2026 12:42:15|HARLENE AND CO HWY 807 \nSTRUCTURE FIRE VISIBILE FLAMES SHOWING ;  03-05-2026 12:44:24|RV 03-05-2026 12:44:58|SUBJECTS OUTSIDE RESIDENCE ADVISING TO CALl 911 03-05-2026 12:45:09|A25 MOREHOUSE MINER MATTHEWS 03-05-2026 12:45:50|MHSE PAGED 03-05-2026 12:45:52|MINER ADVISED 03-05-2026 12:46:41|MOREHOUSE 64 EN ROUTE TO STATION 03-05-2026 12:48:11|1408 PASSED RESIDENCE THEY HAVE A  WATER HOSE NO FLAMES SHOWING AT THIS TIME 03-05-2026 12:48:15|A25 ADVISED 03-05-2026 12:51:26|C84 FIRE APPEARS TO BE OUT CANCEL ALL AGNECYS EXCEPT SIKESTON 03-05-2026 12:51:52|MINER ADVISED VIA REGION E IO' 03-05-2026 12:52:14|NMCO ADVISED TO CANCEL MATTHEWS RESPONSE","cADLog":"03-05-2026 12:42:15|HARLENE AND CO HWY 807 \nSTRUCTURE FIRE VISIBILE FLAMES SHOWING ;  03-05-2026 12:44:24|RV 03-05-2026 12:44:58|SUBJECTS OUTSIDE RESIDENCE ADVISING TO CALl 911 03-05-2026 12:45:09|A25 MOREHOUSE MINER MATTHEWS 03-05-2026 12:45:50|MHSE PAGED 03-05-2026 12:45:52|MINER ADVISED 03-05-2026 12:46:41|MOREHOUSE 64 EN ROUTE TO STATION 03-05-2026 12:48:11|1408 PASSED RESIDENCE THEY HAVE A  WATER HOSE NO FLAMES SHOWING AT THIS TIME 03-05-2026 12:48:15|A25 ADVISED 03-05-2026 12:51:26|C84 FIRE APPEARS TO BE OUT CANCEL ALL AGNECYS EXCEPT SIKESTON 03-05-2026 12:51:52|MINER ADVISED VIA REGION E IO' 03-05-2026 12:52:14|NMCO ADVISED TO CANCEL MATTHEWS RESPONSE","alarm":"2026-05-03 12:42:50","dispatched":"2026-05-03 12:42:50","onScene":"2026-05-03 12:50:32","cleared":"2026-05-03 13:16:38","inService":"2026-05-03 13:16:38","cADVehicleID":"ENG3","name":"ENG3","timeenroutetoscene":"2026-05-03 12:46:04","timeonscene":"2026-05-03 12:57:05","timeunitclear":"2026-05-03 13:16:38","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-03-05 19:17:05] [INFO] Number of extracted fields: 21
[2026-03-05 19:17:05] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-03-05 19:17:05] [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-03-05 19:17:05] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-03-05 19:17:05] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-03-05 19:17:06] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-03-05 19:17:06] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-03-05 19:17:06] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-03-05 19:17:06] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-03-05 19:17:06] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e878336f04
[2026-03-05 19:17:08] [INFO] Created new Dispatches record with ID: 69a9d6b2bfc5bdcc5
[2026-03-05 19:17:08] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06694.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/archive/2026-03-05/SDPSFD_26-06694.xml
[2026-03-05 19:17:08] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-06694.xml
[2026-03-05 20:32:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153208298.xml
[2026-03-05 20:32:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153208298.xml for user: 68920395733981a47
[2026-03-05 20:32:08] [INFO] File size: 4650 bytes
[2026-03-05 20:32:09] [INFO] Created FTPFiles record with ID: 69a9e84905c3cd0c6
[2026-03-05 20:32:09] [INFO] About to extract fields from XML. File size: 4650 bytes
[2026-03-05 20:32:09] [INFO] Number of mappings: 24
[2026-03-05 20:32:09] [INFO] Starting XML parsing. Content length: 4650
[2026-03-05 20:32:09] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-05 20:32:09] [INFO] Processing 24 field mappings
[2026-03-05 20:32:09] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-05 20:32:09] [INFO]   -> Found value: GAS-Gas Leak
[2026-03-05 20:32:09] [INFO]   -> Set field 'incidentTypeValue1' = "GAS-Gas Leak"
[2026-03-05 20:32:09] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-05 20:32:09] [INFO]   -> Found value: 1603 WENDY CIR
[2026-03-05 20:32:09] [INFO]   -> Set field 'businessName' = "1603 WENDY CIR"
[2026-03-05 20:32:09] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:32:09] [INFO]   -> Found value: 37379
[2026-03-05 20:32:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-05 20:32:09] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:32:09] [INFO]   -> Found value: 1603
[2026-03-05 20:32:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1603
[2026-03-05 20:32:09] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-05 20:32:09] [INFO]   -> Found value: WENDY
[2026-03-05 20:32:09] [INFO]   -> Set field 'streetName' = "WENDY"
[2026-03-05 20:32:09] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-05 20:32:09] [INFO]   -> Found value: SMITH MORGAN RD/SMITH MORGAN RD
[2026-03-05 20:32:09] [INFO]   -> Set field 'incidentLocationCross' = "SMITH MORGAN RD\/SMITH MORGAN RD"
[2026-03-05 20:32:09] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-05 20:32:09] [INFO]   -> Found value: 2026-03-05T15:31:49.983-05:00
[2026-03-05 20:32:09] [INFO]   -> Set field 'alarm' = "2026-03-05 20:31:49"
[2026-03-05 20:32:09] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-05 20:32:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:32:09] [INFO]   -> Set field 'enroute' = null
[2026-03-05 20:32:09] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-05 20:32:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:32:09] [INFO]   -> Set field 'onScene' = null
[2026-03-05 20:32:09] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-05 20:32:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:32:09] [INFO]   -> Set field 'cleared' = null
[2026-03-05 20:32:09] [INFO]   -> Set field 'inService' = null
[2026-03-05 20:32:09] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-05 20:32:09] [INFO]   -> Found value: 35.234663
[2026-03-05 20:32:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2346629999999976234903442673385143280029296875
[2026-03-05 20:32:09] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-05 20:32:09] [INFO]   -> Found value: -85.148063999999991
[2026-03-05 20:32:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1480639999999908695826889015734195709228515625
[2026-03-05 20:32:09] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-05 20:32:09] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:32:09] [INFO]   -> Set field 'dispatched' = null
[2026-03-05 20:32:09] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-05 20:32:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:32:09] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-05 20:32:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:32:09] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-05 20:32:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:32:09] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-05 20:32:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:32:09] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-05 20:32:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:32:09] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-05 20:32:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:32:09] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-05 20:32:09] [INFO]   -> Found value: CIR
[2026-03-05 20:32:09] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-05 20:32:09] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:32:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:32:09] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-05 20:32:09] [INFO]   -> Found value: 2026-03-07077
[2026-03-05 20:32:09] [INFO]   -> Set field 'policeReportNumber' = "2026-03-07077"
[2026-03-05 20:32:09] [INFO]   -> Set field 'cADNumber' = "2026-03-07077"
[2026-03-05 20:32:09] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-05 20:32:09] [INFO]   -> Found value: 03/05/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078
[2026-03-05 20:32:09] [INFO]   -> Set field 'dispatchNotes' = "03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078"
[2026-03-05 20:32:09] [INFO]   -> Set field 'cADLog' = "03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078"
[2026-03-05 20:32:09] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-05 20:32:09] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-05 20:32:09] [INFO]   -> Found value: SFD
[2026-03-05 20:32:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-05 20:32:09] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-05 20:32:09] [INFO] Concatenating street name and type
[2026-03-05 20:32:09] [INFO]   -> Combined street name: WENDY CIR
[2026-03-05 20:32:09] [INFO] Built locationCoordinates from lat/lng: 35.234663,-85.148064
[2026-03-05 20:32:09] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"GAS-Gas Leak","businessName":"1603 WENDY CIR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1603,"streetName":"WENDY CIR","incidentLocationCross":"SMITH MORGAN RD\/SMITH MORGAN RD","alarm":"2026-03-05 20:31:49","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.2346629999999976234903442673385143280029296875,"nERISIncidentLongitude":-85.1480639999999908695826889015734195709228515625,"dispatched":null,"policeReportNumber":"2026-03-07077","cADNumber":"2026-03-07077","dispatchNotes":"03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078","cADLog":"03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078","cADAgencyIdentifier":"SFD","locationCoordinates":"35.234663,-85.148064"}
[2026-03-05 20:32:09] [INFO] Number of extracted fields: 20
[2026-03-05 20:32:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-05 20:32:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD', Parsed IDs = ["SFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-05 20:32:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-05 20:32:09] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:32:09] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-05 20:32:09] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-05 20:32:09] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-05 20:32:09] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-05 20:32:09] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"GAS-Gas Leak","saasclientId":"681a1d681d6140e0c","name":"GAS-Gas Leak"}
[2026-03-05 20:32:09] [INFO] Created new IncidentTypeMapping with ID: 69a9e849d643e8bb0
[2026-03-05 20:32:12] [INFO] Created new Dispatches record with ID: 69a9e84a3129d8dd3
[2026-03-05 20:32:12] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-05 20:32:12] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-05 20:32:15] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-07077_20260305153208298.xml
[2026-03-05 20:32:15] [INFO] Created archive directory: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-05
[2026-03-05 20:32:15] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153208298.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-05/INCCOMBINED_2026-03-07077_20260305153208298.xml
[2026-03-05 20:32:15] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153208298.xml
[2026-03-05 20:33:34] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153334341.xml
[2026-03-05 20:33:34] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153334341.xml for user: 68920395733981a47
[2026-03-05 20:33:34] [INFO] File size: 4829 bytes
[2026-03-05 20:33:34] [INFO] Created FTPFiles record with ID: 69a9e89ee396a68c3
[2026-03-05 20:33:34] [INFO] About to extract fields from XML. File size: 4829 bytes
[2026-03-05 20:33:34] [INFO] Number of mappings: 24
[2026-03-05 20:33:34] [INFO] Starting XML parsing. Content length: 4829
[2026-03-05 20:33:34] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-05 20:33:34] [INFO] Processing 24 field mappings
[2026-03-05 20:33:34] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-05 20:33:34] [INFO]   -> Found value: GAS-Gas Leak
[2026-03-05 20:33:34] [INFO]   -> Set field 'incidentTypeValue1' = "GAS-Gas Leak"
[2026-03-05 20:33:34] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-05 20:33:34] [INFO]   -> Found value: 1603 WENDY CIR
[2026-03-05 20:33:34] [INFO]   -> Set field 'businessName' = "1603 WENDY CIR"
[2026-03-05 20:33:34] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:33:34] [INFO]   -> Found value: 37379
[2026-03-05 20:33:34] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-05 20:33:34] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:33:34] [INFO]   -> Found value: 1603
[2026-03-05 20:33:34] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1603
[2026-03-05 20:33:34] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-05 20:33:34] [INFO]   -> Found value: WENDY
[2026-03-05 20:33:34] [INFO]   -> Set field 'streetName' = "WENDY"
[2026-03-05 20:33:34] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-05 20:33:34] [INFO]   -> Found value: SMITH MORGAN RD/SMITH MORGAN RD
[2026-03-05 20:33:34] [INFO]   -> Set field 'incidentLocationCross' = "SMITH MORGAN RD\/SMITH MORGAN RD"
[2026-03-05 20:33:34] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-05 20:33:34] [INFO]   -> Found value: 2026-03-05T15:31:49.983-05:00
[2026-03-05 20:33:34] [INFO]   -> Set field 'alarm' = "2026-03-05 20:31:49"
[2026-03-05 20:33:34] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-05 20:33:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:34] [INFO]   -> Set field 'enroute' = null
[2026-03-05 20:33:34] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-05 20:33:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:34] [INFO]   -> Set field 'onScene' = null
[2026-03-05 20:33:34] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-05 20:33:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:34] [INFO]   -> Set field 'cleared' = null
[2026-03-05 20:33:34] [INFO]   -> Set field 'inService' = null
[2026-03-05 20:33:34] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-05 20:33:34] [INFO]   -> Found value: 35.234663
[2026-03-05 20:33:34] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2346629999999976234903442673385143280029296875
[2026-03-05 20:33:34] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-05 20:33:34] [INFO]   -> Found value: -85.148063999999991
[2026-03-05 20:33:34] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1480639999999908695826889015734195709228515625
[2026-03-05 20:33:34] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-05 20:33:34] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:34] [INFO]   -> Set field 'dispatched' = null
[2026-03-05 20:33:34] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-05 20:33:34] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:34] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-05 20:33:34] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:34] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-05 20:33:34] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:34] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-05 20:33:34] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:34] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-05 20:33:34] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:34] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-05 20:33:34] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:34] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-05 20:33:34] [INFO]   -> Found value: CIR
[2026-03-05 20:33:34] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-05 20:33:34] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:33:34] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:34] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-05 20:33:34] [INFO]   -> Found value: 2026-03-07077
[2026-03-05 20:33:34] [INFO]   -> Set field 'policeReportNumber' = "2026-03-07077"
[2026-03-05 20:33:34] [INFO]   -> Set field 'cADNumber' = "2026-03-07077"
[2026-03-05 20:33:34] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-05 20:33:34] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-05 20:33:34] [INFO] Found 3 elements for 'Comment', concatenating 3 non-empty values
[2026-03-05 20:33:34] [INFO]   -> Found value: 03/05/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078
03/05/202...
[2026-03-05 20:33:34] [INFO]   -> Set field 'dispatchNotes' = "03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]"
[2026-03-05 20:33:34] [INFO]   -> Set field 'cADLog' = "03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]"
[2026-03-05 20:33:34] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-05 20:33:34] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-05 20:33:34] [INFO]   -> Found value: SFD
[2026-03-05 20:33:34] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-05 20:33:34] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-05 20:33:34] [INFO] Concatenating street name and type
[2026-03-05 20:33:34] [INFO]   -> Combined street name: WENDY CIR
[2026-03-05 20:33:34] [INFO] Built locationCoordinates from lat/lng: 35.234663,-85.148064
[2026-03-05 20:33:34] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"GAS-Gas Leak","businessName":"1603 WENDY CIR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1603,"streetName":"WENDY CIR","incidentLocationCross":"SMITH MORGAN RD\/SMITH MORGAN RD","alarm":"2026-03-05 20:31:49","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.2346629999999976234903442673385143280029296875,"nERISIncidentLongitude":-85.1480639999999908695826889015734195709228515625,"dispatched":null,"policeReportNumber":"2026-03-07077","cADNumber":"2026-03-07077","dispatchNotes":"03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]","cADLog":"03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.234663,-85.148064"}
[2026-03-05 20:33:34] [INFO] Number of extracted fields: 20
[2026-03-05 20:33:34] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-05 20:33:34] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD', Parsed IDs = ["SFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-05 20:33:34] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-05 20:33:34] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:33:35] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-05 20:33:35] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-05 20:33:35] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-05 20:33:35] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-05 20:33:35] [INFO] Found existing IncidentTypeMapping with ID: 69a9e849d643e8bb0
[2026-03-05 20:33:35] [INFO] Found existing Dispatch with cADNumber '2026-03-07077', ID: 69a9e84a3129d8dd3 - will update instead of create
[2026-03-05 20:33:35] [INFO] Updated existing Dispatches record with ID: 69a9e84a3129d8dd3
[2026-03-05 20:33:35] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-05 20:33:36] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-05 20:33:39] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-07077_20260305153334341.xml
[2026-03-05 20:33:39] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153334341.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-05/INCCOMBINED_2026-03-07077_20260305153334341.xml
[2026-03-05 20:33:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153334341.xml
[2026-03-05 20:33:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153339438.xml
[2026-03-05 20:33:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153339438.xml for user: 68920395733981a47
[2026-03-05 20:33:39] [INFO] File size: 4931 bytes
[2026-03-05 20:33:39] [INFO] Created FTPFiles record with ID: 69a9e8a3d6c86c966
[2026-03-05 20:33:39] [INFO] About to extract fields from XML. File size: 4931 bytes
[2026-03-05 20:33:39] [INFO] Number of mappings: 24
[2026-03-05 20:33:39] [INFO] Starting XML parsing. Content length: 4931
[2026-03-05 20:33:39] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-03-05 20:33:39] [INFO] Processing 24 field mappings
[2026-03-05 20:33:39] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-03-05 20:33:39] [INFO]   -> Found value: GAS-Gas Leak
[2026-03-05 20:33:39] [INFO]   -> Set field 'incidentTypeValue1' = "GAS-Gas Leak"
[2026-03-05 20:33:39] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-03-05 20:33:39] [INFO]   -> Found value: 1603 WENDY CIR
[2026-03-05 20:33:39] [INFO]   -> Set field 'businessName' = "1603 WENDY CIR"
[2026-03-05 20:33:39] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:33:39] [INFO]   -> Found value: 37379
[2026-03-05 20:33:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-03-05 20:33:39] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:33:39] [INFO]   -> Found value: 1603
[2026-03-05 20:33:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1603
[2026-03-05 20:33:39] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-03-05 20:33:39] [INFO]   -> Found value: WENDY
[2026-03-05 20:33:39] [INFO]   -> Set field 'streetName' = "WENDY"
[2026-03-05 20:33:39] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-03-05 20:33:39] [INFO]   -> Found value: SMITH MORGAN RD/SMITH MORGAN RD
[2026-03-05 20:33:39] [INFO]   -> Set field 'incidentLocationCross' = "SMITH MORGAN RD\/SMITH MORGAN RD"
[2026-03-05 20:33:39] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-03-05 20:33:39] [INFO]   -> Found value: 2026-03-05T15:31:49.983-05:00
[2026-03-05 20:33:39] [INFO]   -> Set field 'alarm' = "2026-03-05 20:31:49"
[2026-03-05 20:33:39] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-03-05 20:33:39] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:39] [INFO]   -> Set field 'enroute' = null
[2026-03-05 20:33:39] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-03-05 20:33:39] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:39] [INFO]   -> Set field 'onScene' = null
[2026-03-05 20:33:39] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-03-05 20:33:39] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:39] [INFO]   -> Set field 'cleared' = null
[2026-03-05 20:33:39] [INFO]   -> Set field 'inService' = null
[2026-03-05 20:33:39] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-03-05 20:33:39] [INFO]   -> Found value: 35.234663
[2026-03-05 20:33:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.2346629999999976234903442673385143280029296875
[2026-03-05 20:33:39] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-03-05 20:33:39] [INFO]   -> Found value: -85.148063999999991
[2026-03-05 20:33:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1480639999999908695826889015734195709228515625
[2026-03-05 20:33:39] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-03-05 20:33:39] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-03-05 20:33:39] [INFO]   -> Set field 'dispatched' = null
[2026-03-05 20:33:39] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-03-05 20:33:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:39] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-03-05 20:33:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:39] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-03-05 20:33:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:39] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-03-05 20:33:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:39] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-03-05 20:33:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:39] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-03-05 20:33:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:39] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-03-05 20:33:39] [INFO]   -> Found value: CIR
[2026-03-05 20:33:39] [INFO]   -> Set field 'streetType' = "CIR"
[2026-03-05 20:33:39] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:33:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:33:39] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-03-05 20:33:39] [INFO]   -> Found value: 2026-03-07077
[2026-03-05 20:33:39] [INFO]   -> Set field 'policeReportNumber' = "2026-03-07077"
[2026-03-05 20:33:39] [INFO]   -> Set field 'cADNumber' = "2026-03-07077"
[2026-03-05 20:33:39] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-03-05 20:33:39] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-03-05 20:33:39] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-03-05 20:33:39] [INFO]   -> Found value: 03/05/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078
03/05/202...
[2026-03-05 20:33:39] [INFO]   -> Set field 'dispatchNotes' = "03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]\n03\/05\/2026 15:33:38 GUY_C                   [4] HE KEEPS SAYING SIGNAL MTN [Shared]"
[2026-03-05 20:33:39] [INFO]   -> Set field 'cADLog' = "03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]\n03\/05\/2026 15:33:38 GUY_C                   [4] HE KEEPS SAYING SIGNAL MTN [Shared]"
[2026-03-05 20:33:39] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-03-05 20:33:39] [INFO]   -> Multi-agency mode: Converting scoped path 'IncidentData.AgencyIdentifier' to global 'AgencyIdentifier' for cADAgencyIdentifier
[2026-03-05 20:33:39] [INFO]   -> Found value: SFD
[2026-03-05 20:33:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-03-05 20:33:39] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-03-05 20:33:39] [INFO] Concatenating street name and type
[2026-03-05 20:33:39] [INFO]   -> Combined street name: WENDY CIR
[2026-03-05 20:33:39] [INFO] Built locationCoordinates from lat/lng: 35.234663,-85.148064
[2026-03-05 20:33:39] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"GAS-Gas Leak","businessName":"1603 WENDY CIR","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1603,"streetName":"WENDY CIR","incidentLocationCross":"SMITH MORGAN RD\/SMITH MORGAN RD","alarm":"2026-03-05 20:31:49","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.2346629999999976234903442673385143280029296875,"nERISIncidentLongitude":-85.1480639999999908695826889015734195709228515625,"dispatched":null,"policeReportNumber":"2026-03-07077","cADNumber":"2026-03-07077","dispatchNotes":"03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]\n03\/05\/2026 15:33:38 GUY_C                   [4] HE KEEPS SAYING SIGNAL MTN [Shared]","cADLog":"03\/05\/2026 15:32:05 GUY_C                   [1] Multi-Agency Law Incident #: 2026-03-07078\n03\/05\/2026 15:33:30 GUY_C                   [2] STANDBY  [Shared]\n03\/05\/2026 15:33:33 GUY_C                   [3] THIS IS NOT CORRECT [Shared]\n03\/05\/2026 15:33:38 GUY_C                   [4] HE KEEPS SAYING SIGNAL MTN [Shared]","cADAgencyIdentifier":"SFD","locationCoordinates":"35.234663,-85.148064"}
[2026-03-05 20:33:39] [INFO] Number of extracted fields: 20
[2026-03-05 20:33:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-03-05 20:33:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SFD', Parsed IDs = ["SFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-03-05 20:33:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-03-05 20:33:39] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:33:40] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-03-05 20:33:40] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-03-05 20:33:40] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-03-05 20:33:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-03-05 20:33:40] [INFO] Found existing IncidentTypeMapping with ID: 69a9e849d643e8bb0
[2026-03-05 20:33:40] [INFO] Found existing Dispatch with cADNumber '2026-03-07077', ID: 69a9e84a3129d8dd3 - will update instead of create
[2026-03-05 20:33:40] [INFO] Updated existing Dispatches record with ID: 69a9e84a3129d8dd3
[2026-03-05 20:33:40] [INFO] Uploading file to V2 FTP server: alerts.stationboss.net, Remote Dir: /
[2026-03-05 20:33:40] [INFO] Using FTPS (SSL/TLS) connection
[2026-03-05 20:33:43] [INFO] Successfully uploaded file to V2 FTP server: /INCCOMBINED_2026-03-07077_20260305153339438.xml
[2026-03-05 20:33:43] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153339438.xml -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/archive/2026-03-05/INCCOMBINED_2026-03-07077_20260305153339438.xml
[2026-03-05 20:33:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-03-07077_20260305153339438.xml
[2026-03-05 20:39:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203938.XML
[2026-03-05 20:39:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203938.XML for user: 68f1466aed072ad4a
[2026-03-05 20:39:39] [INFO] File size: 5182 bytes
[2026-03-05 20:39:39] [INFO] Created FTPFiles record with ID: 69a9ea0b56a33f43f
[2026-03-05 20:39:39] [INFO] About to extract fields from XML. File size: 5182 bytes
[2026-03-05 20:39:39] [INFO] Number of mappings: 28
[2026-03-05 20:39:39] [INFO] Starting XML parsing. Content length: 5182
[2026-03-05 20:39:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 20:39:39] [INFO] Processing 28 field mappings
[2026-03-05 20:39:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 20:39:39] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 20:39:39] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 20:39:39] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-05 20:39:39] [INFO]   -> Found value: PCFD
PCSO
[2026-03-05 20:39:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-05 20:39:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:39:39] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-05 20:39:39] [INFO]   -> Found value: 2026000601
[2026-03-05 20:39:39] [INFO]   -> Set field 'incidentInternalId' = "2026000601"
[2026-03-05 20:39:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000601"
[2026-03-05 20:39:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 20:39:39] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-05 20:39:39] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-05 20:39:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:39:39] [INFO]   -> Found value: 295
[2026-03-05 20:39:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 295
[2026-03-05 20:39:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 20:39:39] [INFO]   -> Found value: TN
[2026-03-05 20:39:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 20:39:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 20:39:39] [INFO]   -> Found value: MM295E
[2026-03-05 20:39:39] [INFO]   -> Set field 'businessName' = "MM295E"
[2026-03-05 20:39:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 20:39:39] [INFO]   -> Found value: 36.14288
[2026-03-05 20:39:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14287999999999811961970408447086811065673828125
[2026-03-05 20:39:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 20:39:39] [INFO]   -> Found value: -85.36784
[2026-03-05 20:39:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3678400000000010550138540565967559814453125
[2026-03-05 20:39:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 20:39:39] [INFO]   -> Found value: 2026-03-05 14:36:24
[2026-03-05 20:39:39] [INFO]   -> Set field 'alarm' = "2026-03-05 14:36:24"
[2026-03-05 20:39:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 20:39:39] [INFO]   -> Found value: 2026-03-05 14:39:33
[2026-03-05 20:39:39] [INFO]   -> Set field 'dispatched' = "2026-03-05 14:39:33"
[2026-03-05 20:39:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 20:39:39] [INFO]   -> Found value: TK21
[2026-03-05 20:39:39] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-05 20:39:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 20:39:39] [INFO]   -> Found value: 2026-03-05 14:39:33
[2026-03-05 20:39:39] [INFO]   -> Set field 'timedispatch' = "2026-03-05 14:39:33"
[2026-03-05 20:39:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 20:39:39] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 20:39:39] [INFO]   -> Found value: 20260024321
[2026-03-05 20:39:39] [INFO]   -> Set field 'policeReportNumber' = "20260024321"
[2026-03-05 20:39:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 20:39:39] [INFO]   -> Found value: UDTS: THP NOTIFIED BY 911  [03/05/26 14:39:13 KMORGAN2] BLACK SMOKE  [03/05/26 14:38:56 KMORGAN2] TR...
[2026-03-05 20:39:39] [INFO]   -> Set field 'dispatchNotes' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:39:39] [INFO]   -> Set field 'cADLog' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:39:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 20:39:39] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 20:39:39] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 20:39:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 20:39:39] [INFO]   -> Found value: I 40
[2026-03-05 20:39:39] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-05 20:39:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 20:39:39] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 20:39:39] [INFO]   -> Found value: 295 E I 40
[2026-03-05 20:39:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "295 E I 40"
[2026-03-05 20:39:39] [INFO] Finished extracting fields. Total fields extracted: 19
[2026-03-05 20:39:39] [INFO] Built locationCoordinates from lat/lng: 36.14288,-85.36784
[2026-03-05 20:39:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000601","dispatchRunNumber":"2026000601","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":295,"incidentLocationStateName":"TN","businessName":"MM295E","nERISIncidentLatitude":36.14287999999999811961970408447086811065673828125,"nERISIncidentLongitude":-85.3678400000000010550138540565967559814453125,"alarm":"2026-03-05 14:36:24","dispatched":"2026-03-05 14:39:33","cADVehicleID":"TK21","timedispatch":"2026-03-05 14:39:33","policeReportNumber":"20260024321","dispatchNotes":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","cADLog":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"295 E I 40","locationCoordinates":"36.14288,-85.36784"}
[2026-03-05 20:39:39] [INFO] Number of extracted fields: 20
[2026-03-05 20:39:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-05 20:39:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-05 20:39:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-05 20:39:39] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:39:39] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 20:39:39] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-05 20:39:39] [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-03-05 20:39:39] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 20:39:39] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-05 20:39:39] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 20:39:39] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 20:39:39] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-05 20:39:49] [INFO] Created new Dispatches record with ID: 69a9ea0c365cd2d9c
[2026-03-05 20:39:49] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203938.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024321_20260305_203938.XML
[2026-03-05 20:39:49] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203938.XML
[2026-03-05 20:39:49] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203949.XML
[2026-03-05 20:39:49] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203949.XML for user: 68f1466aed072ad4a
[2026-03-05 20:39:49] [INFO] File size: 6072 bytes
[2026-03-05 20:39:50] [INFO] Created FTPFiles record with ID: 69a9ea1627110d9f2
[2026-03-05 20:39:50] [INFO] About to extract fields from XML. File size: 6072 bytes
[2026-03-05 20:39:50] [INFO] Number of mappings: 28
[2026-03-05 20:39:50] [INFO] Starting XML parsing. Content length: 6072
[2026-03-05 20:39:50] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 20:39:50] [INFO] Processing 28 field mappings
[2026-03-05 20:39:50] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 20:39:50] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 20:39:50] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 20:39:50] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-05 20:39:50] [INFO]   -> Found value: PCFD
PCSO
[2026-03-05 20:39:50] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-05 20:39:50] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:39:50] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-05 20:39:50] [INFO]   -> Found value: 2026000601
[2026-03-05 20:39:50] [INFO]   -> Set field 'incidentInternalId' = "2026000601"
[2026-03-05 20:39:50] [INFO]   -> Set field 'dispatchRunNumber' = "2026000601"
[2026-03-05 20:39:50] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 20:39:50] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-05 20:39:50] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-05 20:39:50] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:39:50] [INFO]   -> Found value: 295
[2026-03-05 20:39:50] [INFO]   -> Set field 'incidentLocationStreetNumber' = 295
[2026-03-05 20:39:50] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 20:39:50] [INFO]   -> Found value: TN
[2026-03-05 20:39:50] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 20:39:50] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 20:39:50] [INFO]   -> Found value: MM295E
[2026-03-05 20:39:50] [INFO]   -> Set field 'businessName' = "MM295E"
[2026-03-05 20:39:50] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 20:39:50] [INFO]   -> Found value: 36.14288
[2026-03-05 20:39:50] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14287999999999811961970408447086811065673828125
[2026-03-05 20:39:50] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 20:39:50] [INFO]   -> Found value: -85.36784
[2026-03-05 20:39:50] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3678400000000010550138540565967559814453125
[2026-03-05 20:39:50] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 20:39:50] [INFO]   -> Found value: 2026-03-05 14:36:24
[2026-03-05 20:39:50] [INFO]   -> Set field 'alarm' = "2026-03-05 14:36:24"
[2026-03-05 20:39:50] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 20:39:50] [INFO]   -> Found value: 2026-03-05 14:39:33
[2026-03-05 20:39:50] [INFO]   -> Set field 'dispatched' = "2026-03-05 14:39:33"
[2026-03-05 20:39:50] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 20:39:50] [INFO]   -> Found value: 2026-03-05 14:39:42
[2026-03-05 20:39:50] [INFO]   -> Set field 'enroute' = "2026-03-05 14:39:42"
[2026-03-05 20:39:50] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 20:39:50] [INFO]   -> Found value: 900
[2026-03-05 20:39:50] [INFO]   -> Set field 'cADVehicleID' = 900
[2026-03-05 20:39:50] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 20:39:50] [INFO]   -> Found value: 2026-03-05 14:39:42
[2026-03-05 20:39:50] [INFO]   -> Set field 'timedispatch' = "2026-03-05 14:39:42"
[2026-03-05 20:39:50] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 20:39:50] [INFO]   -> Found value: 2026-03-05 14:39:42
[2026-03-05 20:39:50] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 14:39:42"
[2026-03-05 20:39:50] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 20:39:50] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 20:39:50] [INFO]   -> Found value: 20260024321
[2026-03-05 20:39:50] [INFO]   -> Set field 'policeReportNumber' = "20260024321"
[2026-03-05 20:39:50] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 20:39:50] [INFO]   -> Found value: UDTS: THP NOTIFIED BY 911  [03/05/26 14:39:13 KMORGAN2] BLACK SMOKE  [03/05/26 14:38:56 KMORGAN2] TR...
[2026-03-05 20:39:50] [INFO]   -> Set field 'dispatchNotes' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:39:50] [INFO]   -> Set field 'cADLog' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:39:50] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 20:39:50] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 20:39:50] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 20:39:50] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 20:39:50] [INFO]   -> Found value: I 40
[2026-03-05 20:39:50] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-05 20:39:50] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 20:39:50] [INFO]   -> No value found (null or empty)
[2026-03-05 20:39:50] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 20:39:50] [INFO]   -> Found value: 295 E I 40
[2026-03-05 20:39:50] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "295 E I 40"
[2026-03-05 20:39:50] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 20:39:50] [INFO] Built locationCoordinates from lat/lng: 36.14288,-85.36784
[2026-03-05 20:39:50] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000601","dispatchRunNumber":"2026000601","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":295,"incidentLocationStateName":"TN","businessName":"MM295E","nERISIncidentLatitude":36.14287999999999811961970408447086811065673828125,"nERISIncidentLongitude":-85.3678400000000010550138540565967559814453125,"alarm":"2026-03-05 14:36:24","dispatched":"2026-03-05 14:39:33","enroute":"2026-03-05 14:39:42","cADVehicleID":900,"timedispatch":"2026-03-05 14:39:42","timeenroutetoscene":"2026-03-05 14:39:42","policeReportNumber":"20260024321","dispatchNotes":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","cADLog":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"295 E I 40","locationCoordinates":"36.14288,-85.36784"}
[2026-03-05 20:39:50] [INFO] Number of extracted fields: 22
[2026-03-05 20:39:50] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-05 20:39:50] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-05 20:39:50] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-05 20:39:50] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:39:50] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 20:39:50] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-05 20:39:50] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-03-05 20:39:50] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 20:39:50] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-05 20:39:50] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 20:39:50] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 20:39:50] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-05 20:39:50] [INFO] Found existing Dispatch with cADNumber '2026000601', ID: 69a9ea0c365cd2d9c - will update instead of create
[2026-03-05 20:39:50] [INFO] Updated existing Dispatches record with ID: 69a9ea0c365cd2d9c
[2026-03-05 20:39:50] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203949.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024321_20260305_203949.XML
[2026-03-05 20:39:50] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_203949.XML
[2026-03-05 20:40:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024315_20260305_204008.XML
[2026-03-05 20:40:08] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024315_20260305_204008.XML for user: 68f1466aed072ad4a
[2026-03-05 20:40:08] [INFO] File size: 5388 bytes
[2026-03-05 20:40:09] [INFO] Created FTPFiles record with ID: 69a9ea2950e0604c4
[2026-03-05 20:40:09] [INFO] About to extract fields from XML. File size: 5388 bytes
[2026-03-05 20:40:09] [INFO] Number of mappings: 28
[2026-03-05 20:40:09] [INFO] Starting XML parsing. Content length: 5388
[2026-03-05 20:40:09] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 20:40:09] [INFO] Processing 28 field mappings
[2026-03-05 20:40:09] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 20:40:09] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 20:40:09] [INFO]   -> Found value: PCFD
[2026-03-05 20:40:09] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-03-05 20:40:09] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:40:09] [INFO]   -> Found value: 2026000600
[2026-03-05 20:40:09] [INFO]   -> Set field 'incidentInternalId' = "2026000600"
[2026-03-05 20:40:09] [INFO]   -> Set field 'dispatchRunNumber' = "2026000600"
[2026-03-05 20:40:09] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 20:40:09] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 20:40:09] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 20:40:09] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:40:09] [INFO]   -> Found value: 2885
[2026-03-05 20:40:09] [INFO]   -> Set field 'incidentLocationStreetNumber' = 2885
[2026-03-05 20:40:09] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 20:40:09] [INFO]   -> Found value: TN
[2026-03-05 20:40:09] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 20:40:09] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:40:09] [INFO]   -> Found value: 38506
[2026-03-05 20:40:09] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-03-05 20:40:09] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 20:40:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:09] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 20:40:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:09] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 20:40:09] [INFO]   -> Found value: 36.13578
[2026-03-05 20:40:09] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.1357799999999969031705404631793498992919921875
[2026-03-05 20:40:09] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 20:40:09] [INFO]   -> Found value: -85.42231
[2026-03-05 20:40:09] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4223099999999959663909976370632648468017578125
[2026-03-05 20:40:09] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 20:40:09] [INFO]   -> Found value: 2026-03-05 14:27:23
[2026-03-05 20:40:09] [INFO]   -> Set field 'alarm' = "2026-03-05 14:27:23"
[2026-03-05 20:40:09] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 20:40:09] [INFO]   -> Found value: 2026-03-05 14:27:58
[2026-03-05 20:40:09] [INFO]   -> Set field 'dispatched' = "2026-03-05 14:27:58"
[2026-03-05 20:40:09] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 20:40:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:09] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 20:40:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:09] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 20:40:09] [INFO]   -> Found value: 2026-03-05 14:40:00
[2026-03-05 20:40:09] [INFO]   -> Set field 'cleared' = "2026-03-05 14:40:00"
[2026-03-05 20:40:09] [INFO]   -> Set field 'inService' = "2026-03-05 14:40:00"
[2026-03-05 20:40:09] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 20:40:09] [INFO]   -> Found value: /ROCKY POINT RD
[2026-03-05 20:40:09] [INFO]   -> Set field 'incidentLocationCross' = "\/ROCKY POINT RD"
[2026-03-05 20:40:09] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 20:40:09] [INFO]   -> Found value: PCFR
[2026-03-05 20:40:09] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-05 20:40:09] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 20:40:09] [INFO]   -> Found value: 2026-03-05 14:27:59
[2026-03-05 20:40:09] [INFO]   -> Set field 'timedispatch' = "2026-03-05 14:27:59"
[2026-03-05 20:40:09] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 20:40:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:09] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 20:40:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:09] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 20:40:09] [INFO]   -> Found value: 2026-03-05 14:40:00
[2026-03-05 20:40:09] [INFO]   -> Set field 'timeunitclear' = "2026-03-05 14:40:00"
[2026-03-05 20:40:09] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 20:40:09] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:09] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 20:40:09] [INFO]   -> Found value: 20260024315
[2026-03-05 20:40:09] [INFO]   -> Set field 'policeReportNumber' = "20260024315"
[2026-03-05 20:40:09] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 20:40:09] [INFO]   -> Found value: [EMS] DAILY ASPIRIN  [03/05/26 14:28:52 KMORGAN2] [EMS] 64 YOM//DALE AGRIMSON  [03/05/26 14:28:20 KM...
[2026-03-05 20:40:09] [INFO]   -> Set field 'dispatchNotes' = "[EMS] DAILY ASPIRIN  [03\/05\/26 14:28:52 KMORGAN2] [EMS] 64 YOM\/\/DALE AGRIMSON  [03\/05\/26 14:28:20 KMORGAN2] [EMS] FLUSHED\/\/SWEATING  [03\/05\/26 14:27:57 KMORGAN2] [LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 14:27:57 KPATTON] [EMS] HX OF OPEN HEART SURGERY  10 MIN ONSET  [03\/05\/26 14:27:46 KMORGAN2] Event spawned from CHEST PAIN.  [03\/05\/2026 14:27:23 KMORGAN2]"
[2026-03-05 20:40:09] [INFO]   -> Set field 'cADLog' = "[EMS] DAILY ASPIRIN  [03\/05\/26 14:28:52 KMORGAN2] [EMS] 64 YOM\/\/DALE AGRIMSON  [03\/05\/26 14:28:20 KMORGAN2] [EMS] FLUSHED\/\/SWEATING  [03\/05\/26 14:27:57 KMORGAN2] [LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 14:27:57 KPATTON] [EMS] HX OF OPEN HEART SURGERY  10 MIN ONSET  [03\/05\/26 14:27:46 KMORGAN2] Event spawned from CHEST PAIN.  [03\/05\/2026 14:27:23 KMORGAN2]"
[2026-03-05 20:40:09] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 20:40:09] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 20:40:09] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 20:40:09] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 20:40:09] [INFO]   -> Found value: HYDER MOUNTAIN
[2026-03-05 20:40:09] [INFO]   -> Set field 'streetName' = "HYDER MOUNTAIN"
[2026-03-05 20:40:09] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 20:40:09] [INFO]   -> Found value: RD
[2026-03-05 20:40:09] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 20:40:09] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 20:40:09] [INFO]   -> Found value: 2885 HYDER MOUNTAIN RD
[2026-03-05 20:40:09] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "2885 HYDER MOUNTAIN RD"
[2026-03-05 20:40:09] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-03-05 20:40:09] [INFO] Concatenating street name and type
[2026-03-05 20:40:09] [INFO]   -> Combined street name: HYDER MOUNTAIN RD
[2026-03-05 20:40:09] [INFO] Built locationCoordinates from lat/lng: 36.13578,-85.42231
[2026-03-05 20:40:09] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000600","dispatchRunNumber":"2026000600","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":2885,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.1357799999999969031705404631793498992919921875,"nERISIncidentLongitude":-85.4223099999999959663909976370632648468017578125,"alarm":"2026-03-05 14:27:23","dispatched":"2026-03-05 14:27:58","cleared":"2026-03-05 14:40:00","inService":"2026-03-05 14:40:00","incidentLocationCross":"\/ROCKY POINT RD","cADVehicleID":"PCFR","timedispatch":"2026-03-05 14:27:59","timeunitclear":"2026-03-05 14:40:00","policeReportNumber":"20260024315","dispatchNotes":"[EMS] DAILY ASPIRIN  [03\/05\/26 14:28:52 KMORGAN2] [EMS] 64 YOM\/\/DALE AGRIMSON  [03\/05\/26 14:28:20 KMORGAN2] [EMS] FLUSHED\/\/SWEATING  [03\/05\/26 14:27:57 KMORGAN2] [LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 14:27:57 KPATTON] [EMS] HX OF OPEN HEART SURGERY  10 MIN ONSET  [03\/05\/26 14:27:46 KMORGAN2] Event spawned from CHEST PAIN.  [03\/05\/2026 14:27:23 KMORGAN2]","cADLog":"[EMS] DAILY ASPIRIN  [03\/05\/26 14:28:52 KMORGAN2] [EMS] 64 YOM\/\/DALE AGRIMSON  [03\/05\/26 14:28:20 KMORGAN2] [EMS] FLUSHED\/\/SWEATING  [03\/05\/26 14:27:57 KMORGAN2] [LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 14:27:57 KPATTON] [EMS] HX OF OPEN HEART SURGERY  10 MIN ONSET  [03\/05\/26 14:27:46 KMORGAN2] Event spawned from CHEST PAIN.  [03\/05\/2026 14:27:23 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"HYDER MOUNTAIN RD","incidentAddressTextVersionStreet":"2885 HYDER MOUNTAIN RD","locationCoordinates":"36.13578,-85.42231"}
[2026-03-05 20:40:09] [INFO] Number of extracted fields: 24
[2026-03-05 20:40:09] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-03-05 20:40:09] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-03-05 20:40:09] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-03-05 20:40:09] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:40:09] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 20:40:09] [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-03-05 20:40:09] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 20:40:09] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 20:40:09] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 20:40:18] [INFO] Created new Dispatches record with ID: 69a9ea2a21d38c4ba
[2026-03-05 20:40:18] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024315_20260305_204008.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024315_20260305_204008.XML
[2026-03-05 20:40:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024315_20260305_204008.XML
[2026-03-05 20:40:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020.XML
[2026-03-05 20:40:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020.XML for user: 68f1466aed072ad4a
[2026-03-05 20:40:20] [INFO] File size: 6813 bytes
[2026-03-05 20:40:20] [INFO] Created FTPFiles record with ID: 69a9ea34d06344b67
[2026-03-05 20:40:20] [INFO] About to extract fields from XML. File size: 6813 bytes
[2026-03-05 20:40:20] [INFO] Number of mappings: 28
[2026-03-05 20:40:20] [INFO] Starting XML parsing. Content length: 6813
[2026-03-05 20:40:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 20:40:20] [INFO] Processing 28 field mappings
[2026-03-05 20:40:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 20:40:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 20:40:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 20:40:20] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-05 20:40:20] [INFO]   -> Found value: PCFD
PCSO
[2026-03-05 20:40:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-05 20:40:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:40:20] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-05 20:40:20] [INFO]   -> Found value: 2026000601
[2026-03-05 20:40:20] [INFO]   -> Set field 'incidentInternalId' = "2026000601"
[2026-03-05 20:40:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000601"
[2026-03-05 20:40:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 20:40:20] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-05 20:40:20] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-05 20:40:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:40:20] [INFO]   -> Found value: 295
[2026-03-05 20:40:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 295
[2026-03-05 20:40:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 20:40:20] [INFO]   -> Found value: TN
[2026-03-05 20:40:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 20:40:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 20:40:20] [INFO]   -> Found value: MM295E
[2026-03-05 20:40:20] [INFO]   -> Set field 'businessName' = "MM295E"
[2026-03-05 20:40:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 20:40:20] [INFO]   -> Found value: 36.14288
[2026-03-05 20:40:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14287999999999811961970408447086811065673828125
[2026-03-05 20:40:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 20:40:20] [INFO]   -> Found value: -85.36784
[2026-03-05 20:40:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3678400000000010550138540565967559814453125
[2026-03-05 20:40:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 20:40:20] [INFO]   -> Found value: 2026-03-05 14:36:24
[2026-03-05 20:40:20] [INFO]   -> Set field 'alarm' = "2026-03-05 14:36:24"
[2026-03-05 20:40:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 20:40:20] [INFO]   -> Found value: 2026-03-05 14:39:33
[2026-03-05 20:40:20] [INFO]   -> Set field 'dispatched' = "2026-03-05 14:39:33"
[2026-03-05 20:40:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 20:40:20] [INFO]   -> Found value: 2026-03-05 14:39:42
[2026-03-05 20:40:20] [INFO]   -> Set field 'enroute' = "2026-03-05 14:39:42"
[2026-03-05 20:40:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 20:40:20] [INFO]   -> Found value: EN11
[2026-03-05 20:40:20] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-05 20:40:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 20:40:20] [INFO]   -> Found value: 2026-03-05 14:40:12
[2026-03-05 20:40:20] [INFO]   -> Set field 'timedispatch' = "2026-03-05 14:40:12"
[2026-03-05 20:40:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 20:40:20] [INFO]   -> Found value: 2026-03-05 14:40:12
[2026-03-05 20:40:20] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 14:40:12"
[2026-03-05 20:40:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 20:40:20] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 20:40:20] [INFO]   -> Found value: 20260024321
[2026-03-05 20:40:20] [INFO]   -> Set field 'policeReportNumber' = "20260024321"
[2026-03-05 20:40:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 20:40:20] [INFO]   -> Found value: UDTS: THP NOTIFIED BY 911  [03/05/26 14:39:13 KMORGAN2] BLACK SMOKE  [03/05/26 14:38:56 KMORGAN2] TR...
[2026-03-05 20:40:20] [INFO]   -> Set field 'dispatchNotes' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:40:20] [INFO]   -> Set field 'cADLog' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:40:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 20:40:20] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 20:40:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 20:40:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 20:40:20] [INFO]   -> Found value: I 40
[2026-03-05 20:40:20] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-05 20:40:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 20:40:20] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 20:40:20] [INFO]   -> Found value: 295 E I 40
[2026-03-05 20:40:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "295 E I 40"
[2026-03-05 20:40:20] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 20:40:20] [INFO] Built locationCoordinates from lat/lng: 36.14288,-85.36784
[2026-03-05 20:40:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000601","dispatchRunNumber":"2026000601","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":295,"incidentLocationStateName":"TN","businessName":"MM295E","nERISIncidentLatitude":36.14287999999999811961970408447086811065673828125,"nERISIncidentLongitude":-85.3678400000000010550138540565967559814453125,"alarm":"2026-03-05 14:36:24","dispatched":"2026-03-05 14:39:33","enroute":"2026-03-05 14:39:42","cADVehicleID":"EN11","timedispatch":"2026-03-05 14:40:12","timeenroutetoscene":"2026-03-05 14:40:12","policeReportNumber":"20260024321","dispatchNotes":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","cADLog":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"295 E I 40","locationCoordinates":"36.14288,-85.36784"}
[2026-03-05 20:40:20] [INFO] Number of extracted fields: 22
[2026-03-05 20:40:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-05 20:40:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-05 20:40:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-05 20:40:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:40:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 20:40:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-05 20:40:21] [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-03-05 20:40:21] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 20:40:21] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-05 20:40:21] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 20:40:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 20:40:21] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-05 20:40:21] [INFO] Found existing Dispatch with cADNumber '2026000601', ID: 69a9ea0c365cd2d9c - will update instead of create
[2026-03-05 20:40:21] [INFO] Updated existing Dispatches record with ID: 69a9ea0c365cd2d9c
[2026-03-05 20:40:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024321_20260305_204020.XML
[2026-03-05 20:40:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020.XML
[2026-03-05 20:40:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020_1.XML
[2026-03-05 20:40:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020_1.XML for user: 68f1466aed072ad4a
[2026-03-05 20:40:21] [INFO] File size: 6813 bytes
[2026-03-05 20:40:22] [INFO] Created FTPFiles record with ID: 69a9ea360e092fcd2
[2026-03-05 20:40:22] [INFO] About to extract fields from XML. File size: 6813 bytes
[2026-03-05 20:40:22] [INFO] Number of mappings: 28
[2026-03-05 20:40:22] [INFO] Starting XML parsing. Content length: 6813
[2026-03-05 20:40:22] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 20:40:22] [INFO] Processing 28 field mappings
[2026-03-05 20:40:22] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 20:40:22] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 20:40:22] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 20:40:22] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-05 20:40:22] [INFO]   -> Found value: PCFD
PCSO
[2026-03-05 20:40:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-05 20:40:22] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:40:22] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-05 20:40:22] [INFO]   -> Found value: 2026000601
[2026-03-05 20:40:22] [INFO]   -> Set field 'incidentInternalId' = "2026000601"
[2026-03-05 20:40:22] [INFO]   -> Set field 'dispatchRunNumber' = "2026000601"
[2026-03-05 20:40:22] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 20:40:22] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-05 20:40:22] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-05 20:40:22] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:40:22] [INFO]   -> Found value: 295
[2026-03-05 20:40:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 295
[2026-03-05 20:40:22] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 20:40:22] [INFO]   -> Found value: TN
[2026-03-05 20:40:22] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 20:40:22] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 20:40:22] [INFO]   -> Found value: MM295E
[2026-03-05 20:40:22] [INFO]   -> Set field 'businessName' = "MM295E"
[2026-03-05 20:40:22] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 20:40:22] [INFO]   -> Found value: 36.14288
[2026-03-05 20:40:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14287999999999811961970408447086811065673828125
[2026-03-05 20:40:22] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 20:40:22] [INFO]   -> Found value: -85.36784
[2026-03-05 20:40:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3678400000000010550138540565967559814453125
[2026-03-05 20:40:22] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 20:40:22] [INFO]   -> Found value: 2026-03-05 14:36:24
[2026-03-05 20:40:22] [INFO]   -> Set field 'alarm' = "2026-03-05 14:36:24"
[2026-03-05 20:40:22] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 20:40:22] [INFO]   -> Found value: 2026-03-05 14:39:33
[2026-03-05 20:40:22] [INFO]   -> Set field 'dispatched' = "2026-03-05 14:39:33"
[2026-03-05 20:40:22] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 20:40:22] [INFO]   -> Found value: 2026-03-05 14:39:42
[2026-03-05 20:40:22] [INFO]   -> Set field 'enroute' = "2026-03-05 14:39:42"
[2026-03-05 20:40:22] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 20:40:22] [INFO]   -> Found value: EN11
[2026-03-05 20:40:22] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-05 20:40:22] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 20:40:22] [INFO]   -> Found value: 2026-03-05 14:40:12
[2026-03-05 20:40:22] [INFO]   -> Set field 'timedispatch' = "2026-03-05 14:40:12"
[2026-03-05 20:40:22] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 20:40:22] [INFO]   -> Found value: 2026-03-05 14:40:12
[2026-03-05 20:40:22] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 14:40:12"
[2026-03-05 20:40:22] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 20:40:22] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 20:40:22] [INFO]   -> Found value: 20260024321
[2026-03-05 20:40:22] [INFO]   -> Set field 'policeReportNumber' = "20260024321"
[2026-03-05 20:40:22] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 20:40:22] [INFO]   -> Found value: UDTS: THP NOTIFIED BY 911  [03/05/26 14:39:13 KMORGAN2] BLACK SMOKE  [03/05/26 14:38:56 KMORGAN2] TR...
[2026-03-05 20:40:22] [INFO]   -> Set field 'dispatchNotes' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:40:22] [INFO]   -> Set field 'cADLog' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:40:22] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 20:40:22] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 20:40:22] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 20:40:22] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 20:40:22] [INFO]   -> Found value: I 40
[2026-03-05 20:40:22] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-05 20:40:22] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 20:40:22] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:22] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 20:40:22] [INFO]   -> Found value: 295 E I 40
[2026-03-05 20:40:22] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "295 E I 40"
[2026-03-05 20:40:22] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 20:40:22] [INFO] Built locationCoordinates from lat/lng: 36.14288,-85.36784
[2026-03-05 20:40:22] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000601","dispatchRunNumber":"2026000601","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":295,"incidentLocationStateName":"TN","businessName":"MM295E","nERISIncidentLatitude":36.14287999999999811961970408447086811065673828125,"nERISIncidentLongitude":-85.3678400000000010550138540565967559814453125,"alarm":"2026-03-05 14:36:24","dispatched":"2026-03-05 14:39:33","enroute":"2026-03-05 14:39:42","cADVehicleID":"EN11","timedispatch":"2026-03-05 14:40:12","timeenroutetoscene":"2026-03-05 14:40:12","policeReportNumber":"20260024321","dispatchNotes":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","cADLog":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"295 E I 40","locationCoordinates":"36.14288,-85.36784"}
[2026-03-05 20:40:22] [INFO] Number of extracted fields: 22
[2026-03-05 20:40:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-05 20:40:22] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-05 20:40:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-05 20:40:22] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:40:22] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 20:40:22] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-05 20:40:22] [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-03-05 20:40:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 20:40:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-05 20:40:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 20:40:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 20:40:22] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-05 20:40:22] [INFO] Found existing Dispatch with cADNumber '2026000601', ID: 69a9ea0c365cd2d9c - will update instead of create
[2026-03-05 20:40:22] [INFO] Updated existing Dispatches record with ID: 69a9ea0c365cd2d9c
[2026-03-05 20:40:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024321_20260305_204020_1.XML
[2026-03-05 20:40:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204020_1.XML
[2026-03-05 20:40:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204021.XML
[2026-03-05 20:40:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204021.XML for user: 68f1466aed072ad4a
[2026-03-05 20:40:22] [INFO] File size: 6813 bytes
[2026-03-05 20:40:23] [INFO] Created FTPFiles record with ID: 69a9ea373ce5f2e3f
[2026-03-05 20:40:23] [INFO] About to extract fields from XML. File size: 6813 bytes
[2026-03-05 20:40:23] [INFO] Number of mappings: 28
[2026-03-05 20:40:23] [INFO] Starting XML parsing. Content length: 6813
[2026-03-05 20:40:23] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 20:40:23] [INFO] Processing 28 field mappings
[2026-03-05 20:40:23] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 20:40:23] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 20:40:23] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 20:40:23] [INFO] Found 2 elements for 'AgencyCode', concatenating 2 non-empty values
[2026-03-05 20:40:23] [INFO]   -> Found value: PCFD
PCSO
[2026-03-05 20:40:23] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nPCSO"
[2026-03-05 20:40:23] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 20:40:23] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-03-05 20:40:23] [INFO]   -> Found value: 2026000601
[2026-03-05 20:40:23] [INFO]   -> Set field 'incidentInternalId' = "2026000601"
[2026-03-05 20:40:23] [INFO]   -> Set field 'dispatchRunNumber' = "2026000601"
[2026-03-05 20:40:23] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 20:40:23] [INFO]   -> Found value: VEHICLE FIRE
[2026-03-05 20:40:23] [INFO]   -> Set field 'incidentTypeValue1' = "VEHICLE FIRE"
[2026-03-05 20:40:23] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 20:40:23] [INFO]   -> Found value: 295
[2026-03-05 20:40:23] [INFO]   -> Set field 'incidentLocationStreetNumber' = 295
[2026-03-05 20:40:23] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 20:40:23] [INFO]   -> Found value: TN
[2026-03-05 20:40:23] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 20:40:23] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 20:40:23] [INFO]   -> Found value: MM295E
[2026-03-05 20:40:23] [INFO]   -> Set field 'businessName' = "MM295E"
[2026-03-05 20:40:23] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 20:40:23] [INFO]   -> Found value: 36.14288
[2026-03-05 20:40:23] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.14287999999999811961970408447086811065673828125
[2026-03-05 20:40:23] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 20:40:23] [INFO]   -> Found value: -85.36784
[2026-03-05 20:40:23] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.3678400000000010550138540565967559814453125
[2026-03-05 20:40:23] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 20:40:23] [INFO]   -> Found value: 2026-03-05 14:36:24
[2026-03-05 20:40:23] [INFO]   -> Set field 'alarm' = "2026-03-05 14:36:24"
[2026-03-05 20:40:23] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 20:40:23] [INFO]   -> Found value: 2026-03-05 14:39:33
[2026-03-05 20:40:23] [INFO]   -> Set field 'dispatched' = "2026-03-05 14:39:33"
[2026-03-05 20:40:23] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 20:40:23] [INFO]   -> Found value: 2026-03-05 14:39:42
[2026-03-05 20:40:23] [INFO]   -> Set field 'enroute' = "2026-03-05 14:39:42"
[2026-03-05 20:40:23] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 20:40:23] [INFO]   -> Found value: EN11
[2026-03-05 20:40:23] [INFO]   -> Set field 'cADVehicleID' = "EN11"
[2026-03-05 20:40:23] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 20:40:23] [INFO]   -> Found value: 2026-03-05 14:40:12
[2026-03-05 20:40:23] [INFO]   -> Set field 'timedispatch' = "2026-03-05 14:40:12"
[2026-03-05 20:40:23] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 20:40:23] [INFO]   -> Found value: 2026-03-05 14:40:12
[2026-03-05 20:40:23] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 14:40:12"
[2026-03-05 20:40:23] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 20:40:23] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 20:40:23] [INFO]   -> Found value: 20260024321
[2026-03-05 20:40:23] [INFO]   -> Set field 'policeReportNumber' = "20260024321"
[2026-03-05 20:40:23] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 20:40:23] [INFO]   -> Found value: UDTS: THP NOTIFIED BY 911  [03/05/26 14:39:13 KMORGAN2] BLACK SMOKE  [03/05/26 14:38:56 KMORGAN2] TR...
[2026-03-05 20:40:23] [INFO]   -> Set field 'dispatchNotes' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:40:23] [INFO]   -> Set field 'cADLog' = "UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]"
[2026-03-05 20:40:23] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 20:40:23] [INFO]   -> Found value: COOKEVILLE
[2026-03-05 20:40:23] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-03-05 20:40:23] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 20:40:23] [INFO]   -> Found value: I 40
[2026-03-05 20:40:23] [INFO]   -> Set field 'streetName' = "I 40"
[2026-03-05 20:40:23] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 20:40:23] [INFO]   -> No value found (null or empty)
[2026-03-05 20:40:23] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 20:40:23] [INFO]   -> Found value: 295 E I 40
[2026-03-05 20:40:23] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "295 E I 40"
[2026-03-05 20:40:23] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 20:40:23] [INFO] Built locationCoordinates from lat/lng: 36.14288,-85.36784
[2026-03-05 20:40:23] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nPCSO","incidentInternalId":"2026000601","dispatchRunNumber":"2026000601","incidentTypeValue1":"VEHICLE FIRE","incidentLocationStreetNumber":295,"incidentLocationStateName":"TN","businessName":"MM295E","nERISIncidentLatitude":36.14287999999999811961970408447086811065673828125,"nERISIncidentLongitude":-85.3678400000000010550138540565967559814453125,"alarm":"2026-03-05 14:36:24","dispatched":"2026-03-05 14:39:33","enroute":"2026-03-05 14:39:42","cADVehicleID":"EN11","timedispatch":"2026-03-05 14:40:12","timeenroutetoscene":"2026-03-05 14:40:12","policeReportNumber":"20260024321","dispatchNotes":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","cADLog":"UDTS: THP NOTIFIED BY 911  [03\/05\/26 14:39:13 KMORGAN2] BLACK SMOKE  [03\/05\/26 14:38:56 KMORGAN2] TRUCK SMOKING  SMOKE\/FLAMES COMING FROM EXHAUST PIPE  [03\/05\/26 14:37:30 KMORGAN2]","incidentLocationCity":"COOKEVILLE","streetName":"I 40","incidentAddressTextVersionStreet":"295 E I 40","locationCoordinates":"36.14288,-85.36784"}
[2026-03-05 20:40:23] [INFO] Number of extracted fields: 22
[2026-03-05 20:40:23] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
PCSO'
[2026-03-05 20:40:23] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
PCSO', Parsed IDs = ["PCFD","PCSO"], Non-empty count = 2, Total agency count = 2, Assigned Agencies count = 4
[2026-03-05 20:40:23] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","PCSO"]
[2026-03-05 20:40:23] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 20:40:23] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 20:40:23] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["PCSO"]
[2026-03-05 20:40:23] [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-03-05 20:40:23] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 20:40:23] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 2)
[2026-03-05 20:40:23] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 20:40:23] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 20:40:23] [INFO] Found existing IncidentTypeMapping with ID: 693dc01fb95d87aa5
[2026-03-05 20:40:23] [INFO] Found existing Dispatch with cADNumber '2026000601', ID: 69a9ea0c365cd2d9c - will update instead of create
[2026-03-05 20:40:24] [INFO] Updated existing Dispatches record with ID: 69a9ea0c365cd2d9c
[2026-03-05 20:40:24] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204021.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024321_20260305_204021.XML
[2026-03-05 20:40:24] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024321_20260305_204021.XML
[2026-03-05 21:20:41] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041.XML
[2026-03-05 21:20:41] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041.XML for user: 68f1466aed072ad4a
[2026-03-05 21:20:41] [INFO] File size: 5357 bytes
[2026-03-05 21:20:41] [INFO] Created FTPFiles record with ID: 69a9f3a9acfd585c5
[2026-03-05 21:20:41] [INFO] About to extract fields from XML. File size: 5357 bytes
[2026-03-05 21:20:41] [INFO] Number of mappings: 28
[2026-03-05 21:20:41] [INFO] Starting XML parsing. Content length: 5357
[2026-03-05 21:20:41] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 21:20:41] [INFO] Processing 28 field mappings
[2026-03-05 21:20:41] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 21:20:41] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 21:20:41] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 21:20:41] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 21:20:41] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 21:20:41] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 21:20:41] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 21:20:41] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 21:20:41] [INFO]   -> Found value: 2026000602
[2026-03-05 21:20:41] [INFO]   -> Set field 'incidentInternalId' = "2026000602"
[2026-03-05 21:20:41] [INFO]   -> Set field 'dispatchRunNumber' = "2026000602"
[2026-03-05 21:20:41] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 21:20:41] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 21:20:41] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 21:20:41] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 21:20:41] [INFO]   -> Found value: 530
[2026-03-05 21:20:41] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-05 21:20:41] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 21:20:41] [INFO]   -> Found value: TN
[2026-03-05 21:20:41] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 21:20:41] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 21:20:41] [INFO]   -> Found value: 38574
[2026-03-05 21:20:41] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-05 21:20:41] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 21:20:41] [INFO]   -> Found value: 36.11272
[2026-03-05 21:20:41] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11272000000000303998604067601263523101806640625
[2026-03-05 21:20:41] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 21:20:41] [INFO]   -> Found value: -85.16164
[2026-03-05 21:20:41] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.161640000000005557012627832591533660888671875
[2026-03-05 21:20:41] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 21:20:41] [INFO]   -> Found value: 2026-03-05 15:20:07
[2026-03-05 21:20:41] [INFO]   -> Set field 'alarm' = "2026-03-05 15:20:07"
[2026-03-05 21:20:41] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 21:20:41] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:20:41] [INFO]   -> Set field 'dispatched' = "2026-03-05 15:20:38"
[2026-03-05 21:20:41] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 21:20:41] [INFO]   -> Found value: CADE RD/HIGH FLATS RD
[2026-03-05 21:20:41] [INFO]   -> Set field 'incidentLocationCross' = "CADE RD\/HIGH FLATS RD"
[2026-03-05 21:20:41] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 21:20:41] [INFO]   -> Found value: PCFR
[2026-03-05 21:20:41] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-05 21:20:41] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 21:20:41] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:20:41] [INFO]   -> Set field 'timedispatch' = "2026-03-05 15:20:38"
[2026-03-05 21:20:41] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 21:20:41] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:41] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 21:20:41] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 21:20:41] [INFO]   -> Found value: 20260024339
[2026-03-05 21:20:41] [INFO]   -> Set field 'policeReportNumber' = "20260024339"
[2026-03-05 21:20:41] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 21:20:41] [INFO]   -> Found value: [EMS] UDTS: CARD SEEN BY 911  [03/05/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03/05/2...
[2026-03-05 21:20:41] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:20:41] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:20:41] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 21:20:41] [INFO]   -> Found value: MONTEREY
[2026-03-05 21:20:41] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-05 21:20:41] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 21:20:41] [INFO]   -> Found value: JIM GARRETT
[2026-03-05 21:20:41] [INFO]   -> Set field 'streetName' = "JIM GARRETT"
[2026-03-05 21:20:41] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 21:20:41] [INFO]   -> Found value: RD
[2026-03-05 21:20:41] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 21:20:41] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 21:20:41] [INFO]   -> Found value: 530 JIM GARRETT RD
[2026-03-05 21:20:41] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 JIM GARRETT RD"
[2026-03-05 21:20:41] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 21:20:41] [INFO] Concatenating street name and type
[2026-03-05 21:20:41] [INFO]   -> Combined street name: JIM GARRETT RD
[2026-03-05 21:20:41] [INFO] Built locationCoordinates from lat/lng: 36.11272,-85.16164
[2026-03-05 21:20:41] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000602","dispatchRunNumber":"2026000602","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11272000000000303998604067601263523101806640625,"nERISIncidentLongitude":-85.161640000000005557012627832591533660888671875,"alarm":"2026-03-05 15:20:07","dispatched":"2026-03-05 15:20:38","incidentLocationCross":"CADE RD\/HIGH FLATS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-05 15:20:38","policeReportNumber":"20260024339","dispatchNotes":"[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","cADLog":"[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","incidentLocationCity":"MONTEREY","streetName":"JIM GARRETT RD","incidentAddressTextVersionStreet":"530 JIM GARRETT RD","locationCoordinates":"36.11272,-85.16164"}
[2026-03-05 21:20:41] [INFO] Number of extracted fields: 21
[2026-03-05 21:20:41] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 21:20:41] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 21:20:41] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 21:20:41] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 21:20:41] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 21:20:41] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 21:20: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-03-05 21:20:42] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 21:20:42] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 21:20:42] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 21:20:42] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 21:20:42] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 21:20:52] [INFO] Created new Dispatches record with ID: 69a9f3aa9b55d3ef7
[2026-03-05 21:20:52] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024339_20260305_212041.XML
[2026-03-05 21:20:52] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041.XML
[2026-03-05 21:20:52] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041_1.XML
[2026-03-05 21:20:52] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041_1.XML for user: 68f1466aed072ad4a
[2026-03-05 21:20:52] [INFO] File size: 5357 bytes
[2026-03-05 21:20:52] [INFO] Created FTPFiles record with ID: 69a9f3b4bcf02bebd
[2026-03-05 21:20:52] [INFO] About to extract fields from XML. File size: 5357 bytes
[2026-03-05 21:20:52] [INFO] Number of mappings: 28
[2026-03-05 21:20:52] [INFO] Starting XML parsing. Content length: 5357
[2026-03-05 21:20:52] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 21:20:52] [INFO] Processing 28 field mappings
[2026-03-05 21:20:52] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 21:20:52] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 21:20:52] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 21:20:52] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 21:20:52] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 21:20:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 21:20:52] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 21:20:52] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 21:20:52] [INFO]   -> Found value: 2026000602
[2026-03-05 21:20:52] [INFO]   -> Set field 'incidentInternalId' = "2026000602"
[2026-03-05 21:20:52] [INFO]   -> Set field 'dispatchRunNumber' = "2026000602"
[2026-03-05 21:20:52] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 21:20:52] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 21:20:52] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 21:20:52] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 21:20:52] [INFO]   -> Found value: 530
[2026-03-05 21:20:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-05 21:20:52] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 21:20:52] [INFO]   -> Found value: TN
[2026-03-05 21:20:52] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 21:20:52] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 21:20:52] [INFO]   -> Found value: 38574
[2026-03-05 21:20:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-05 21:20:52] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 21:20:52] [INFO]   -> Found value: 36.11272
[2026-03-05 21:20:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11272000000000303998604067601263523101806640625
[2026-03-05 21:20:52] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 21:20:52] [INFO]   -> Found value: -85.16164
[2026-03-05 21:20:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.161640000000005557012627832591533660888671875
[2026-03-05 21:20:52] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 21:20:52] [INFO]   -> Found value: 2026-03-05 15:20:07
[2026-03-05 21:20:52] [INFO]   -> Set field 'alarm' = "2026-03-05 15:20:07"
[2026-03-05 21:20:52] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 21:20:52] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:20:52] [INFO]   -> Set field 'dispatched' = "2026-03-05 15:20:38"
[2026-03-05 21:20:52] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 21:20:52] [INFO]   -> Found value: CADE RD/HIGH FLATS RD
[2026-03-05 21:20:52] [INFO]   -> Set field 'incidentLocationCross' = "CADE RD\/HIGH FLATS RD"
[2026-03-05 21:20:52] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 21:20:52] [INFO]   -> Found value: PCFR
[2026-03-05 21:20:52] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-05 21:20:52] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 21:20:52] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:20:52] [INFO]   -> Set field 'timedispatch' = "2026-03-05 15:20:38"
[2026-03-05 21:20:52] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 21:20:52] [INFO]   -> No value found (null or empty)
[2026-03-05 21:20:52] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 21:20:52] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 21:20:52] [INFO]   -> Found value: 20260024339
[2026-03-05 21:20:52] [INFO]   -> Set field 'policeReportNumber' = "20260024339"
[2026-03-05 21:20:52] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 21:20:52] [INFO]   -> Found value: [EMS] UDTS: CARD SEEN BY 911  [03/05/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03/05/2...
[2026-03-05 21:20:52] [INFO]   -> Set field 'dispatchNotes' = "[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:20:52] [INFO]   -> Set field 'cADLog' = "[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:20:52] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 21:20:52] [INFO]   -> Found value: MONTEREY
[2026-03-05 21:20:52] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-05 21:20:52] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 21:20:52] [INFO]   -> Found value: JIM GARRETT
[2026-03-05 21:20:52] [INFO]   -> Set field 'streetName' = "JIM GARRETT"
[2026-03-05 21:20:52] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 21:20:52] [INFO]   -> Found value: RD
[2026-03-05 21:20:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 21:20:52] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 21:20:52] [INFO]   -> Found value: 530 JIM GARRETT RD
[2026-03-05 21:20:52] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 JIM GARRETT RD"
[2026-03-05 21:20:52] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-03-05 21:20:52] [INFO] Concatenating street name and type
[2026-03-05 21:20:52] [INFO]   -> Combined street name: JIM GARRETT RD
[2026-03-05 21:20:52] [INFO] Built locationCoordinates from lat/lng: 36.11272,-85.16164
[2026-03-05 21:20:52] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000602","dispatchRunNumber":"2026000602","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11272000000000303998604067601263523101806640625,"nERISIncidentLongitude":-85.161640000000005557012627832591533660888671875,"alarm":"2026-03-05 15:20:07","dispatched":"2026-03-05 15:20:38","incidentLocationCross":"CADE RD\/HIGH FLATS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-05 15:20:38","policeReportNumber":"20260024339","dispatchNotes":"[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","cADLog":"[EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","incidentLocationCity":"MONTEREY","streetName":"JIM GARRETT RD","incidentAddressTextVersionStreet":"530 JIM GARRETT RD","locationCoordinates":"36.11272,-85.16164"}
[2026-03-05 21:20:52] [INFO] Number of extracted fields: 21
[2026-03-05 21:20:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 21:20:52] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 21:20:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 21:20:52] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 21:20:52] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 21:20:52] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 21:20: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-03-05 21:20:53] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 21:20:53] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 21:20:53] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 21:20:53] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 21:20:53] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 21:20:53] [INFO] Found existing Dispatch with cADNumber '2026000602', ID: 69a9f3aa9b55d3ef7 - will update instead of create
[2026-03-05 21:20:53] [INFO] Updated existing Dispatches record with ID: 69a9f3aa9b55d3ef7
[2026-03-05 21:20:53] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024339_20260305_212041_1.XML
[2026-03-05 21:20:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212041_1.XML
[2026-03-05 21:23:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320.XML
[2026-03-05 21:23:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320.XML for user: 68f1466aed072ad4a
[2026-03-05 21:23:20] [INFO] File size: 6431 bytes
[2026-03-05 21:23:20] [INFO] Created FTPFiles record with ID: 69a9f4488378efd87
[2026-03-05 21:23:20] [INFO] About to extract fields from XML. File size: 6431 bytes
[2026-03-05 21:23:20] [INFO] Number of mappings: 28
[2026-03-05 21:23:20] [INFO] Starting XML parsing. Content length: 6431
[2026-03-05 21:23:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 21:23:20] [INFO] Processing 28 field mappings
[2026-03-05 21:23:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 21:23:20] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 21:23:20] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 21:23:20] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 21:23:20] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 21:23:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 21:23:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 21:23:20] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 21:23:20] [INFO]   -> Found value: 2026000602
[2026-03-05 21:23:20] [INFO]   -> Set field 'incidentInternalId' = "2026000602"
[2026-03-05 21:23:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000602"
[2026-03-05 21:23:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 21:23:20] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 21:23:20] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 21:23:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 21:23:20] [INFO]   -> Found value: 530
[2026-03-05 21:23:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-05 21:23:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 21:23:20] [INFO]   -> Found value: TN
[2026-03-05 21:23:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 21:23:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 21:23:20] [INFO]   -> Found value: 38574
[2026-03-05 21:23:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-05 21:23:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 21:23:20] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 21:23:20] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 21:23:20] [INFO]   -> Found value: 36.11272
[2026-03-05 21:23:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11272000000000303998604067601263523101806640625
[2026-03-05 21:23:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 21:23:20] [INFO]   -> Found value: -85.16164
[2026-03-05 21:23:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.161640000000005557012627832591533660888671875
[2026-03-05 21:23:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 21:23:20] [INFO]   -> Found value: 2026-03-05 15:20:07
[2026-03-05 21:23:20] [INFO]   -> Set field 'alarm' = "2026-03-05 15:20:07"
[2026-03-05 21:23:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 21:23:20] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:23:20] [INFO]   -> Set field 'dispatched' = "2026-03-05 15:20:38"
[2026-03-05 21:23:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 21:23:20] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 21:23:20] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 21:23:20] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 21:23:20] [INFO]   -> Found value: CADE RD/HIGH FLATS RD
[2026-03-05 21:23:20] [INFO]   -> Set field 'incidentLocationCross' = "CADE RD\/HIGH FLATS RD"
[2026-03-05 21:23:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 21:23:20] [INFO]   -> Found value: PCFR
[2026-03-05 21:23:20] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-05 21:23:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 21:23:20] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:23:20] [INFO]   -> Set field 'timedispatch' = "2026-03-05 15:20:38"
[2026-03-05 21:23:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 21:23:20] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 21:23:20] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 21:23:20] [INFO]   -> Found value: 2026-03-05 15:23:17
[2026-03-05 21:23:20] [INFO]   -> Set field 'timeunitclear' = "2026-03-05 15:23:17"
[2026-03-05 21:23:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 21:23:20] [INFO]   -> Found value: 2026-03-05 15:23:17
[2026-03-05 21:23:20] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-05 15:23:17"
[2026-03-05 21:23:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 21:23:20] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 21:23:20] [INFO]   -> Found value: 20260024339
[2026-03-05 21:23:20] [INFO]   -> Set field 'policeReportNumber' = "20260024339"
[2026-03-05 21:23:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 21:23:20] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/05/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03/05/26 1...
[2026-03-05 21:23:20] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:23:20] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:23:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 21:23:20] [INFO]   -> Found value: MONTEREY
[2026-03-05 21:23:20] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-05 21:23:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 21:23:20] [INFO]   -> Found value: JIM GARRETT
[2026-03-05 21:23:20] [INFO]   -> Set field 'streetName' = "JIM GARRETT"
[2026-03-05 21:23:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 21:23:20] [INFO]   -> Found value: RD
[2026-03-05 21:23:20] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 21:23:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 21:23:20] [INFO]   -> Found value: 530 JIM GARRETT RD
[2026-03-05 21:23:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 JIM GARRETT RD"
[2026-03-05 21:23:20] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-05 21:23:20] [INFO] Concatenating street name and type
[2026-03-05 21:23:20] [INFO]   -> Combined street name: JIM GARRETT RD
[2026-03-05 21:23:20] [INFO] Built locationCoordinates from lat/lng: 36.11272,-85.16164
[2026-03-05 21:23:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000602","dispatchRunNumber":"2026000602","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11272000000000303998604067601263523101806640625,"nERISIncidentLongitude":-85.161640000000005557012627832591533660888671875,"alarm":"2026-03-05 15:20:07","dispatched":"2026-03-05 15:20:38","incidentLocationCross":"CADE RD\/HIGH FLATS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-05 15:20:38","timeunitclear":"2026-03-05 15:23:17","timecanceledenroute":"2026-03-05 15:23:17","policeReportNumber":"20260024339","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","incidentLocationCity":"MONTEREY","streetName":"JIM GARRETT RD","incidentAddressTextVersionStreet":"530 JIM GARRETT RD","locationCoordinates":"36.11272,-85.16164"}
[2026-03-05 21:23:20] [INFO] Number of extracted fields: 23
[2026-03-05 21:23:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 21:23:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 21:23:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 21:23:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 21:23:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 21:23:20] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 21:23:20] [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-03-05 21:23:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 21:23:20] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 21:23:20] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 21:23:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 21:23:21] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 21:23:21] [INFO] Found existing Dispatch with cADNumber '2026000602', ID: 69a9f3aa9b55d3ef7 - will update instead of create
[2026-03-05 21:23:21] [INFO] Updated existing Dispatches record with ID: 69a9f3aa9b55d3ef7
[2026-03-05 21:23:21] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024339_20260305_212320.XML
[2026-03-05 21:23:21] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320.XML
[2026-03-05 21:23:21] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320_1.XML
[2026-03-05 21:23:21] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320_1.XML for user: 68f1466aed072ad4a
[2026-03-05 21:23:21] [INFO] File size: 6431 bytes
[2026-03-05 21:23:21] [INFO] Created FTPFiles record with ID: 69a9f449c59bb4e4c
[2026-03-05 21:23:21] [INFO] About to extract fields from XML. File size: 6431 bytes
[2026-03-05 21:23:21] [INFO] Number of mappings: 28
[2026-03-05 21:23:21] [INFO] Starting XML parsing. Content length: 6431
[2026-03-05 21:23:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 21:23:21] [INFO] Processing 28 field mappings
[2026-03-05 21:23:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 21:23:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 21:23:21] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 21:23:21] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 21:23:21] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 21:23:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 21:23:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 21:23:21] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 21:23:21] [INFO]   -> Found value: 2026000602
[2026-03-05 21:23:21] [INFO]   -> Set field 'incidentInternalId' = "2026000602"
[2026-03-05 21:23:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000602"
[2026-03-05 21:23:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 21:23:21] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 21:23:21] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 21:23:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 21:23:21] [INFO]   -> Found value: 530
[2026-03-05 21:23:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-05 21:23:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 21:23:21] [INFO]   -> Found value: TN
[2026-03-05 21:23:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 21:23:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 21:23:21] [INFO]   -> Found value: 38574
[2026-03-05 21:23:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-05 21:23:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 21:23:21] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 21:23:21] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 21:23:21] [INFO]   -> Found value: 36.11272
[2026-03-05 21:23:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11272000000000303998604067601263523101806640625
[2026-03-05 21:23:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 21:23:21] [INFO]   -> Found value: -85.16164
[2026-03-05 21:23:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.161640000000005557012627832591533660888671875
[2026-03-05 21:23:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 21:23:21] [INFO]   -> Found value: 2026-03-05 15:20:07
[2026-03-05 21:23:21] [INFO]   -> Set field 'alarm' = "2026-03-05 15:20:07"
[2026-03-05 21:23:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 21:23:21] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:23:21] [INFO]   -> Set field 'dispatched' = "2026-03-05 15:20:38"
[2026-03-05 21:23:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 21:23:21] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 21:23:21] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 21:23:21] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 21:23:21] [INFO]   -> Found value: CADE RD/HIGH FLATS RD
[2026-03-05 21:23:21] [INFO]   -> Set field 'incidentLocationCross' = "CADE RD\/HIGH FLATS RD"
[2026-03-05 21:23:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 21:23:21] [INFO]   -> Found value: PCFR
[2026-03-05 21:23:21] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-03-05 21:23:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 21:23:21] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:23:21] [INFO]   -> Set field 'timedispatch' = "2026-03-05 15:20:38"
[2026-03-05 21:23:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 21:23:21] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 21:23:21] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 21:23:21] [INFO]   -> Found value: 2026-03-05 15:23:17
[2026-03-05 21:23:21] [INFO]   -> Set field 'timeunitclear' = "2026-03-05 15:23:17"
[2026-03-05 21:23:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 21:23:21] [INFO]   -> Found value: 2026-03-05 15:23:17
[2026-03-05 21:23:21] [INFO]   -> Set field 'timecanceledenroute' = "2026-03-05 15:23:17"
[2026-03-05 21:23:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 21:23:21] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 21:23:21] [INFO]   -> Found value: 20260024339
[2026-03-05 21:23:21] [INFO]   -> Set field 'policeReportNumber' = "20260024339"
[2026-03-05 21:23:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 21:23:21] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/05/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03/05/26 1...
[2026-03-05 21:23:21] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:23:21] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:23:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 21:23:21] [INFO]   -> Found value: MONTEREY
[2026-03-05 21:23:21] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-05 21:23:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 21:23:21] [INFO]   -> Found value: JIM GARRETT
[2026-03-05 21:23:21] [INFO]   -> Set field 'streetName' = "JIM GARRETT"
[2026-03-05 21:23:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 21:23:21] [INFO]   -> Found value: RD
[2026-03-05 21:23:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 21:23:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 21:23:21] [INFO]   -> Found value: 530 JIM GARRETT RD
[2026-03-05 21:23:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 JIM GARRETT RD"
[2026-03-05 21:23:21] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-05 21:23:21] [INFO] Concatenating street name and type
[2026-03-05 21:23:21] [INFO]   -> Combined street name: JIM GARRETT RD
[2026-03-05 21:23:21] [INFO] Built locationCoordinates from lat/lng: 36.11272,-85.16164
[2026-03-05 21:23:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000602","dispatchRunNumber":"2026000602","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11272000000000303998604067601263523101806640625,"nERISIncidentLongitude":-85.161640000000005557012627832591533660888671875,"alarm":"2026-03-05 15:20:07","dispatched":"2026-03-05 15:20:38","incidentLocationCross":"CADE RD\/HIGH FLATS RD","cADVehicleID":"PCFR","timedispatch":"2026-03-05 15:20:38","timeunitclear":"2026-03-05 15:23:17","timecanceledenroute":"2026-03-05 15:23:17","policeReportNumber":"20260024339","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","incidentLocationCity":"MONTEREY","streetName":"JIM GARRETT RD","incidentAddressTextVersionStreet":"530 JIM GARRETT RD","locationCoordinates":"36.11272,-85.16164"}
[2026-03-05 21:23:21] [INFO] Number of extracted fields: 23
[2026-03-05 21:23:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 21:23:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 21:23:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 21:23:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 21:23:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 21:23:21] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 21:23:22] [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-03-05 21:23:22] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 21:23:22] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 21:23:22] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 21:23:22] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 21:23:22] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 21:23:22] [INFO] Found existing Dispatch with cADNumber '2026000602', ID: 69a9f3aa9b55d3ef7 - will update instead of create
[2026-03-05 21:23:22] [INFO] Updated existing Dispatches record with ID: 69a9f3aa9b55d3ef7
[2026-03-05 21:23:22] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320_1.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024339_20260305_212320_1.XML
[2026-03-05 21:23:22] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212320_1.XML
[2026-03-05 21:23:29] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212329.XML
[2026-03-05 21:23:29] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212329.XML for user: 68f1466aed072ad4a
[2026-03-05 21:23:29] [INFO] File size: 6498 bytes
[2026-03-05 21:23:29] [INFO] Created FTPFiles record with ID: 69a9f4516f2a60f88
[2026-03-05 21:23:29] [INFO] About to extract fields from XML. File size: 6498 bytes
[2026-03-05 21:23:29] [INFO] Number of mappings: 28
[2026-03-05 21:23:29] [INFO] Starting XML parsing. Content length: 6498
[2026-03-05 21:23:29] [INFO] XML parsed successfully. Root element: CADExport
[2026-03-05 21:23:29] [INFO] Processing 28 field mappings
[2026-03-05 21:23:29] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-03-05 21:23:29] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-03-05 21:23:29] [INFO] Target field 'cADAgencyIdentifier' is configured for multi-value concatenation
[2026-03-05 21:23:29] [INFO] Found 4 elements for 'AgencyCode', concatenating 4 non-empty values
[2026-03-05 21:23:29] [INFO]   -> Found value: PCFD
EMS
PCSO
RESC
[2026-03-05 21:23:29] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD\nEMS\nPCSO\nRESC"
[2026-03-05 21:23:29] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-03-05 21:23:29] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-03-05 21:23:29] [INFO]   -> Found value: 2026000602
[2026-03-05 21:23:29] [INFO]   -> Set field 'incidentInternalId' = "2026000602"
[2026-03-05 21:23:29] [INFO]   -> Set field 'dispatchRunNumber' = "2026000602"
[2026-03-05 21:23:29] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-03-05 21:23:29] [INFO]   -> Found value: CHEST PAIN
[2026-03-05 21:23:29] [INFO]   -> Set field 'incidentTypeValue1' = "CHEST PAIN"
[2026-03-05 21:23:29] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-03-05 21:23:29] [INFO]   -> Found value: 530
[2026-03-05 21:23:29] [INFO]   -> Set field 'incidentLocationStreetNumber' = 530
[2026-03-05 21:23:29] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-03-05 21:23:29] [INFO]   -> Found value: TN
[2026-03-05 21:23:29] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-03-05 21:23:29] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-03-05 21:23:29] [INFO]   -> Found value: 38574
[2026-03-05 21:23:29] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-03-05 21:23:29] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-03-05 21:23:29] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:29] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-03-05 21:23:29] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:29] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-03-05 21:23:29] [INFO]   -> Found value: 36.11272
[2026-03-05 21:23:29] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.11272000000000303998604067601263523101806640625
[2026-03-05 21:23:29] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-03-05 21:23:29] [INFO]   -> Found value: -85.16164
[2026-03-05 21:23:29] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.161640000000005557012627832591533660888671875
[2026-03-05 21:23:29] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-03-05 21:23:29] [INFO]   -> Found value: 2026-03-05 15:20:07
[2026-03-05 21:23:29] [INFO]   -> Set field 'alarm' = "2026-03-05 15:20:07"
[2026-03-05 21:23:29] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-03-05 21:23:29] [INFO]   -> Found value: 2026-03-05 15:20:38
[2026-03-05 21:23:29] [INFO]   -> Set field 'dispatched' = "2026-03-05 15:20:38"
[2026-03-05 21:23:29] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-03-05 21:23:29] [INFO]   -> Found value: 2026-03-05 15:23:20
[2026-03-05 21:23:29] [INFO]   -> Set field 'enroute' = "2026-03-05 15:23:20"
[2026-03-05 21:23:29] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-03-05 21:23:29] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:29] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-03-05 21:23:29] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:29] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-03-05 21:23:29] [INFO]   -> Found value: CADE RD/HIGH FLATS RD
[2026-03-05 21:23:29] [INFO]   -> Set field 'incidentLocationCross' = "CADE RD\/HIGH FLATS RD"
[2026-03-05 21:23:29] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-03-05 21:23:29] [INFO]   -> Found value: TK21
[2026-03-05 21:23:29] [INFO]   -> Set field 'cADVehicleID' = "TK21"
[2026-03-05 21:23:29] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-03-05 21:23:29] [INFO]   -> Found value: 2026-03-05 15:23:17
[2026-03-05 21:23:29] [INFO]   -> Set field 'timedispatch' = "2026-03-05 15:23:17"
[2026-03-05 21:23:29] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-03-05 21:23:29] [INFO]   -> Found value: 2026-03-05 15:23:20
[2026-03-05 21:23:29] [INFO]   -> Set field 'timeenroutetoscene' = "2026-03-05 15:23:20"
[2026-03-05 21:23:29] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-03-05 21:23:29] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:29] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-03-05 21:23:29] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:29] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-03-05 21:23:29] [INFO]   -> No value found (null or empty)
[2026-03-05 21:23:29] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-03-05 21:23:29] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-03-05 21:23:29] [INFO]   -> Found value: 20260024339
[2026-03-05 21:23:29] [INFO]   -> Set field 'policeReportNumber' = "20260024339"
[2026-03-05 21:23:29] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-03-05 21:23:29] [INFO]   -> Found value: [LAW] UDTS: LE NOT RESPONDING  [03/05/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03/05/26 1...
[2026-03-05 21:23:29] [INFO]   -> Set field 'dispatchNotes' = "[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:23:29] [INFO]   -> Set field 'cADLog' = "[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]"
[2026-03-05 21:23:29] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-03-05 21:23:29] [INFO]   -> Found value: MONTEREY
[2026-03-05 21:23:29] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-03-05 21:23:29] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-03-05 21:23:29] [INFO]   -> Found value: JIM GARRETT
[2026-03-05 21:23:29] [INFO]   -> Set field 'streetName' = "JIM GARRETT"
[2026-03-05 21:23:29] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-03-05 21:23:29] [INFO]   -> Found value: RD
[2026-03-05 21:23:29] [INFO]   -> Set field 'streetType' = "RD"
[2026-03-05 21:23:29] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-03-05 21:23:29] [INFO]   -> Found value: 530 JIM GARRETT RD
[2026-03-05 21:23:29] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "530 JIM GARRETT RD"
[2026-03-05 21:23:29] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-03-05 21:23:29] [INFO] Concatenating street name and type
[2026-03-05 21:23:29] [INFO]   -> Combined street name: JIM GARRETT RD
[2026-03-05 21:23:29] [INFO] Built locationCoordinates from lat/lng: 36.11272,-85.16164
[2026-03-05 21:23:29] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD\nEMS\nPCSO\nRESC","incidentInternalId":"2026000602","dispatchRunNumber":"2026000602","incidentTypeValue1":"CHEST PAIN","incidentLocationStreetNumber":530,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.11272000000000303998604067601263523101806640625,"nERISIncidentLongitude":-85.161640000000005557012627832591533660888671875,"alarm":"2026-03-05 15:20:07","dispatched":"2026-03-05 15:20:38","enroute":"2026-03-05 15:23:20","incidentLocationCross":"CADE RD\/HIGH FLATS RD","cADVehicleID":"TK21","timedispatch":"2026-03-05 15:23:17","timeenroutetoscene":"2026-03-05 15:23:20","policeReportNumber":"20260024339","dispatchNotes":"[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","cADLog":"[LAW] UDTS: LE NOT RESPONDING  [03\/05\/26 15:20:52 KPATTON] [EMS] UDTS: CARD SEEN BY 911  [03\/05\/26 15:20:18 JBOHANNON] Event spawned from CHEST PAIN.  [03\/05\/2026 15:20:07 KPATTON] JAMES SELLERS 70 YOA MALE  CHESTPAINS  HX OF HEART ATTACK  [03\/05\/26 15:19:42 KPATTON]","incidentLocationCity":"MONTEREY","streetName":"JIM GARRETT RD","incidentAddressTextVersionStreet":"530 JIM GARRETT RD","locationCoordinates":"36.11272,-85.16164"}
[2026-03-05 21:23:29] [INFO] Number of extracted fields: 23
[2026-03-05 21:23:29] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD
EMS
PCSO
RESC'
[2026-03-05 21:23:29] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD
EMS
PCSO
RESC', Parsed IDs = ["PCFD","EMS","PCSO","RESC"], Non-empty count = 4, Total agency count = 4, Assigned Agencies count = 4
[2026-03-05 21:23:29] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD","EMS","PCSO","RESC"]
[2026-03-05 21:23:29] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-03-05 21:23:29] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-03-05 21:23:29] [INFO] INFO: Ignoring additional AgencyCode values after match at index 0: ["EMS","PCSO","RESC"]
[2026-03-05 21:23:29] [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-03-05 21:23:29] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-03-05 21:23:29] [INFO] Filtering multi-agency fields by matched index 0 (agency count: 4)
[2026-03-05 21:23:29] [INFO] Filtered cADAgencyIdentifier to: PCFD
[2026-03-05 21:23:29] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-03-05 21:23:29] [INFO] Found existing IncidentTypeMapping with ID: 6939c33d3eae65119
[2026-03-05 21:23:30] [INFO] Found existing Dispatch with cADNumber '2026000602', ID: 69a9f3aa9b55d3ef7 - will update instead of create
[2026-03-05 21:23:30] [INFO] Updated existing Dispatches record with ID: 69a9f3aa9b55d3ef7
[2026-03-05 21:23:30] [INFO] Successfully archived file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212329.XML -> /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/archive/2026-03-05/PCFD_20260024339_20260305_212329.XML
[2026-03-05 21:23:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260024339_20260305_212329.XML
