[2026-01-06 00:00:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00478.xml
[2026-01-06 00:00:58] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00478.xml for user: 68d56363ec1209189
[2026-01-06 00:00:58] [INFO] File size: 1442 bytes
[2026-01-06 00:00:59] [INFO] Created FTPFiles record with ID: 695c50bb0e203eaeb
[2026-01-06 00:00:59] [INFO] About to extract fields from XML. File size: 1442 bytes
[2026-01-06 00:00:59] [INFO] Number of mappings: 21
[2026-01-06 00:00:59] [INFO] Starting XML parsing. Content length: 1442
[2026-01-06 00:00:59] [INFO] XML parsed successfully. Root element: Incident
[2026-01-06 00:00:59] [INFO] Processing 21 field mappings
[2026-01-06 00:00:59] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-06 00:00:59] [INFO]   -> Found value: 26-00478
[2026-01-06 00:00:59] [INFO]   -> Set field 'dispatchRunNumber' = "26-00478"
[2026-01-06 00:00:59] [INFO]   -> Set field 'cADNumber' = "26-00478"
[2026-01-06 00:00:59] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-06 00:00:59] [INFO]   -> Found value: 356
[2026-01-06 00:00:59] [INFO]   -> Set field 'incidentLocationStreetNumber' = 356
[2026-01-06 00:00:59] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-06 00:00:59] [INFO]   -> Found value: E MCCALLEN
[2026-01-06 00:00:59] [INFO]   -> Set field 'streetName' = "E MCCALLEN"
[2026-01-06 00:00:59] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-06 00:00:59] [INFO]   -> No value found (null or empty)
[2026-01-06 00:00:59] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-06 00:00:59] [INFO]   -> Found value: BLODGETT
[2026-01-06 00:00:59] [INFO]   -> Set field 'incidentLocationCity' = "BLODGETT"
[2026-01-06 00:00:59] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-06 00:00:59] [INFO]   -> No value found (null or empty)
[2026-01-06 00:00:59] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-06 00:00:59] [INFO]   -> No value found (null or empty)
[2026-01-06 00:00:59] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-06 00:00:59] [INFO]   -> Found value: 63824
[2026-01-06 00:00:59] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63824
[2026-01-06 00:00:59] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-06 00:00:59] [INFO]   -> Found value: 0
[2026-01-06 00:00:59] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-06 00:00:59] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-06 00:00:59] [INFO]   -> Found value: 0
[2026-01-06 00:00:59] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-06 00:00:59] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-06 00:00:59] [INFO]   -> Found value: OTHER
[2026-01-06 00:00:59] [INFO]   -> Set field 'incidentTypeValue1' = "OTHER"
[2026-01-06 00:00:59] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-06 00:00:59] [INFO]   -> Found value: 01-05-2026 17:11:25|Call Received on 01/05/2026 @ 17:11

81 YR OLD MALE
LATHARGIC
SHAKING, LOW BP
TR...
[2026-01-06 00:00:59] [INFO]   -> Set field 'dispatchNotes' = "01-05-2026 17:11:25|Call Received on 01\/05\/2026 @ 17:11\n\n81 YR OLD MALE\nLATHARGIC\nSHAKING, LOW BP\nTROUBLE STANDING 01-05-2026 17:24:00|12.5ON,1510 01-05-2026 17:59:50|SF"
[2026-01-06 00:00:59] [INFO]   -> Set field 'cADLog' = "01-05-2026 17:11:25|Call Received on 01\/05\/2026 @ 17:11\n\n81 YR OLD MALE\nLATHARGIC\nSHAKING, LOW BP\nTROUBLE STANDING 01-05-2026 17:24:00|12.5ON,1510 01-05-2026 17:59:50|SF"
[2026-01-06 00:00:59] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-06 00:00:59] [INFO]   -> Found value: 01-05-2026T17:14:18
[2026-01-06 00:00:59] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:14:18
[2026-01-06 00:00:59] [INFO]   -> Set field 'alarm' = "2026-05-01 17:14:18"
[2026-01-06 00:00:59] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:14:18
[2026-01-06 00:00:59] [INFO]   -> Set field 'dispatched' = "2026-05-01 17:14:18"
[2026-01-06 00:00:59] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-06 00:00:59] [INFO]   -> No value found (null or empty)
[2026-01-06 00:00:59] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-06 00:00:59] [INFO]   -> No value found (null or empty)
[2026-01-06 00:00:59] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-06 00:00:59] [INFO]   -> Found value: RURAL PAGE
[2026-01-06 00:00:59] [INFO]   -> Set field 'cADVehicleID' = "RURAL PAGE"
[2026-01-06 00:00:59] [INFO]   -> Set field 'name' = "RURAL PAGE"
[2026-01-06 00:00:59] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-06 00:00:59] [INFO]   -> No value found (null or empty)
[2026-01-06 00:00:59] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-06 00:00:59] [INFO]   -> No value found (null or empty)
[2026-01-06 00:00:59] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-06 00:00:59] [INFO]   -> Found value: 01-05-2026T18:00:19
[2026-01-06 00:00:59] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T18:00:19
[2026-01-06 00:00:59] [INFO]   -> Set field 'timeunitclear' = "2026-05-01 18:00:19"
[2026-01-06 00:00:59] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-06 00:00:59] [INFO]   -> Found value: 01-05-2026T17:14:26
[2026-01-06 00:00:59] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:14:26
[2026-01-06 00:00:59] [INFO]   -> Set field 'timedispatch' = "2026-05-01 17:14:26"
[2026-01-06 00:00:59] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-06 00:00:59] [INFO]   -> Found value: SCRFD
[2026-01-06 00:00:59] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-06 00:00:59] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-06 00:00:59] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-06 00:00:59] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00478","cADNumber":"26-00478","incidentLocationStreetNumber":356,"streetName":"E MCCALLEN","incidentLocationCity":"BLODGETT","nERISIncidentPostalCode":63824,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"OTHER","dispatchNotes":"01-05-2026 17:11:25|Call Received on 01\/05\/2026 @ 17:11\n\n81 YR OLD MALE\nLATHARGIC\nSHAKING, LOW BP\nTROUBLE STANDING 01-05-2026 17:24:00|12.5ON,1510 01-05-2026 17:59:50|SF","cADLog":"01-05-2026 17:11:25|Call Received on 01\/05\/2026 @ 17:11\n\n81 YR OLD MALE\nLATHARGIC\nSHAKING, LOW BP\nTROUBLE STANDING 01-05-2026 17:24:00|12.5ON,1510 01-05-2026 17:59:50|SF","alarm":"2026-05-01 17:14:18","dispatched":"2026-05-01 17:14:18","cADVehicleID":"RURAL PAGE","name":"RURAL PAGE","timeunitclear":"2026-05-01 18:00:19","timedispatch":"2026-05-01 17:14:26","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-06 00:00:59] [INFO] Number of extracted fields: 19
[2026-01-06 00:00:59] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-06 00:00:59] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-06 00:00:59] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-06 00:00:59] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-06 00:01:01] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-06 00:01:02] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-06 00:01:02] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-06 00:01:02] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-06 00:01:03] [INFO] Found existing IncidentTypeMapping with ID: 6939e59116190ddfb
[2026-01-06 00:01:03] [INFO] Found existing Dispatch with cADNumber '26-00478', ID: 695c45fec6e356fec - will update instead of create
[2026-01-06 00:01:03] [INFO] Updated existing Dispatches record with ID: 695c45fec6e356fec
[2026-01-06 00:01:03] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00478.xml
[2026-01-06 00:01:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00478.xml
[2026-01-06 00:07:03] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00482.xml
[2026-01-06 00:07:03] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00482.xml for user: 68d56363ec1209189
[2026-01-06 00:07:03] [INFO] File size: 2056 bytes
[2026-01-06 00:07:03] [INFO] Created FTPFiles record with ID: 695c522796ae1db50
[2026-01-06 00:07:03] [INFO] About to extract fields from XML. File size: 2056 bytes
[2026-01-06 00:07:03] [INFO] Number of mappings: 21
[2026-01-06 00:07:03] [INFO] Starting XML parsing. Content length: 2056
[2026-01-06 00:07:03] [INFO] XML parsed successfully. Root element: Incident
[2026-01-06 00:07:03] [INFO] Processing 21 field mappings
[2026-01-06 00:07:03] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-06 00:07:03] [INFO]   -> Found value: 26-00482
[2026-01-06 00:07:03] [INFO]   -> Set field 'dispatchRunNumber' = "26-00482"
[2026-01-06 00:07:03] [INFO]   -> Set field 'cADNumber' = "26-00482"
[2026-01-06 00:07:03] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-06 00:07:03] [INFO]   -> Found value: 204
[2026-01-06 00:07:03] [INFO]   -> Set field 'incidentLocationStreetNumber' = 204
[2026-01-06 00:07:03] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-06 00:07:03] [INFO]   -> Found value: JAYCEE ST
[2026-01-06 00:07:03] [INFO]   -> Set field 'streetName' = "JAYCEE ST"
[2026-01-06 00:07:03] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-06 00:07:03] [INFO]   -> No value found (null or empty)
[2026-01-06 00:07:03] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-06 00:07:03] [INFO]   -> Found value: SIKESTON
[2026-01-06 00:07:03] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-06 00:07:03] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-06 00:07:03] [INFO]   -> No value found (null or empty)
[2026-01-06 00:07:03] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-06 00:07:03] [INFO]   -> Found value: MO
[2026-01-06 00:07:03] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-06 00:07:03] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-06 00:07:03] [INFO]   -> Found value: 63801
[2026-01-06 00:07:03] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-06 00:07:03] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-06 00:07:03] [INFO]   -> Found value: 0
[2026-01-06 00:07:03] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-06 00:07:03] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-06 00:07:03] [INFO]   -> Found value: 0
[2026-01-06 00:07:03] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-06 00:07:03] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-06 00:07:03] [INFO]   -> Found value: FIRE-SMOKE INVESTIGATION
[2026-01-06 00:07:03] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-SMOKE INVESTIGATION"
[2026-01-06 00:07:03] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026 17:33:30|SMELL SMOKE INSIDE BATHROOM 01-05-2026 18:01:15|Disposition - SDPS PD:  NRN 01-0...
[2026-01-06 00:07:03] [INFO]   -> Set field 'dispatchNotes' = "01-05-2026 17:33:30|SMELL SMOKE INSIDE BATHROOM 01-05-2026 18:01:15|Disposition - SDPS PD:  NRN 01-05-2026 18:05:58|NOTHING LOCATED"
[2026-01-06 00:07:03] [INFO]   -> Set field 'cADLog' = "01-05-2026 17:33:30|SMELL SMOKE INSIDE BATHROOM 01-05-2026 18:01:15|Disposition - SDPS PD:  NRN 01-05-2026 18:05:58|NOTHING LOCATED"
[2026-01-06 00:07:03] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026T17:34:52
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:34:52
[2026-01-06 00:07:03] [INFO]   -> Set field 'alarm' = "2026-05-01 17:34:52"
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:34:52
[2026-01-06 00:07:03] [INFO]   -> Set field 'dispatched' = "2026-05-01 17:34:52"
[2026-01-06 00:07:03] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026T17:38:44
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:38:44
[2026-01-06 00:07:03] [INFO]   -> Set field 'onScene' = "2026-05-01 17:38:44"
[2026-01-06 00:07:03] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026T18:06:00
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T18:06:00
[2026-01-06 00:07:03] [INFO]   -> Set field 'cleared' = "2026-05-01 18:06:00"
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T18:06:00
[2026-01-06 00:07:03] [INFO]   -> Set field 'inService' = "2026-05-01 18:06:00"
[2026-01-06 00:07:03] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-06 00:07:03] [INFO]   -> Found value: ENG2
[2026-01-06 00:07:03] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-06 00:07:03] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-06 00:07:03] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026T17:36:37
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:36:37
[2026-01-06 00:07:03] [INFO]   -> Set field 'timeenroutetoscene' = "2026-05-01 17:36:37"
[2026-01-06 00:07:03] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026T17:38:44
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:38:44
[2026-01-06 00:07:03] [INFO]   -> Set field 'timeonscene' = "2026-05-01 17:38:44"
[2026-01-06 00:07:03] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026T18:06:00
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T18:06:00
[2026-01-06 00:07:03] [INFO]   -> Set field 'timeunitclear' = "2026-05-01 18:06:00"
[2026-01-06 00:07:03] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-06 00:07:03] [INFO]   -> Found value: 01-05-2026T17:36:35
[2026-01-06 00:07:03] [INFO] Reformatted DD-MM-YYYY date '01-05-2026' (day=01, month=05) to ISO: 2026-05-01T17:36:35
[2026-01-06 00:07:03] [INFO]   -> Set field 'timedispatch' = "2026-05-01 17:36:35"
[2026-01-06 00:07:03] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-06 00:07:03] [INFO]   -> Found value: SDPSFD
[2026-01-06 00:07:03] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-06 00:07:03] [INFO] Finished extracting fields. Total fields extracted: 24
[2026-01-06 00:07:03] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-06 00:07:03] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00482","cADNumber":"26-00482","incidentLocationStreetNumber":204,"streetName":"JAYCEE ST","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-SMOKE INVESTIGATION","dispatchNotes":"01-05-2026 17:33:30|SMELL SMOKE INSIDE BATHROOM 01-05-2026 18:01:15|Disposition - SDPS PD:  NRN 01-05-2026 18:05:58|NOTHING LOCATED","cADLog":"01-05-2026 17:33:30|SMELL SMOKE INSIDE BATHROOM 01-05-2026 18:01:15|Disposition - SDPS PD:  NRN 01-05-2026 18:05:58|NOTHING LOCATED","alarm":"2026-05-01 17:34:52","dispatched":"2026-05-01 17:34:52","onScene":"2026-05-01 17:38:44","cleared":"2026-05-01 18:06:00","inService":"2026-05-01 18:06:00","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-05-01 17:36:37","timeonscene":"2026-05-01 17:38:44","timeunitclear":"2026-05-01 18:06:00","timedispatch":"2026-05-01 17:36:35","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-06 00:07:03] [INFO] Number of extracted fields: 25
[2026-01-06 00:07:03] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-06 00:07:03] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-06 00:07:03] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-06 00:07:03] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-06 00:07:03] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-06 00:07:03] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-06 00:07:03] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-06 00:07:03] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-06 00:07:04] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e8812ca0da
[2026-01-06 00:07:05] [INFO] Created new Dispatches record with ID: 695c5228696237189
[2026-01-06 00:07:05] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00482.xml
[2026-01-06 00:07:05] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00482.xml
[2026-01-06 04:10:48] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001680_20260106_041048.XML
[2026-01-06 04:10:48] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001680_20260106_041048.XML for user: 68f1466aed072ad4a
[2026-01-06 04:10:48] [INFO] File size: 5226 bytes
[2026-01-06 04:10:49] [INFO] Created FTPFiles record with ID: 695c8b491a2902073
[2026-01-06 04:10:49] [INFO] About to extract fields from XML. File size: 5226 bytes
[2026-01-06 04:10:49] [INFO] Number of mappings: 28
[2026-01-06 04:10:49] [INFO] Starting XML parsing. Content length: 5226
[2026-01-06 04:10:49] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-06 04:10:49] [INFO] Processing 28 field mappings
[2026-01-06 04:10:49] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-06 04:10:49] [INFO] Found 3 elements for 'AgencyCode', using FIRST value only
[2026-01-06 04:10:49] [INFO]   -> Found value: PCFD
[2026-01-06 04:10:49] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-06 04:10:49] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 04:10:49] [INFO] Found 3 elements for 'ReportNumber', using FIRST value only
[2026-01-06 04:10:49] [INFO]   -> Found value: 2026000041
[2026-01-06 04:10:49] [INFO]   -> Set field 'incidentInternalId' = "2026000041"
[2026-01-06 04:10:49] [INFO]   -> Set field 'dispatchRunNumber' = "2026000041"
[2026-01-06 04:10:49] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-06 04:10:49] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-01-06 04:10:49] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-01-06 04:10:49] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-06 04:10:49] [INFO]   -> Found value: 9434
[2026-01-06 04:10:49] [INFO]   -> Set field 'incidentLocationStreetNumber' = 9434
[2026-01-06 04:10:49] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-06 04:10:49] [INFO]   -> Found value: TN
[2026-01-06 04:10:49] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-06 04:10:49] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-06 04:10:49] [INFO]   -> Found value: 38544
[2026-01-06 04:10:49] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-06 04:10:49] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-06 04:10:49] [INFO]   -> Found value: 36.07821
[2026-01-06 04:10:49] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0782099999999985584508976899087429046630859375
[2026-01-06 04:10:49] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-06 04:10:49] [INFO]   -> Found value: -85.67395
[2026-01-06 04:10:49] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6739500000000049340087571181356906890869140625
[2026-01-06 04:10:49] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-06 04:10:49] [INFO]   -> Found value: 2026-01-05 22:10:24
[2026-01-06 04:10:49] [INFO]   -> Set field 'alarm' = "2026-01-05 22:10:24"
[2026-01-06 04:10:49] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-06 04:10:49] [INFO]   -> Found value: 2026-01-05 22:10:42
[2026-01-06 04:10:49] [INFO]   -> Set field 'dispatched' = "2026-01-05 22:10:42"
[2026-01-06 04:10:49] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-06 04:10:49] [INFO]   -> Found value: GANT RD
[2026-01-06 04:10:49] [INFO]   -> Set field 'incidentLocationCross' = "GANT RD"
[2026-01-06 04:10:49] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-06 04:10:49] [INFO]   -> Found value: PCFR
[2026-01-06 04:10:49] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-06 04:10:49] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-06 04:10:49] [INFO]   -> Found value: 2026-01-05 22:10:42
[2026-01-06 04:10:49] [INFO]   -> Set field 'timedispatch' = "2026-01-05 22:10:42"
[2026-01-06 04:10:49] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-06 04:10:49] [INFO]   -> No value found (null or empty)
[2026-01-06 04:10:49] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-06 04:10:49] [INFO] Found 3 elements for 'CadInciNumber', using FIRST value only
[2026-01-06 04:10:49] [INFO]   -> Found value: 20260001680
[2026-01-06 04:10:49] [INFO]   -> Set field 'policeReportNumber' = "20260001680"
[2026-01-06 04:10:49] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-06 04:10:49] [INFO]   -> Found value: [EMS] FRONT DOOR  [01/05/26 22:10:39 DSWINK] Event spawned from FAINTING / SYNCOPE.  [01/05/2026 22:...
[2026-01-06 04:10:49] [INFO]   -> Set field 'dispatchNotes' = "[EMS] FRONT DOOR  [01\/05\/26 22:10:39 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [01\/05\/2026 22:10:24 DSWINK] SICK FOR A FEW DAYS WENT TO THE BATHROOM FEELING FAINT  [01\/05\/26 22:10:21 DSWINK]]"
[2026-01-06 04:10:49] [INFO]   -> Set field 'cADLog' = "[EMS] FRONT DOOR  [01\/05\/26 22:10:39 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [01\/05\/2026 22:10:24 DSWINK] SICK FOR A FEW DAYS WENT TO THE BATHROOM FEELING FAINT  [01\/05\/26 22:10:21 DSWINK]]"
[2026-01-06 04:10:49] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-06 04:10:49] [INFO]   -> Found value: BAXTER
[2026-01-06 04:10:49] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-06 04:10:49] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-06 04:10:49] [INFO]   -> Found value: WATER PLANT
[2026-01-06 04:10:49] [INFO]   -> Set field 'streetName' = "WATER PLANT"
[2026-01-06 04:10:49] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-06 04:10:49] [INFO]   -> Found value: RD
[2026-01-06 04:10:49] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 04:10:49] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-06 04:10:49] [INFO]   -> Found value: 9434 WATER PLANT RD
[2026-01-06 04:10:49] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "9434 WATER PLANT RD"
[2026-01-06 04:10:49] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-06 04:10:49] [INFO] Concatenating street name and type
[2026-01-06 04:10:49] [INFO]   -> Combined street name: WATER PLANT RD
[2026-01-06 04:10:49] [INFO] Built locationCoordinates from lat/lng: 36.07821,-85.67395
[2026-01-06 04:10:49] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000041","dispatchRunNumber":"2026000041","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":9434,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"nERISIncidentLatitude":36.0782099999999985584508976899087429046630859375,"nERISIncidentLongitude":-85.6739500000000049340087571181356906890869140625,"alarm":"2026-01-05 22:10:24","dispatched":"2026-01-05 22:10:42","incidentLocationCross":"GANT RD","cADVehicleID":"PCFR","timedispatch":"2026-01-05 22:10:42","policeReportNumber":"20260001680","dispatchNotes":"[EMS] FRONT DOOR  [01\/05\/26 22:10:39 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [01\/05\/2026 22:10:24 DSWINK] SICK FOR A FEW DAYS WENT TO THE BATHROOM FEELING FAINT  [01\/05\/26 22:10:21 DSWINK]]","cADLog":"[EMS] FRONT DOOR  [01\/05\/26 22:10:39 DSWINK] Event spawned from FAINTING \/ SYNCOPE.  [01\/05\/2026 22:10:24 DSWINK] SICK FOR A FEW DAYS WENT TO THE BATHROOM FEELING FAINT  [01\/05\/26 22:10:21 DSWINK]]","incidentLocationCity":"BAXTER","streetName":"WATER PLANT RD","incidentAddressTextVersionStreet":"9434 WATER PLANT RD","locationCoordinates":"36.07821,-85.67395"}
[2026-01-06 04:10:49] [INFO] Number of extracted fields: 21
[2026-01-06 04:10:49] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-06 04:10:49] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-06 04:10:49] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-06 04:10:49] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-06 04:10:49] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-06 04:10:49] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-06 04:10:49] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-06 04:10:49] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-06 04:10:49] [INFO] Found existing IncidentTypeMapping with ID: 693861a57fd64f0b2
[2026-01-06 04:10:57] [INFO] Created new Dispatches record with ID: 695c8b49cee02021a
[2026-01-06 04:10:57] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001680_20260106_041048.XML
[2026-01-06 04:10:57] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001680_20260106_041048.XML
[2026-01-06 13:20:19] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001748_20260106_132019.XML
[2026-01-06 13:20:19] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001748_20260106_132019.XML for user: 68f1466aed072ad4a
[2026-01-06 13:20:19] [INFO] File size: 5537 bytes
[2026-01-06 13:20:20] [INFO] Created FTPFiles record with ID: 695d0c1410241f303
[2026-01-06 13:20:20] [INFO] About to extract fields from XML. File size: 5537 bytes
[2026-01-06 13:20:20] [INFO] Number of mappings: 28
[2026-01-06 13:20:20] [INFO] Starting XML parsing. Content length: 5537
[2026-01-06 13:20:20] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-06 13:20:20] [INFO] Processing 28 field mappings
[2026-01-06 13:20:20] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-06 13:20:20] [INFO] Found 4 elements for 'AgencyCode', using FIRST value only
[2026-01-06 13:20:20] [INFO]   -> Found value: PCFD
[2026-01-06 13:20:20] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-06 13:20:20] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 13:20:20] [INFO] Found 4 elements for 'ReportNumber', using FIRST value only
[2026-01-06 13:20:20] [INFO]   -> Found value: 2026000042
[2026-01-06 13:20:20] [INFO]   -> Set field 'incidentInternalId' = "2026000042"
[2026-01-06 13:20:20] [INFO]   -> Set field 'dispatchRunNumber' = "2026000042"
[2026-01-06 13:20:20] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-06 13:20:20] [INFO]   -> Found value: UNKNOWN PROBLEM
[2026-01-06 13:20:20] [INFO]   -> Set field 'incidentTypeValue1' = "UNKNOWN PROBLEM"
[2026-01-06 13:20:20] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-06 13:20:20] [INFO]   -> Found value: 166
[2026-01-06 13:20:20] [INFO]   -> Set field 'incidentLocationStreetNumber' = 166
[2026-01-06 13:20:20] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-06 13:20:20] [INFO]   -> Found value: TN
[2026-01-06 13:20:20] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-06 13:20:20] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-06 13:20:20] [INFO]   -> Found value: 38501
[2026-01-06 13:20:20] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38501
[2026-01-06 13:20:20] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-06 13:20:20] [INFO]   -> Found value: 36.16914
[2026-01-06 13:20:20] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.169139999999998735802364535629749298095703125
[2026-01-06 13:20:20] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-06 13:20:20] [INFO]   -> Found value: -85.60452
[2026-01-06 13:20:20] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6045199999999937290340312756597995758056640625
[2026-01-06 13:20:20] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-06 13:20:20] [INFO]   -> Found value: 2026-01-06 07:19:53
[2026-01-06 13:20:20] [INFO]   -> Set field 'alarm' = "2026-01-06 07:19:53"
[2026-01-06 13:20:20] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-06 13:20:20] [INFO]   -> Found value: 2026-01-06 07:20:12
[2026-01-06 13:20:20] [INFO]   -> Set field 'dispatched' = "2026-01-06 07:20:12"
[2026-01-06 13:20:20] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-06 13:20:20] [INFO]   -> Found value: NASHVILLE HWY/FRONT ST
[2026-01-06 13:20:20] [INFO]   -> Set field 'incidentLocationCross' = "NASHVILLE HWY\/FRONT ST"
[2026-01-06 13:20:20] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-06 13:20:20] [INFO]   -> Found value: PCFR
[2026-01-06 13:20:20] [INFO]   -> Set field 'cADVehicleID' = "PCFR"
[2026-01-06 13:20:20] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-06 13:20:20] [INFO]   -> Found value: 2026-01-06 07:20:12
[2026-01-06 13:20:20] [INFO]   -> Set field 'timedispatch' = "2026-01-06 07:20:12"
[2026-01-06 13:20:20] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-06 13:20:20] [INFO]   -> No value found (null or empty)
[2026-01-06 13:20:20] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-06 13:20:20] [INFO] Found 4 elements for 'CadInciNumber', using FIRST value only
[2026-01-06 13:20:20] [INFO]   -> Found value: 20260001748
[2026-01-06 13:20:20] [INFO]   -> Set field 'policeReportNumber' = "20260001748"
[2026-01-06 13:20:20] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-06 13:20:20] [INFO]   -> Found value: [EMS] CALLER STATES SHE CANT TELL ME ANYTHING ELSE HE TOLD HER TO CALL AN AMBULANCE  [01/06/26 07:20...
[2026-01-06 13:20:20] [INFO]   -> Set field 'dispatchNotes' = "[EMS] CALLER STATES SHE CANT TELL ME ANYTHING ELSE HE TOLD HER TO CALL AN AMBULANCE  [01\/06\/26 07:20:10 MCLAYBURN2] Event spawned from UNKNOWN PROBLEM.  [01\/06\/2026 07:19:53 MCLAYBURN2] HUSBAND CANT GET OUT OF BED WIFE UNABLE TO HELP HIM  [01\/06\/26 07:19:02 MCLAYBURN2]]"
[2026-01-06 13:20:20] [INFO]   -> Set field 'cADLog' = "[EMS] CALLER STATES SHE CANT TELL ME ANYTHING ELSE HE TOLD HER TO CALL AN AMBULANCE  [01\/06\/26 07:20:10 MCLAYBURN2] Event spawned from UNKNOWN PROBLEM.  [01\/06\/2026 07:19:53 MCLAYBURN2] HUSBAND CANT GET OUT OF BED WIFE UNABLE TO HELP HIM  [01\/06\/26 07:19:02 MCLAYBURN2]]"
[2026-01-06 13:20:20] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-06 13:20:20] [INFO]   -> Found value: COOKEVILLE
[2026-01-06 13:20:20] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-06 13:20:20] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-06 13:20:20] [INFO]   -> Found value: WEST GATE
[2026-01-06 13:20:20] [INFO]   -> Set field 'streetName' = "WEST GATE"
[2026-01-06 13:20:20] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-06 13:20:20] [INFO]   -> Found value: RD
[2026-01-06 13:20:20] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 13:20:20] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-06 13:20:20] [INFO]   -> Found value: 166 WEST GATE RD
[2026-01-06 13:20:20] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "166 WEST GATE RD"
[2026-01-06 13:20:20] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-06 13:20:20] [INFO] Concatenating street name and type
[2026-01-06 13:20:20] [INFO]   -> Combined street name: WEST GATE RD
[2026-01-06 13:20:20] [INFO] Built locationCoordinates from lat/lng: 36.16914,-85.60452
[2026-01-06 13:20:20] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000042","dispatchRunNumber":"2026000042","incidentTypeValue1":"UNKNOWN PROBLEM","incidentLocationStreetNumber":166,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38501,"nERISIncidentLatitude":36.169139999999998735802364535629749298095703125,"nERISIncidentLongitude":-85.6045199999999937290340312756597995758056640625,"alarm":"2026-01-06 07:19:53","dispatched":"2026-01-06 07:20:12","incidentLocationCross":"NASHVILLE HWY\/FRONT ST","cADVehicleID":"PCFR","timedispatch":"2026-01-06 07:20:12","policeReportNumber":"20260001748","dispatchNotes":"[EMS] CALLER STATES SHE CANT TELL ME ANYTHING ELSE HE TOLD HER TO CALL AN AMBULANCE  [01\/06\/26 07:20:10 MCLAYBURN2] Event spawned from UNKNOWN PROBLEM.  [01\/06\/2026 07:19:53 MCLAYBURN2] HUSBAND CANT GET OUT OF BED WIFE UNABLE TO HELP HIM  [01\/06\/26 07:19:02 MCLAYBURN2]]","cADLog":"[EMS] CALLER STATES SHE CANT TELL ME ANYTHING ELSE HE TOLD HER TO CALL AN AMBULANCE  [01\/06\/26 07:20:10 MCLAYBURN2] Event spawned from UNKNOWN PROBLEM.  [01\/06\/2026 07:19:53 MCLAYBURN2] HUSBAND CANT GET OUT OF BED WIFE UNABLE TO HELP HIM  [01\/06\/26 07:19:02 MCLAYBURN2]]","incidentLocationCity":"COOKEVILLE","streetName":"WEST GATE RD","incidentAddressTextVersionStreet":"166 WEST GATE RD","locationCoordinates":"36.16914,-85.60452"}
[2026-01-06 13:20:20] [INFO] Number of extracted fields: 21
[2026-01-06 13:20:20] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-06 13:20:20] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-06 13:20:20] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-06 13:20:20] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-06 13:20:20] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-06 13:20: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-01-06 13:20:20] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-06 13:20:20] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-06 13:20:20] [INFO] Found existing IncidentTypeMapping with ID: 6938348e6b7ce0612
[2026-01-06 13:20:28] [INFO] Created new Dispatches record with ID: 695d0c14c883ae4d7
[2026-01-06 13:20:28] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001748_20260106_132019.XML
[2026-01-06 13:20:28] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001748_20260106_132019.XML
[2026-01-06 13:53:55] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00530.xml
[2026-01-06 13:53:55] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00530.xml for user: 68d56363ec1209189
[2026-01-06 13:53:55] [INFO] File size: 1806 bytes
[2026-01-06 13:53:56] [INFO] Created FTPFiles record with ID: 695d13f41ccf43ed9
[2026-01-06 13:53:56] [INFO] About to extract fields from XML. File size: 1806 bytes
[2026-01-06 13:53:56] [INFO] Number of mappings: 21
[2026-01-06 13:53:56] [INFO] Starting XML parsing. Content length: 1806
[2026-01-06 13:53:56] [INFO] XML parsed successfully. Root element: Incident
[2026-01-06 13:53:56] [INFO] Processing 21 field mappings
[2026-01-06 13:53:56] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-06 13:53:56] [INFO]   -> Found value: 26-00530
[2026-01-06 13:53:56] [INFO]   -> Set field 'dispatchRunNumber' = "26-00530"
[2026-01-06 13:53:56] [INFO]   -> Set field 'cADNumber' = "26-00530"
[2026-01-06 13:53:56] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-06 13:53:56] [INFO]   -> No value found (null or empty)
[2026-01-06 13:53:56] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-06 13:53:56] [INFO]   -> Found value: GREER AVE
[2026-01-06 13:53:56] [INFO]   -> Set field 'streetName' = "GREER AVE"
[2026-01-06 13:53:56] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-06 13:53:56] [INFO]   -> No value found (null or empty)
[2026-01-06 13:53:56] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-06 13:53:56] [INFO]   -> Found value: SIKESTON
[2026-01-06 13:53:56] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-06 13:53:56] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-06 13:53:56] [INFO]   -> No value found (null or empty)
[2026-01-06 13:53:56] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-06 13:53:56] [INFO]   -> Found value: MO
[2026-01-06 13:53:56] [INFO]   -> Set field 'incidentLocationStateName' = "MO"
[2026-01-06 13:53:56] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-06 13:53:56] [INFO]   -> Found value: 63801
[2026-01-06 13:53:56] [INFO]   -> Set field 'nERISIncidentPostalCode' = 63801
[2026-01-06 13:53:56] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-06 13:53:56] [INFO]   -> Found value: 0
[2026-01-06 13:53:56] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-06 13:53:56] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-06 13:53:56] [INFO]   -> Found value: 0
[2026-01-06 13:53:56] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-06 13:53:56] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-06 13:53:56] [INFO]   -> Found value: ACCIDENT-J2
[2026-01-06 13:53:56] [INFO]   -> Set field 'incidentTypeValue1' = "ACCIDENT-J2"
[2026-01-06 13:53:56] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-06 13:53:56] [INFO]   -> Found value: 01-06-2026 07:26:43|Call Received on 01/06/2026 @ 07:26

CALLER SAID THAT SHE HIT SUBJECT IN ROADWAY...
[2026-01-06 13:53:56] [INFO]   -> Set field 'dispatchNotes' = "01-06-2026 07:26:43|Call Received on 01\/06\/2026 @ 07:26\n\nCALLER SAID THAT SHE HIT SUBJECT IN ROADWAY\nFM CAN NOT GET UP 01-06-2026 07:46:40|PRIORITY ST FRANCIS 01-06-2026 07:52:51|Disposition - SDPS PD:  RPT"
[2026-01-06 13:53:56] [INFO]   -> Set field 'cADLog' = "01-06-2026 07:26:43|Call Received on 01\/06\/2026 @ 07:26\n\nCALLER SAID THAT SHE HIT SUBJECT IN ROADWAY\nFM CAN NOT GET UP 01-06-2026 07:46:40|PRIORITY ST FRANCIS 01-06-2026 07:52:51|Disposition - SDPS PD:  RPT"
[2026-01-06 13:53:56] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-06 13:53:56] [INFO]   -> Found value: 01-06-2026T07:29:05
[2026-01-06 13:53:56] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T07:29:05
[2026-01-06 13:53:56] [INFO]   -> Set field 'alarm' = "2026-06-01 07:29:05"
[2026-01-06 13:53:56] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T07:29:05
[2026-01-06 13:53:56] [INFO]   -> Set field 'dispatched' = "2026-06-01 07:29:05"
[2026-01-06 13:53:56] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-06 13:53:56] [INFO]   -> Found value: 01-06-2026T07:30:52
[2026-01-06 13:53:56] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T07:30:52
[2026-01-06 13:53:56] [INFO]   -> Set field 'onScene' = "2026-06-01 07:30:52"
[2026-01-06 13:53:56] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-06 13:53:56] [INFO]   -> No value found (null or empty)
[2026-01-06 13:53:56] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-06 13:53:56] [INFO]   -> Found value: ENG2
[2026-01-06 13:53:56] [INFO]   -> Set field 'cADVehicleID' = "ENG2"
[2026-01-06 13:53:56] [INFO]   -> Set field 'name' = "ENG2"
[2026-01-06 13:53:56] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-06 13:53:56] [INFO]   -> Found value: 01-06-2026T07:29:44
[2026-01-06 13:53:56] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T07:29:44
[2026-01-06 13:53:56] [INFO]   -> Set field 'timeenroutetoscene' = "2026-06-01 07:29:44"
[2026-01-06 13:53:56] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-06 13:53:56] [INFO]   -> Found value: 01-06-2026T07:33:12
[2026-01-06 13:53:56] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T07:33:12
[2026-01-06 13:53:56] [INFO]   -> Set field 'timeonscene' = "2026-06-01 07:33:12"
[2026-01-06 13:53:56] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-06 13:53:56] [INFO]   -> Found value: 01-06-2026T07:47:50
[2026-01-06 13:53:56] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T07:47:50
[2026-01-06 13:53:56] [INFO]   -> Set field 'timeunitclear' = "2026-06-01 07:47:50"
[2026-01-06 13:53:56] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-06 13:53:56] [INFO]   -> Found value: 01-06-2026T07:29:41
[2026-01-06 13:53:56] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T07:29:41
[2026-01-06 13:53:56] [INFO]   -> Set field 'timedispatch' = "2026-06-01 07:29:41"
[2026-01-06 13:53:56] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-06 13:53:56] [INFO]   -> Found value: SDPSFD
[2026-01-06 13:53:56] [INFO]   -> Set field 'cADAgencyIdentifier' = "SDPSFD"
[2026-01-06 13:53:56] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-06 13:53:56] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-06 13:53:56] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00530","cADNumber":"26-00530","streetName":"GREER AVE","incidentLocationCity":"SIKESTON","incidentLocationStateName":"MO","nERISIncidentPostalCode":63801,"nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"ACCIDENT-J2","dispatchNotes":"01-06-2026 07:26:43|Call Received on 01\/06\/2026 @ 07:26\n\nCALLER SAID THAT SHE HIT SUBJECT IN ROADWAY\nFM CAN NOT GET UP 01-06-2026 07:46:40|PRIORITY ST FRANCIS 01-06-2026 07:52:51|Disposition - SDPS PD:  RPT","cADLog":"01-06-2026 07:26:43|Call Received on 01\/06\/2026 @ 07:26\n\nCALLER SAID THAT SHE HIT SUBJECT IN ROADWAY\nFM CAN NOT GET UP 01-06-2026 07:46:40|PRIORITY ST FRANCIS 01-06-2026 07:52:51|Disposition - SDPS PD:  RPT","alarm":"2026-06-01 07:29:05","dispatched":"2026-06-01 07:29:05","onScene":"2026-06-01 07:30:52","cADVehicleID":"ENG2","name":"ENG2","timeenroutetoscene":"2026-06-01 07:29:44","timeonscene":"2026-06-01 07:33:12","timeunitclear":"2026-06-01 07:47:50","timedispatch":"2026-06-01 07:29:41","cADAgencyIdentifier":"SDPSFD","locationCoordinates":"0,0"}
[2026-01-06 13:53:56] [INFO] Number of extracted fields: 22
[2026-01-06 13:53:56] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SDPSFD'
[2026-01-06 13:53:56] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SDPSFD', Parsed IDs = ["SDPSFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-06 13:53:56] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SDPSFD"]
[2026-01-06 13:53:56] [INFO] Attempting SAASClient lookup for AgencyCode 'SDPSFD' (index 0) within mailbox's assigned agencies
[2026-01-06 13:53:56] [INFO] SUCCESS: Routed to agency 'Sikeston DPS' (ID: 6772cab7157b2ebde) at INDEX 0 based on AgencyCode 'SDPSFD'
[2026-01-06 13:53:56] [INFO] Fetched 4 stations from Stations module for agency 'Sikeston DPS': ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"]
[2026-01-06 13:53:56] [INFO] Final routing: saasclientId = 6772cab7157b2ebde, dispatchStationsIds = ["67d843b7d3670caf0","67d843823ed523b5c","67d8434fe3dc432c7","68d5ab6eaa6dc3961"], matchedAgencyIndex = 0
[2026-01-06 13:53:56] [INFO] Multi-agency routing matched mailbox default agency: 6772cab7157b2ebde (no update needed)
[2026-01-06 13:53:56] [INFO] Found existing IncidentTypeMapping with ID: 68e4158e87be42b7c
[2026-01-06 13:53:58] [INFO] Created new Dispatches record with ID: 695d13f4d8615247c
[2026-01-06 13:53:58] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00530.xml
[2026-01-06 13:53:58] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SDPSFD_26-00530.xml
[2026-01-06 14:56:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001766_20260106_145639.XML
[2026-01-06 14:56:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001766_20260106_145639.XML for user: 68f1466aed072ad4a
[2026-01-06 14:56:39] [INFO] File size: 4731 bytes
[2026-01-06 14:56:40] [INFO] Created FTPFiles record with ID: 695d22a8590cd4b51
[2026-01-06 14:56:40] [INFO] About to extract fields from XML. File size: 4731 bytes
[2026-01-06 14:56:40] [INFO] Number of mappings: 28
[2026-01-06 14:56:40] [INFO] Starting XML parsing. Content length: 4731
[2026-01-06 14:56:40] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-06 14:56:40] [INFO] Processing 28 field mappings
[2026-01-06 14:56:40] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-06 14:56:40] [INFO]   -> Found value: PCFD
[2026-01-06 14:56:40] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-06 14:56:40] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026000043
[2026-01-06 14:56:40] [INFO]   -> Set field 'incidentInternalId' = "2026000043"
[2026-01-06 14:56:40] [INFO]   -> Set field 'dispatchRunNumber' = "2026000043"
[2026-01-06 14:56:40] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-06 14:56:40] [INFO]   -> Found value: SMOKE ALARM INSTALL
[2026-01-06 14:56:40] [INFO]   -> Set field 'incidentTypeValue1' = "SMOKE ALARM INSTALL"
[2026-01-06 14:56:40] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-06 14:56:40] [INFO]   -> Found value: 4495
[2026-01-06 14:56:40] [INFO]   -> Set field 'incidentLocationStreetNumber' = 4495
[2026-01-06 14:56:40] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-06 14:56:40] [INFO]   -> Found value: TN
[2026-01-06 14:56:40] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-06 14:56:40] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-06 14:56:40] [INFO]   -> Found value: 38506
[2026-01-06 14:56:40] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-06 14:56:40] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-06 14:56:40] [INFO]   -> No value found (null or empty)
[2026-01-06 14:56:40] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-06 14:56:40] [INFO]   -> No value found (null or empty)
[2026-01-06 14:56:40] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-06 14:56:40] [INFO]   -> Found value: 36.08785
[2026-01-06 14:56:40] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.0878500000000030922819860279560089111328125
[2026-01-06 14:56:40] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-06 14:56:40] [INFO]   -> Found value: -85.54905
[2026-01-06 14:56:40] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.549049999999994042809703387320041656494140625
[2026-01-06 14:56:40] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026-01-06 08:55:20
[2026-01-06 14:56:40] [INFO]   -> Set field 'alarm' = "2026-01-06 08:55:20"
[2026-01-06 14:56:40] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026-01-06 08:56:32
[2026-01-06 14:56:40] [INFO]   -> Set field 'dispatched' = "2026-01-06 08:56:32"
[2026-01-06 14:56:40] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026-01-06 08:56:32
[2026-01-06 14:56:40] [INFO]   -> Set field 'enroute' = "2026-01-06 08:56:32"
[2026-01-06 14:56:40] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026-01-06 08:56:32
[2026-01-06 14:56:40] [INFO]   -> Set field 'onScene' = "2026-01-06 08:56:32"
[2026-01-06 14:56:40] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-06 14:56:40] [INFO]   -> No value found (null or empty)
[2026-01-06 14:56:40] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-06 14:56:40] [INFO]   -> Found value: AMBER MEADOWS RD/NEWT RD
[2026-01-06 14:56:40] [INFO]   -> Set field 'incidentLocationCross' = "AMBER MEADOWS RD\/NEWT RD"
[2026-01-06 14:56:40] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-06 14:56:40] [INFO]   -> Found value: EN13
[2026-01-06 14:56:40] [INFO]   -> Set field 'cADVehicleID' = "EN13"
[2026-01-06 14:56:40] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026-01-06 08:56:32
[2026-01-06 14:56:40] [INFO]   -> Set field 'timedispatch' = "2026-01-06 08:56:32"
[2026-01-06 14:56:40] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026-01-06 08:56:32
[2026-01-06 14:56:40] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-06 08:56:32"
[2026-01-06 14:56:40] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-06 14:56:40] [INFO]   -> Found value: 2026-01-06 08:56:32
[2026-01-06 14:56:40] [INFO]   -> Set field 'timeonscene' = "2026-01-06 08:56:32"
[2026-01-06 14:56:40] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-06 14:56:40] [INFO]   -> No value found (null or empty)
[2026-01-06 14:56:40] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-06 14:56:40] [INFO]   -> No value found (null or empty)
[2026-01-06 14:56:40] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-06 14:56:40] [INFO]   -> Found value: 20260001766
[2026-01-06 14:56:40] [INFO]   -> Set field 'policeReportNumber' = "20260001766"
[2026-01-06 14:56:40] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-06 14:56:40] [INFO]   -> No value found (null or empty)
[2026-01-06 14:56:40] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-06 14:56:40] [INFO]   -> Found value: COOKEVILLE
[2026-01-06 14:56:40] [INFO]   -> Set field 'incidentLocationCity' = "COOKEVILLE"
[2026-01-06 14:56:40] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-06 14:56:40] [INFO]   -> Found value: ELLER RIDGE
[2026-01-06 14:56:40] [INFO]   -> Set field 'streetName' = "ELLER RIDGE"
[2026-01-06 14:56:40] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-06 14:56:40] [INFO]   -> Found value: RD
[2026-01-06 14:56:40] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 14:56:40] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-06 14:56:40] [INFO]   -> Found value: 4495 ELLER RIDGE RD
[2026-01-06 14:56:40] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "4495 ELLER RIDGE RD"
[2026-01-06 14:56:40] [INFO] Finished extracting fields. Total fields extracted: 23
[2026-01-06 14:56:40] [INFO] Concatenating street name and type
[2026-01-06 14:56:40] [INFO]   -> Combined street name: ELLER RIDGE RD
[2026-01-06 14:56:40] [INFO] Built locationCoordinates from lat/lng: 36.08785,-85.54905
[2026-01-06 14:56:40] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000043","dispatchRunNumber":"2026000043","incidentTypeValue1":"SMOKE ALARM INSTALL","incidentLocationStreetNumber":4495,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"nERISIncidentLatitude":36.0878500000000030922819860279560089111328125,"nERISIncidentLongitude":-85.549049999999994042809703387320041656494140625,"alarm":"2026-01-06 08:55:20","dispatched":"2026-01-06 08:56:32","enroute":"2026-01-06 08:56:32","onScene":"2026-01-06 08:56:32","incidentLocationCross":"AMBER MEADOWS RD\/NEWT RD","cADVehicleID":"EN13","timedispatch":"2026-01-06 08:56:32","timeenroutetoscene":"2026-01-06 08:56:32","timeonscene":"2026-01-06 08:56:32","policeReportNumber":"20260001766","incidentLocationCity":"COOKEVILLE","streetName":"ELLER RIDGE RD","incidentAddressTextVersionStreet":"4495 ELLER RIDGE RD","locationCoordinates":"36.08785,-85.54905"}
[2026-01-06 14:56:40] [INFO] Number of extracted fields: 23
[2026-01-06 14:56:40] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-06 14:56:40] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-06 14:56:40] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-06 14:56:40] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-06 14:56:40] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-06 14:56:40] [INFO] Fetched 14 stations from Stations module for agency 'Putnam County Fire Department': ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"]
[2026-01-06 14:56:40] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-06 14:56:40] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-06 14:56:40] [INFO] Found existing IncidentTypeMapping with ID: 69384adcd7833eaa3
[2026-01-06 14:56:48] [INFO] Created new Dispatches record with ID: 695d22a92dcf7085d
[2026-01-06 14:56:48] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001766_20260106_145639.XML
[2026-01-06 14:56:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001766_20260106_145639.XML
[2026-01-06 15:41:11] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001024.xml
[2026-01-06 15:41:11] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001024.xml for user: 69320e6a9e3e5ef71
[2026-01-06 15:41:11] [INFO] File size: 8870 bytes
[2026-01-06 15:41:11] [INFO] Created FTPFiles record with ID: 695d2d179904919bb
[2026-01-06 15:41:11] [WARNING] Warning: Failed to decode parsing rules JSON for mailbox ID: 69320e6a9e3e5ef71
[2026-01-06 15:41:11] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001024.xml
[2026-01-06 15:41:11] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/69320e6a9e3e5ef71/cfs_2026-001024.xml
[2026-01-06 16:41:30] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260001806_20260106_164130.XML
[2026-01-06 16:41:30] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260001806_20260106_164130.XML for user: 68f1466aed072ad4a
[2026-01-06 16:41:30] [INFO] File size: 5199 bytes
[2026-01-06 16:41:30] [INFO] Created FTPFiles record with ID: 695d3b3a7bbffcb1d
[2026-01-06 16:41:30] [INFO] About to extract fields from XML. File size: 5199 bytes
[2026-01-06 16:41:30] [INFO] Number of mappings: 28
[2026-01-06 16:41:30] [INFO] Starting XML parsing. Content length: 5199
[2026-01-06 16:41:30] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-06 16:41:30] [INFO] Processing 28 field mappings
[2026-01-06 16:41:30] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-06 16:41:30] [INFO] Found 2 elements for 'AgencyCode', using FIRST value only
[2026-01-06 16:41:30] [INFO]   -> Found value: AFD
[2026-01-06 16:41:30] [INFO]   -> Set field 'cADAgencyIdentifier' = "AFD"
[2026-01-06 16:41:30] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 16:41:30] [INFO] Found 2 elements for 'ReportNumber', using FIRST value only
[2026-01-06 16:41:30] [INFO]   -> Found value: 2026000004
[2026-01-06 16:41:30] [INFO]   -> Set field 'incidentInternalId' = "2026000004"
[2026-01-06 16:41:30] [INFO]   -> Set field 'dispatchRunNumber' = "2026000004"
[2026-01-06 16:41:30] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-06 16:41:30] [INFO]   -> Found value: FAINTING / SYNCOPE
[2026-01-06 16:41:30] [INFO]   -> Set field 'incidentTypeValue1' = "FAINTING \/ SYNCOPE"
[2026-01-06 16:41:30] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-06 16:41:30] [INFO]   -> Found value: 205
[2026-01-06 16:41:30] [INFO]   -> Set field 'incidentLocationStreetNumber' = 205
[2026-01-06 16:41:30] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-06 16:41:30] [INFO]   -> Found value: TN
[2026-01-06 16:41:30] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-06 16:41:30] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-06 16:41:30] [INFO]   -> Found value: 38506
[2026-01-06 16:41:30] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38506
[2026-01-06 16:41:30] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-06 16:41:30] [INFO]   -> Found value: HOPE CHURCH
[2026-01-06 16:41:30] [INFO]   -> Set field 'businessName' = "HOPE CHURCH"
[2026-01-06 16:41:30] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-06 16:41:30] [INFO]   -> Found value: 36.19187
[2026-01-06 16:41:30] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.19187000000000153931978275068104267120361328125
[2026-01-06 16:41:30] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-06 16:41:30] [INFO]   -> Found value: -85.45159
[2026-01-06 16:41:30] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.4515899999999959391061565838754177093505859375
[2026-01-06 16:41:30] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-06 16:41:30] [INFO]   -> Found value: 2026-01-06 10:40:38
[2026-01-06 16:41:30] [INFO]   -> Set field 'alarm' = "2026-01-06 10:40:38"
[2026-01-06 16:41:30] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-06 16:41:30] [INFO]   -> Found value: 2026-01-06 10:41:23
[2026-01-06 16:41:30] [INFO]   -> Set field 'dispatched' = "2026-01-06 10:41:23"
[2026-01-06 16:41:30] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-06 16:41:30] [INFO]   -> Found value: W MAIN ST/5TH AVE
[2026-01-06 16:41:30] [INFO]   -> Set field 'incidentLocationCross' = "W MAIN ST\/5TH AVE"
[2026-01-06 16:41:30] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-06 16:41:30] [INFO]   -> Found value: AFR
[2026-01-06 16:41:30] [INFO]   -> Set field 'cADVehicleID' = "AFR"
[2026-01-06 16:41:30] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-06 16:41:30] [INFO]   -> Found value: 2026-01-06 10:41:23
[2026-01-06 16:41:30] [INFO]   -> Set field 'timedispatch' = "2026-01-06 10:41:23"
[2026-01-06 16:41:30] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-06 16:41:30] [INFO]   -> No value found (null or empty)
[2026-01-06 16:41:30] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-06 16:41:30] [INFO] Found 2 elements for 'CadInciNumber', using FIRST value only
[2026-01-06 16:41:30] [INFO]   -> Found value: 20260001806
[2026-01-06 16:41:30] [INFO]   -> Set field 'policeReportNumber' = "20260001806"
[2026-01-06 16:41:30] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-06 16:41:30] [INFO]   -> Found value: [EMS] JASON YARBROUGH  [01/06/26 10:41:04 KBURTON] [EMS] CARDAIC HX  [01/06/26 10:40:54 KBURTON] Eve...
[2026-01-06 16:41:30] [INFO]   -> Set field 'dispatchNotes' = "[EMS] JASON YARBROUGH  [01\/06\/26 10:41:04 KBURTON] [EMS] CARDAIC HX  [01\/06\/26 10:40:54 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/06\/2026 10:40:38 KBURTON] PALE  SEIZURE LIKE ACTIVITY  MID 50S  [01\/06\/26 10:40:32 KBURTON]]"
[2026-01-06 16:41:30] [INFO]   -> Set field 'cADLog' = "[EMS] JASON YARBROUGH  [01\/06\/26 10:41:04 KBURTON] [EMS] CARDAIC HX  [01\/06\/26 10:40:54 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/06\/2026 10:40:38 KBURTON] PALE  SEIZURE LIKE ACTIVITY  MID 50S  [01\/06\/26 10:40:32 KBURTON]]"
[2026-01-06 16:41:30] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-06 16:41:30] [INFO]   -> Found value: ALGOOD
[2026-01-06 16:41:30] [INFO]   -> Set field 'incidentLocationCity' = "ALGOOD"
[2026-01-06 16:41:30] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-06 16:41:30] [INFO]   -> Found value: WALL
[2026-01-06 16:41:30] [INFO]   -> Set field 'streetName' = "WALL"
[2026-01-06 16:41:30] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-06 16:41:30] [INFO]   -> Found value: ST
[2026-01-06 16:41:30] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-06 16:41:30] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-06 16:41:30] [INFO]   -> Found value: 205 W WALL ST
[2026-01-06 16:41:30] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "205 W WALL ST"
[2026-01-06 16:41:30] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-06 16:41:30] [INFO] Concatenating street name and type
[2026-01-06 16:41:30] [INFO]   -> Combined street name: WALL ST
[2026-01-06 16:41:30] [INFO] Built locationCoordinates from lat/lng: 36.19187,-85.45159
[2026-01-06 16:41:30] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"AFD","incidentInternalId":"2026000004","dispatchRunNumber":"2026000004","incidentTypeValue1":"FAINTING \/ SYNCOPE","incidentLocationStreetNumber":205,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38506,"businessName":"HOPE CHURCH","nERISIncidentLatitude":36.19187000000000153931978275068104267120361328125,"nERISIncidentLongitude":-85.4515899999999959391061565838754177093505859375,"alarm":"2026-01-06 10:40:38","dispatched":"2026-01-06 10:41:23","incidentLocationCross":"W MAIN ST\/5TH AVE","cADVehicleID":"AFR","timedispatch":"2026-01-06 10:41:23","policeReportNumber":"20260001806","dispatchNotes":"[EMS] JASON YARBROUGH  [01\/06\/26 10:41:04 KBURTON] [EMS] CARDAIC HX  [01\/06\/26 10:40:54 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/06\/2026 10:40:38 KBURTON] PALE  SEIZURE LIKE ACTIVITY  MID 50S  [01\/06\/26 10:40:32 KBURTON]]","cADLog":"[EMS] JASON YARBROUGH  [01\/06\/26 10:41:04 KBURTON] [EMS] CARDAIC HX  [01\/06\/26 10:40:54 KBURTON] Event spawned from FAINTING \/ SYNCOPE.  [01\/06\/2026 10:40:38 KBURTON] PALE  SEIZURE LIKE ACTIVITY  MID 50S  [01\/06\/26 10:40:32 KBURTON]]","incidentLocationCity":"ALGOOD","streetName":"WALL ST","incidentAddressTextVersionStreet":"205 W WALL ST","locationCoordinates":"36.19187,-85.45159"}
[2026-01-06 16:41:30] [INFO] Number of extracted fields: 22
[2026-01-06 16:41:30] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'AFD'
[2026-01-06 16:41:30] [INFO] Multi-agency routing check: CAD Agency ID raw = 'AFD', Parsed IDs = ["AFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-06 16:41:30] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["AFD"]
[2026-01-06 16:41:30] [INFO] Attempting SAASClient lookup for AgencyCode 'AFD' (index 0) within mailbox's assigned agencies
[2026-01-06 16:41:30] [INFO] SUCCESS: Routed to agency 'Algood Fire Department' (ID: 68910627445d6e167) at INDEX 0 based on AgencyCode 'AFD'
[2026-01-06 16:41:30] [INFO] Fetched 1 stations from Stations module for agency 'Algood Fire Department': ["68922bda7fe89f7ff"]
[2026-01-06 16:41:30] [INFO] Final routing: saasclientId = 68910627445d6e167, dispatchStationsIds = ["68922bda7fe89f7ff"], matchedAgencyIndex = 0
[2026-01-06 16:41:30] [INFO] Updated FTPFiles record saasclientId to routed agency: 68910627445d6e167
[2026-01-06 16:41:31] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"FAINTING \/ SYNCOPE","saasclientId":"68910627445d6e167","name":"FAINTING \/ SYNCOPE"}
[2026-01-06 16:41:31] [INFO] Created new IncidentTypeMapping with ID: 695d3b3b48afa64b0
[2026-01-06 16:41:38] [INFO] Created new Dispatches record with ID: 695d3b3b939fc4333
[2026-01-06 16:41:38] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260001806_20260106_164130.XML
[2026-01-06 16:41:38] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/AFD_20260001806_20260106_164130.XML
[2026-01-06 17:54:44] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125441652.xml
[2026-01-06 17:54:44] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125441652.xml for user: 68920395733981a47
[2026-01-06 17:54:44] [INFO] File size: 4644 bytes
[2026-01-06 17:54:44] [INFO] Created FTPFiles record with ID: 695d4c645657399e1
[2026-01-06 17:54:44] [INFO] About to extract fields from XML. File size: 4644 bytes
[2026-01-06 17:54:44] [INFO] Number of mappings: 24
[2026-01-06 17:54:44] [INFO] Starting XML parsing. Content length: 4644
[2026-01-06 17:54:44] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 17:54:44] [INFO] Processing 24 field mappings
[2026-01-06 17:54:44] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 17:54:44] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 17:54:44] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 17:54:44] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 17:54:44] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 17:54:44] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 17:54:44] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:54:44] [INFO]   -> Found value: 37379
[2026-01-06 17:54:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 17:54:44] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:54:44] [INFO]   -> Found value: 1721
[2026-01-06 17:54:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 17:54:44] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 17:54:44] [INFO]   -> Found value: YAPHANK
[2026-01-06 17:54:44] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 17:54:44] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 17:54:44] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 17:54:44] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 17:54:44] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 17:54:44] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 17:54:44] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 17:54:44] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 17:54:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:44] [INFO]   -> Set field 'enroute' = null
[2026-01-06 17:54:44] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 17:54:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:44] [INFO]   -> Set field 'onScene' = null
[2026-01-06 17:54:44] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 17:54:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:44] [INFO]   -> Set field 'cleared' = null
[2026-01-06 17:54:44] [INFO]   -> Set field 'inService' = null
[2026-01-06 17:54:44] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 17:54:44] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 17:54:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 17:54:44] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 17:54:44] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 17:54:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 17:54:44] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 17:54:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:44] [INFO]   -> Set field 'dispatched' = null
[2026-01-06 17:54:44] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 17:54:44] [INFO]   -> Found value: RD
[2026-01-06 17:54:44] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 17:54:44] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 17:54:44] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 17:54:44] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 17:54:44] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 17:54:44] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 17:54:44] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:44] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 17:54:44] [INFO]   -> Found value: SFD
[2026-01-06 17:54:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 17:54:44] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-06 17:54:44] [INFO] Concatenating street name and type
[2026-01-06 17:54:44] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 17:54:44] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 17:54:44] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":null,"policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 17:54:44] [INFO] Number of extracted fields: 18
[2026-01-06 17:54:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 17:54:44] [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-01-06 17:54:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 17:54:44] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:54:44] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 17:54:44] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 17:54:44] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 17:54:45] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 17:54:45] [INFO] Created new IncidentTypeMapping Data: {"cADIncidentType":"FASCIT-Fire Assist Citizen","saasclientId":"681a1d681d6140e0c","name":"FASCIT-Fire Assist Citizen"}
[2026-01-06 17:54:45] [INFO] Created new IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 17:54:48] [INFO] Created new Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 17:54:48] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125441652.xml
[2026-01-06 17:54:48] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125441652.xml
[2026-01-06 17:54:51] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125451762.xml
[2026-01-06 17:54:51] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125451762.xml for user: 68920395733981a47
[2026-01-06 17:54:51] [INFO] File size: 4724 bytes
[2026-01-06 17:54:52] [INFO] Created FTPFiles record with ID: 695d4c6c28a49abaf
[2026-01-06 17:54:52] [INFO] About to extract fields from XML. File size: 4724 bytes
[2026-01-06 17:54:52] [INFO] Number of mappings: 24
[2026-01-06 17:54:52] [INFO] Starting XML parsing. Content length: 4724
[2026-01-06 17:54:52] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 17:54:52] [INFO] Processing 24 field mappings
[2026-01-06 17:54:52] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 17:54:52] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 17:54:52] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 17:54:52] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 17:54:52] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 17:54:52] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 17:54:52] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:54:52] [INFO]   -> Found value: 37379
[2026-01-06 17:54:52] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 17:54:52] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:54:52] [INFO]   -> Found value: 1721
[2026-01-06 17:54:52] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 17:54:52] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 17:54:52] [INFO]   -> Found value: YAPHANK
[2026-01-06 17:54:52] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 17:54:52] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 17:54:52] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 17:54:52] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 17:54:52] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 17:54:52] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 17:54:52] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 17:54:52] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 17:54:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:52] [INFO]   -> Set field 'enroute' = null
[2026-01-06 17:54:52] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 17:54:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:52] [INFO]   -> Set field 'onScene' = null
[2026-01-06 17:54:52] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 17:54:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:52] [INFO]   -> Set field 'cleared' = null
[2026-01-06 17:54:52] [INFO]   -> Set field 'inService' = null
[2026-01-06 17:54:52] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 17:54:52] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 17:54:52] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 17:54:52] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 17:54:52] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 17:54:52] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 17:54:52] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 17:54:52] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:54:52] [INFO]   -> Set field 'dispatched' = null
[2026-01-06 17:54:52] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 17:54:52] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:52] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 17:54:52] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:52] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 17:54:52] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:52] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 17:54:52] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:52] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 17:54:52] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:52] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 17:54:52] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:52] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 17:54:52] [INFO]   -> Found value: RD
[2026-01-06 17:54:52] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 17:54:52] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:54:52] [INFO]   -> No value found (null or empty)
[2026-01-06 17:54:52] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 17:54:52] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 17:54:52] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 17:54:52] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 17:54:52] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 17:54:52] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
[2026-01-06 17:54:52] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5"
[2026-01-06 17:54:52] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5"
[2026-01-06 17:54:52] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 17:54:52] [INFO]   -> Found value: SFD
[2026-01-06 17:54:52] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 17:54:52] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-06 17:54:52] [INFO] Concatenating street name and type
[2026-01-06 17:54:52] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 17:54:52] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 17:54:52] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":null,"policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 17:54:52] [INFO] Number of extracted fields: 20
[2026-01-06 17:54:52] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 17:54:52] [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-01-06 17:54:52] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 17:54:52] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:54:52] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 17:54:52] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 17:54:52] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 17:54:52] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 17:54:52] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 17:54:53] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 17:54:53] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 17:54:53] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125451762.xml
[2026-01-06 17:54:53] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125451762.xml
[2026-01-06 17:55:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125501856.xml
[2026-01-06 17:55:01] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125501856.xml for user: 68920395733981a47
[2026-01-06 17:55:01] [INFO] File size: 4845 bytes
[2026-01-06 17:55:02] [INFO] Created FTPFiles record with ID: 695d4c76480ef8bb9
[2026-01-06 17:55:02] [INFO] About to extract fields from XML. File size: 4845 bytes
[2026-01-06 17:55:02] [INFO] Number of mappings: 24
[2026-01-06 17:55:02] [INFO] Starting XML parsing. Content length: 4845
[2026-01-06 17:55:02] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 17:55:02] [INFO] Processing 24 field mappings
[2026-01-06 17:55:02] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 17:55:02] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 17:55:02] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 17:55:02] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 17:55:02] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 17:55:02] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 17:55:02] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:55:02] [INFO]   -> Found value: 37379
[2026-01-06 17:55:02] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 17:55:02] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:55:02] [INFO]   -> Found value: 1721
[2026-01-06 17:55:02] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 17:55:02] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 17:55:02] [INFO]   -> Found value: YAPHANK
[2026-01-06 17:55:02] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 17:55:02] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 17:55:02] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 17:55:02] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 17:55:02] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 17:55:02] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 17:55:02] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 17:55:02] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 17:55:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:02] [INFO]   -> Set field 'enroute' = null
[2026-01-06 17:55:02] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 17:55:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:02] [INFO]   -> Set field 'onScene' = null
[2026-01-06 17:55:02] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 17:55:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:02] [INFO]   -> Set field 'cleared' = null
[2026-01-06 17:55:02] [INFO]   -> Set field 'inService' = null
[2026-01-06 17:55:02] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 17:55:02] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 17:55:02] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 17:55:02] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 17:55:02] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 17:55:02] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 17:55:02] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 17:55:02] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:02] [INFO]   -> Set field 'dispatched' = null
[2026-01-06 17:55:02] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 17:55:02] [INFO]   -> No value found (null or empty)
[2026-01-06 17:55:02] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 17:55:02] [INFO]   -> No value found (null or empty)
[2026-01-06 17:55:02] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 17:55:02] [INFO]   -> No value found (null or empty)
[2026-01-06 17:55:02] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 17:55:02] [INFO]   -> No value found (null or empty)
[2026-01-06 17:55:02] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 17:55:02] [INFO]   -> No value found (null or empty)
[2026-01-06 17:55:02] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 17:55:02] [INFO]   -> No value found (null or empty)
[2026-01-06 17:55:02] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 17:55:02] [INFO]   -> Found value: RD
[2026-01-06 17:55:02] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 17:55:02] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:55:02] [INFO]   -> No value found (null or empty)
[2026-01-06 17:55:02] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 17:55:02] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 17:55:02] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 17:55:02] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 17:55:02] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 17:55:02] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 17:55:02] [INFO] Found 2 elements for 'Comment', concatenating 2 non-empty values
[2026-01-06 17:55:02] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 17:55:02] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP"
[2026-01-06 17:55:02] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP"
[2026-01-06 17:55:02] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 17:55:02] [INFO]   -> Found value: SFD
[2026-01-06 17:55:02] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 17:55:02] [INFO] Finished extracting fields. Total fields extracted: 20
[2026-01-06 17:55:02] [INFO] Concatenating street name and type
[2026-01-06 17:55:02] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 17:55:02] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 17:55:02] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":null,"policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 17:55:02] [INFO] Number of extracted fields: 20
[2026-01-06 17:55:02] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 17:55:02] [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-01-06 17:55:02] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 17:55:02] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:55:02] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 17:55:02] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 17:55:02] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 17:55:02] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 17:55:02] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 17:55:03] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 17:55:03] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 17:55:03] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125501856.xml
[2026-01-06 17:55:03] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125501856.xml
[2026-01-06 17:55:22] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125522013.xml
[2026-01-06 17:55:22] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125522013.xml for user: 68920395733981a47
[2026-01-06 17:55:22] [INFO] File size: 7896 bytes
[2026-01-06 17:55:22] [INFO] Created FTPFiles record with ID: 695d4c8a6e3cdb3a5
[2026-01-06 17:55:22] [INFO] About to extract fields from XML. File size: 7896 bytes
[2026-01-06 17:55:22] [INFO] Number of mappings: 24
[2026-01-06 17:55:22] [INFO] Starting XML parsing. Content length: 7896
[2026-01-06 17:55:22] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 17:55:22] [INFO] Processing 24 field mappings
[2026-01-06 17:55:22] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 17:55:22] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 17:55:22] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 17:55:22] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 17:55:22] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 17:55:22] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 17:55:22] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:55:22] [INFO]   -> Found value: 37379
[2026-01-06 17:55:22] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 17:55:22] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:55:22] [INFO]   -> Found value: 1721
[2026-01-06 17:55:22] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 17:55:22] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 17:55:22] [INFO]   -> Found value: YAPHANK
[2026-01-06 17:55:22] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 17:55:22] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 17:55:22] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 17:55:22] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 17:55:22] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 17:55:22] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 17:55:22] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 17:55:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'enroute' = null
[2026-01-06 17:55:22] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 17:55:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'onScene' = null
[2026-01-06 17:55:22] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 17:55:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'cleared' = null
[2026-01-06 17:55:22] [INFO]   -> Set field 'inService' = null
[2026-01-06 17:55:22] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 17:55:22] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 17:55:22] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 17:55:22] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 17:55:22] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 17:55:22] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 17:55:22] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 17:55:22] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 17:55:22] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 17:55:22] [INFO]   -> Found value: H1700
[2026-01-06 17:55:22] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-01-06 17:55:22] [INFO]   -> Set field 'name' = "H1700"
[2026-01-06 17:55:22] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 17:55:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-06 17:55:22] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 17:55:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'timeonscene' = null
[2026-01-06 17:55:22] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 17:55:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 17:55:22] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 17:55:22] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-06 17:55:22] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 17:55:22] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 17:55:22] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:55:19"
[2026-01-06 17:55:22] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 17:55:22] [INFO]   -> Found value: RD
[2026-01-06 17:55:22] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 17:55:22] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:55:22] [INFO]   -> Found value: 26-000001
[2026-01-06 17:55:22] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 17:55:22] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 17:55:22] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 17:55:22] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 17:55:22] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 17:55:22] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 17:55:22] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 17:55:22] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 17:55:22] [INFO] Found 3 elements for 'Comment', concatenating 3 non-empty values
[2026-01-06 17:55:22] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 17:55:22] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700."
[2026-01-06 17:55:22] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700."
[2026-01-06 17:55:22] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 17:55:22] [INFO]   -> Found value: SFD
[2026-01-06 17:55:22] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 17:55:22] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 17:55:22] [INFO] Concatenating street name and type
[2026-01-06 17:55:22] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 17:55:22] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 17:55:22] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-06 17:55:19","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 17:55:22] [INFO] Number of extracted fields: 29
[2026-01-06 17:55:22] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 17:55:22] [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-01-06 17:55:22] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 17:55:22] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:55:24] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 17:55:25] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 17:55:25] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 17:55:25] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 17:55:26] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 17:55:26] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 17:55:27] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 17:55:27] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125522013.xml
[2026-01-06 17:55:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125522013.xml
[2026-01-06 17:56:07] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125607513.xml
[2026-01-06 17:56:07] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125607513.xml for user: 68920395733981a47
[2026-01-06 17:56:07] [INFO] File size: 8070 bytes
[2026-01-06 17:56:07] [INFO] Created FTPFiles record with ID: 695d4cb7ebfbcd952
[2026-01-06 17:56:07] [INFO] About to extract fields from XML. File size: 8070 bytes
[2026-01-06 17:56:07] [INFO] Number of mappings: 24
[2026-01-06 17:56:07] [INFO] Starting XML parsing. Content length: 8070
[2026-01-06 17:56:07] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 17:56:07] [INFO] Processing 24 field mappings
[2026-01-06 17:56:07] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 17:56:07] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 17:56:07] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 17:56:07] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 17:56:07] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 17:56:07] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 17:56:07] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:56:07] [INFO]   -> Found value: 37379
[2026-01-06 17:56:07] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 17:56:07] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:56:07] [INFO]   -> Found value: 1721
[2026-01-06 17:56:07] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 17:56:07] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 17:56:07] [INFO]   -> Found value: YAPHANK
[2026-01-06 17:56:07] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 17:56:07] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 17:56:07] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 17:56:07] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 17:56:07] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 17:56:07] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 17:56:07] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 17:56:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'enroute' = null
[2026-01-06 17:56:07] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 17:56:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'onScene' = null
[2026-01-06 17:56:07] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 17:56:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'cleared' = null
[2026-01-06 17:56:07] [INFO]   -> Set field 'inService' = null
[2026-01-06 17:56:07] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 17:56:07] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 17:56:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 17:56:07] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 17:56:07] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 17:56:07] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 17:56:07] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 17:56:07] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 17:56:07] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 17:56:07] [INFO]   -> Found value: H1700
[2026-01-06 17:56:07] [INFO]   -> Set field 'cADVehicleID' = "H1700"
[2026-01-06 17:56:07] [INFO]   -> Set field 'name' = "H1700"
[2026-01-06 17:56:07] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 17:56:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-06 17:56:07] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 17:56:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'timeonscene' = null
[2026-01-06 17:56:07] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 17:56:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 17:56:07] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 17:56:07] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'timeenroutetoscene' = null
[2026-01-06 17:56:07] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 17:56:07] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 17:56:07] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:55:19"
[2026-01-06 17:56:07] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 17:56:07] [INFO]   -> Found value: RD
[2026-01-06 17:56:07] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 17:56:07] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:56:07] [INFO]   -> Found value: 26-000001
[2026-01-06 17:56:07] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 17:56:07] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 17:56:07] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 17:56:07] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 17:56:07] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 17:56:07] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 17:56:07] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 17:56:07] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 17:56:07] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-06 17:56:07] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 17:56:07] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 17:56:07] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 17:56:07] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 17:56:07] [INFO]   -> Found value: SFD
[2026-01-06 17:56:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 17:56:07] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 17:56:07] [INFO] Concatenating street name and type
[2026-01-06 17:56:07] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 17:56:07] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 17:56:07] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":null,"onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"H1700","name":"H1700","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":null,"timedispatch":"2026-01-06 17:55:19","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 17:56:07] [INFO] Number of extracted fields: 29
[2026-01-06 17:56:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 17:56:07] [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-01-06 17:56:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 17:56:07] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:56:08] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 17:56:08] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 17:56:08] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 17:56:08] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 17:56:08] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 17:56:08] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 17:56:09] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 17:56:09] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125607513.xml
[2026-01-06 17:56:09] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125607513.xml
[2026-01-06 17:57:43] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125743434.xml
[2026-01-06 17:57:43] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125743434.xml for user: 68920395733981a47
[2026-01-06 17:57:43] [INFO] File size: 10670 bytes
[2026-01-06 17:57:44] [INFO] Created FTPFiles record with ID: 695d4d1801c7e79d6
[2026-01-06 17:57:44] [INFO] About to extract fields from XML. File size: 10670 bytes
[2026-01-06 17:57:44] [INFO] Number of mappings: 24
[2026-01-06 17:57:44] [INFO] Starting XML parsing. Content length: 10670
[2026-01-06 17:57:44] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 17:57:44] [INFO] Processing 24 field mappings
[2026-01-06 17:57:44] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 17:57:44] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 17:57:44] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 17:57:44] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 17:57:44] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 17:57:44] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 17:57:44] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:57:44] [INFO]   -> Found value: 37379
[2026-01-06 17:57:44] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 17:57:44] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:57:44] [INFO]   -> Found value: 1721
[2026-01-06 17:57:44] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 17:57:44] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 17:57:44] [INFO]   -> Found value: YAPHANK
[2026-01-06 17:57:44] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 17:57:44] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 17:57:44] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 17:57:44] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 17:57:44] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 17:57:44] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 17:57:44] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 17:57:44] [INFO]   -> Found value: 2026-01-06T12:57:40.87-05:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'enroute' = "2026-01-06 17:57:40"
[2026-01-06 17:57:44] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 17:57:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'onScene' = null
[2026-01-06 17:57:44] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 17:57:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'cleared' = null
[2026-01-06 17:57:44] [INFO]   -> Set field 'inService' = null
[2026-01-06 17:57:44] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 17:57:44] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 17:57:44] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 17:57:44] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 17:57:44] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 17:57:44] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 17:57:44] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 17:57:44] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 17:57:44] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 17:57:44] [INFO]   -> Found value: S1SF
[2026-01-06 17:57:44] [INFO]   -> Set field 'cADVehicleID' = "S1SF"
[2026-01-06 17:57:44] [INFO]   -> Set field 'name' = "S1SF"
[2026-01-06 17:57:44] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 17:57:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-06 17:57:44] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 17:57:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'timeonscene' = null
[2026-01-06 17:57:44] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 17:57:44] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 17:57:44] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 17:57:44] [INFO]   -> Found value: 2026-01-06T12:57:40.87-05:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-06 17:57:40"
[2026-01-06 17:57:44] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 17:57:44] [INFO]   -> Found value: 2026-01-06T12:57:40.697-05:00
[2026-01-06 17:57:44] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:57:40"
[2026-01-06 17:57:44] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 17:57:44] [INFO]   -> Found value: RD
[2026-01-06 17:57:44] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 17:57:44] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:57:44] [INFO]   -> Found value: 26-000001
[2026-01-06 17:57:44] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 17:57:44] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 17:57:44] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 17:57:44] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 17:57:44] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 17:57:44] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 17:57:44] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 17:57:44] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 17:57:44] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-06 17:57:44] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 17:57:44] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 17:57:44] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 17:57:44] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 17:57:44] [INFO]   -> Found value: SFD
[2026-01-06 17:57:44] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 17:57:44] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 17:57:44] [INFO] Concatenating street name and type
[2026-01-06 17:57:44] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 17:57:44] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 17:57:44] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":"2026-01-06 17:57:40","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"S1SF","name":"S1SF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-06 17:57:40","timedispatch":"2026-01-06 17:57:40","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 17:57:44] [INFO] Number of extracted fields: 29
[2026-01-06 17:57:44] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 17:57:44] [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-01-06 17:57:44] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 17:57:44] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:57:44] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 17:57:44] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 17:57:44] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 17:57:44] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 17:57:44] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 17:57:44] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 17:57:44] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 17:57:44] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125743434.xml
[2026-01-06 17:57:44] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125743434.xml
[2026-01-06 17:59:14] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125914530.xml
[2026-01-06 17:59:14] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125914530.xml for user: 68920395733981a47
[2026-01-06 17:59:14] [INFO] File size: 13180 bytes
[2026-01-06 17:59:15] [INFO] Created FTPFiles record with ID: 695d4d731776168a2
[2026-01-06 17:59:15] [INFO] About to extract fields from XML. File size: 13180 bytes
[2026-01-06 17:59:15] [INFO] Number of mappings: 24
[2026-01-06 17:59:15] [INFO] Starting XML parsing. Content length: 13180
[2026-01-06 17:59:15] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 17:59:15] [INFO] Processing 24 field mappings
[2026-01-06 17:59:15] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 17:59:15] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 17:59:15] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 17:59:15] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 17:59:15] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 17:59:15] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 17:59:15] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:59:15] [INFO]   -> Found value: 37379
[2026-01-06 17:59:15] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 17:59:15] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:59:15] [INFO]   -> Found value: 1721
[2026-01-06 17:59:15] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 17:59:15] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 17:59:15] [INFO]   -> Found value: YAPHANK
[2026-01-06 17:59:15] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 17:59:15] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 17:59:15] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 17:59:15] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 17:59:15] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 17:59:15] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 17:59:15] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 17:59:15] [INFO]   -> Found value: 2026-01-06T12:57:40.87-05:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'enroute' = "2026-01-06 17:57:40"
[2026-01-06 17:59:15] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 17:59:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'onScene' = null
[2026-01-06 17:59:15] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 17:59:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'cleared' = null
[2026-01-06 17:59:15] [INFO]   -> Set field 'inService' = null
[2026-01-06 17:59:15] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 17:59:15] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 17:59:15] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 17:59:15] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 17:59:15] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 17:59:15] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 17:59:15] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 17:59:15] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 17:59:15] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 17:59:15] [INFO]   -> Found value: C1SF
[2026-01-06 17:59:15] [INFO]   -> Set field 'cADVehicleID' = "C1SF"
[2026-01-06 17:59:15] [INFO]   -> Set field 'name' = "C1SF"
[2026-01-06 17:59:15] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 17:59:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-06 17:59:15] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 17:59:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'timeonscene' = null
[2026-01-06 17:59:15] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 17:59:15] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 17:59:15] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 17:59:15] [INFO]   -> Found value: 2026-01-06T12:59:10.233-05:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-06 17:59:10"
[2026-01-06 17:59:15] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 17:59:15] [INFO]   -> Found value: 2026-01-06T12:59:10.217-05:00
[2026-01-06 17:59:15] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:59:10"
[2026-01-06 17:59:15] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 17:59:15] [INFO]   -> Found value: RD
[2026-01-06 17:59:15] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 17:59:15] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:59:15] [INFO]   -> Found value: 26-000001
[2026-01-06 17:59:15] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 17:59:15] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 17:59:15] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 17:59:15] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 17:59:15] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 17:59:15] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 17:59:15] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 17:59:15] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 17:59:15] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-06 17:59:15] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 17:59:15] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 17:59:15] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 17:59:15] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 17:59:15] [INFO]   -> Found value: SFD
[2026-01-06 17:59:15] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 17:59:15] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 17:59:15] [INFO] Concatenating street name and type
[2026-01-06 17:59:15] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 17:59:15] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 17:59:15] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":"2026-01-06 17:57:40","onScene":null,"cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"C1SF","name":"C1SF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-06 17:59:10","timedispatch":"2026-01-06 17:59:10","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 17:59:15] [INFO] Number of extracted fields: 29
[2026-01-06 17:59:15] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 17:59:15] [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-01-06 17:59:15] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 17:59:15] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:59:15] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 17:59:15] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 17:59:15] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 17:59:15] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 17:59:15] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 17:59:15] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 17:59:16] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 17:59:16] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125914530.xml
[2026-01-06 17:59:16] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106125914530.xml
[2026-01-06 17:59:39] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001854_20260106_175939.XML
[2026-01-06 17:59:39] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001854_20260106_175939.XML for user: 68f1466aed072ad4a
[2026-01-06 17:59:39] [INFO] File size: 4785 bytes
[2026-01-06 17:59:39] [INFO] Created FTPFiles record with ID: 695d4d8bbd18bf3d1
[2026-01-06 17:59:39] [INFO] About to extract fields from XML. File size: 4785 bytes
[2026-01-06 17:59:39] [INFO] Number of mappings: 28
[2026-01-06 17:59:39] [INFO] Starting XML parsing. Content length: 4785
[2026-01-06 17:59:39] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-06 17:59:39] [INFO] Processing 28 field mappings
[2026-01-06 17:59:39] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-06 17:59:39] [INFO]   -> Found value: BFD
[2026-01-06 17:59:39] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-01-06 17:59:39] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 17:59:39] [INFO]   -> Found value: 2026000007
[2026-01-06 17:59:39] [INFO]   -> Set field 'incidentInternalId' = "2026000007"
[2026-01-06 17:59:39] [INFO]   -> Set field 'dispatchRunNumber' = "2026000007"
[2026-01-06 17:59:39] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-06 17:59:39] [INFO]   -> Found value: FIRE ALARM
[2026-01-06 17:59:39] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-01-06 17:59:39] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-06 17:59:39] [INFO]   -> Found value: 200
[2026-01-06 17:59:39] [INFO]   -> Set field 'incidentLocationStreetNumber' = 200
[2026-01-06 17:59:39] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-06 17:59:39] [INFO]   -> Found value: TN
[2026-01-06 17:59:39] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-06 17:59:39] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-06 17:59:39] [INFO]   -> Found value: 38544
[2026-01-06 17:59:39] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-06 17:59:39] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-06 17:59:39] [INFO]   -> Found value: BAXTER CITY HALL
[2026-01-06 17:59:39] [INFO]   -> Set field 'businessName' = "BAXTER CITY HALL"
[2026-01-06 17:59:39] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-06 17:59:39] [INFO]   -> Found value: 36.15464
[2026-01-06 17:59:39] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.154640000000000554791768081486225128173828125
[2026-01-06 17:59:39] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-06 17:59:39] [INFO]   -> Found value: -85.64256
[2026-01-06 17:59:39] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.642560000000003128661774098873138427734375
[2026-01-06 17:59:39] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-06 17:59:39] [INFO]   -> Found value: 2026-01-06 11:58:21
[2026-01-06 17:59:39] [INFO]   -> Set field 'alarm' = "2026-01-06 11:58:21"
[2026-01-06 17:59:39] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-06 17:59:39] [INFO]   -> Found value: 2026-01-06 11:59:32
[2026-01-06 17:59:39] [INFO]   -> Set field 'dispatched' = "2026-01-06 11:59:32"
[2026-01-06 17:59:39] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-06 17:59:39] [INFO]   -> Found value: /THIRD AVE N
[2026-01-06 17:59:39] [INFO]   -> Set field 'incidentLocationCross' = "\/THIRD AVE N"
[2026-01-06 17:59:39] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-06 17:59:39] [INFO]   -> Found value: BEN2
[2026-01-06 17:59:39] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-01-06 17:59:39] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-06 17:59:39] [INFO]   -> Found value: 2026-01-06 11:59:32
[2026-01-06 17:59:39] [INFO]   -> Set field 'timedispatch' = "2026-01-06 11:59:32"
[2026-01-06 17:59:39] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-06 17:59:39] [INFO]   -> No value found (null or empty)
[2026-01-06 17:59:39] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-06 17:59:39] [INFO]   -> Found value: 20260001854
[2026-01-06 17:59:39] [INFO]   -> Set field 'policeReportNumber' = "20260001854"
[2026-01-06 17:59:39] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-06 17:59:39] [INFO]   -> Found value: KH -JOHN RAMSEY 931-260-8153  [01/06/26 11:59:13 MCLAYBURN2] CLERK OFFICE SMOKE  [01/06/26 11:58:39 ...
[2026-01-06 17:59:39] [INFO]   -> Set field 'dispatchNotes' = "KH -JOHN RAMSEY 931-260-8153  [01\/06\/26 11:59:13 MCLAYBURN2] CLERK OFFICE SMOKE  [01\/06\/26 11:58:39 MCLAYBURN2]]"
[2026-01-06 17:59:39] [INFO]   -> Set field 'cADLog' = "KH -JOHN RAMSEY 931-260-8153  [01\/06\/26 11:59:13 MCLAYBURN2] CLERK OFFICE SMOKE  [01\/06\/26 11:58:39 MCLAYBURN2]]"
[2026-01-06 17:59:39] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-06 17:59:39] [INFO]   -> Found value: BAXTER
[2026-01-06 17:59:39] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-06 17:59:39] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-06 17:59:39] [INFO]   -> Found value: MAIN
[2026-01-06 17:59:39] [INFO]   -> Set field 'streetName' = "MAIN"
[2026-01-06 17:59:39] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-06 17:59:39] [INFO]   -> Found value: ST
[2026-01-06 17:59:39] [INFO]   -> Set field 'streetType' = "ST"
[2026-01-06 17:59:39] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-06 17:59:39] [INFO]   -> Found value: 200 MAIN ST
[2026-01-06 17:59:39] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "200 MAIN ST"
[2026-01-06 17:59:39] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-06 17:59:39] [INFO] Concatenating street name and type
[2026-01-06 17:59:39] [INFO]   -> Combined street name: MAIN ST
[2026-01-06 17:59:39] [INFO] Built locationCoordinates from lat/lng: 36.15464,-85.64256
[2026-01-06 17:59:39] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000007","dispatchRunNumber":"2026000007","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":200,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"BAXTER CITY HALL","nERISIncidentLatitude":36.154640000000000554791768081486225128173828125,"nERISIncidentLongitude":-85.642560000000003128661774098873138427734375,"alarm":"2026-01-06 11:58:21","dispatched":"2026-01-06 11:59:32","incidentLocationCross":"\/THIRD AVE N","cADVehicleID":"BEN2","timedispatch":"2026-01-06 11:59:32","policeReportNumber":"20260001854","dispatchNotes":"KH -JOHN RAMSEY 931-260-8153  [01\/06\/26 11:59:13 MCLAYBURN2] CLERK OFFICE SMOKE  [01\/06\/26 11:58:39 MCLAYBURN2]]","cADLog":"KH -JOHN RAMSEY 931-260-8153  [01\/06\/26 11:59:13 MCLAYBURN2] CLERK OFFICE SMOKE  [01\/06\/26 11:58:39 MCLAYBURN2]]","incidentLocationCity":"BAXTER","streetName":"MAIN ST","incidentAddressTextVersionStreet":"200 MAIN ST","locationCoordinates":"36.15464,-85.64256"}
[2026-01-06 17:59:39] [INFO] Number of extracted fields: 22
[2026-01-06 17:59:39] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-01-06 17:59:39] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-06 17:59:39] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-01-06 17:59:39] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-01-06 17:59:39] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-01-06 17:59:40] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-01-06 17:59:40] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-01-06 17:59:40] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-01-06 17:59:40] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-01-06 17:59:43] [INFO] Created new Dispatches record with ID: 695d4d8cb9bc4059f
[2026-01-06 17:59:43] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001854_20260106_175939.XML
[2026-01-06 17:59:43] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001854_20260106_175939.XML
[2026-01-06 18:03:32] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130332540.xml
[2026-01-06 18:03:32] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130332540.xml for user: 68920395733981a47
[2026-01-06 18:03:32] [INFO] File size: 13326 bytes
[2026-01-06 18:03:33] [INFO] Created FTPFiles record with ID: 695d4e7541f67a8ae
[2026-01-06 18:03:33] [INFO] About to extract fields from XML. File size: 13326 bytes
[2026-01-06 18:03:33] [INFO] Number of mappings: 24
[2026-01-06 18:03:33] [INFO] Starting XML parsing. Content length: 13326
[2026-01-06 18:03:33] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 18:03:33] [INFO] Processing 24 field mappings
[2026-01-06 18:03:33] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 18:03:33] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 18:03:33] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 18:03:33] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 18:03:33] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 18:03:33] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 18:03:33] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 18:03:33] [INFO]   -> Found value: 37379
[2026-01-06 18:03:33] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 18:03:33] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 18:03:33] [INFO]   -> Found value: 1721
[2026-01-06 18:03:33] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 18:03:33] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 18:03:33] [INFO]   -> Found value: YAPHANK
[2026-01-06 18:03:33] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 18:03:33] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 18:03:33] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 18:03:33] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 18:03:33] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 18:03:33] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 18:03:33] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 18:03:33] [INFO]   -> Found value: 2026-01-06T12:57:40.87-05:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'enroute' = "2026-01-06 17:57:40"
[2026-01-06 18:03:33] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 18:03:33] [INFO]   -> Found value: 2026-01-06T13:03:32.33-05:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'onScene' = "2026-01-06 18:03:32"
[2026-01-06 18:03:33] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 18:03:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'cleared' = null
[2026-01-06 18:03:33] [INFO]   -> Set field 'inService' = null
[2026-01-06 18:03:33] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 18:03:33] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 18:03:33] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 18:03:33] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 18:03:33] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 18:03:33] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 18:03:33] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 18:03:33] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 18:03:33] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 18:03:33] [INFO]   -> Found value: C1SF
[2026-01-06 18:03:33] [INFO]   -> Set field 'cADVehicleID' = "C1SF"
[2026-01-06 18:03:33] [INFO]   -> Set field 'name' = "C1SF"
[2026-01-06 18:03:33] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 18:03:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-06 18:03:33] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 18:03:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'timeonscene' = null
[2026-01-06 18:03:33] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 18:03:33] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 18:03:33] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 18:03:33] [INFO]   -> Found value: 2026-01-06T12:59:10.233-05:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-06 17:59:10"
[2026-01-06 18:03:33] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 18:03:33] [INFO]   -> Found value: 2026-01-06T12:59:10.217-05:00
[2026-01-06 18:03:33] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:59:10"
[2026-01-06 18:03:33] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 18:03:33] [INFO]   -> Found value: RD
[2026-01-06 18:03:33] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 18:03:33] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 18:03:33] [INFO]   -> Found value: 26-000001
[2026-01-06 18:03:33] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 18:03:33] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 18:03:33] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 18:03:33] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 18:03:33] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 18:03:33] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 18:03:33] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 18:03:33] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 18:03:33] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-06 18:03:33] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 18:03:33] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:03:33] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:03:33] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 18:03:33] [INFO]   -> Found value: SFD
[2026-01-06 18:03:33] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 18:03:33] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 18:03:33] [INFO] Concatenating street name and type
[2026-01-06 18:03:33] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 18:03:33] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 18:03:33] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":"2026-01-06 17:57:40","onScene":"2026-01-06 18:03:32","cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"C1SF","name":"C1SF","timeunitclear":null,"timeonscene":null,"timestaging":null,"timeenroutetoscene":"2026-01-06 17:59:10","timedispatch":"2026-01-06 17:59:10","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 18:03:33] [INFO] Number of extracted fields: 29
[2026-01-06 18:03:33] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 18:03:33] [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-01-06 18:03:33] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 18:03:33] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 18:03:33] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 18:03:33] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 18:03:33] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 18:03:33] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 18:03:34] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 18:03:34] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 18:03:34] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 18:03:34] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130332540.xml
[2026-01-06 18:03:34] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130332540.xml
[2026-01-06 18:04:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130438405.xml
[2026-01-06 18:04:38] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130438405.xml for user: 68920395733981a47
[2026-01-06 18:04:38] [INFO] File size: 13400 bytes
[2026-01-06 18:04:38] [INFO] Created FTPFiles record with ID: 695d4eb6c54ebdf87
[2026-01-06 18:04:38] [INFO] About to extract fields from XML. File size: 13400 bytes
[2026-01-06 18:04:38] [INFO] Number of mappings: 24
[2026-01-06 18:04:38] [INFO] Starting XML parsing. Content length: 13400
[2026-01-06 18:04:38] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 18:04:38] [INFO] Processing 24 field mappings
[2026-01-06 18:04:38] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 18:04:38] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 18:04:38] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 18:04:38] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 18:04:38] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 18:04:38] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 18:04:38] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 18:04:38] [INFO]   -> Found value: 37379
[2026-01-06 18:04:38] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 18:04:38] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 18:04:38] [INFO]   -> Found value: 1721
[2026-01-06 18:04:38] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 18:04:38] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 18:04:38] [INFO]   -> Found value: YAPHANK
[2026-01-06 18:04:38] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 18:04:38] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 18:04:38] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 18:04:38] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 18:04:38] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 18:04:38] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-06T12:57:40.87-05:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'enroute' = "2026-01-06 17:57:40"
[2026-01-06 18:04:38] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-06T13:03:32.33-05:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'onScene' = "2026-01-06 18:03:32"
[2026-01-06 18:04:38] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 18:04:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'cleared' = null
[2026-01-06 18:04:38] [INFO]   -> Set field 'inService' = null
[2026-01-06 18:04:38] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 18:04:38] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 18:04:38] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 18:04:38] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 18:04:38] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 18:04:38] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 18:04:38] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 18:04:38] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 18:04:38] [INFO]   -> Found value: C1SF
[2026-01-06 18:04:38] [INFO]   -> Set field 'cADVehicleID' = "C1SF"
[2026-01-06 18:04:38] [INFO]   -> Set field 'name' = "C1SF"
[2026-01-06 18:04:38] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 18:04:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-06 18:04:38] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-06T13:04:38.127-05:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'timeonscene' = "2026-01-06 18:04:38"
[2026-01-06 18:04:38] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 18:04:38] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 18:04:38] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-06T12:59:10.233-05:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-06 17:59:10"
[2026-01-06 18:04:38] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-06T12:59:10.217-05:00
[2026-01-06 18:04:38] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:59:10"
[2026-01-06 18:04:38] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 18:04:38] [INFO]   -> Found value: RD
[2026-01-06 18:04:38] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 18:04:38] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 18:04:38] [INFO]   -> Found value: 26-000001
[2026-01-06 18:04:38] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 18:04:38] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 18:04:38] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 18:04:38] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 18:04:38] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 18:04:38] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 18:04:38] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 18:04:38] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 18:04:38] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-06 18:04:38] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 18:04:38] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:04:38] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:04:38] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 18:04:38] [INFO]   -> Found value: SFD
[2026-01-06 18:04:38] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 18:04:38] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 18:04:38] [INFO] Concatenating street name and type
[2026-01-06 18:04:38] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 18:04:38] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 18:04:38] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":"2026-01-06 17:57:40","onScene":"2026-01-06 18:03:32","cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"C1SF","name":"C1SF","timeunitclear":null,"timeonscene":"2026-01-06 18:04:38","timestaging":null,"timeenroutetoscene":"2026-01-06 17:59:10","timedispatch":"2026-01-06 17:59:10","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 18:04:38] [INFO] Number of extracted fields: 29
[2026-01-06 18:04:38] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 18:04:38] [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-01-06 18:04:38] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 18:04:38] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 18:04:38] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 18:04:39] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 18:04:39] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 18:04:39] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 18:04:39] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 18:04:39] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 18:04:39] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 18:04:39] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130438405.xml
[2026-01-06 18:04:39] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106130438405.xml
[2026-01-06 18:09:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:09:03Z.xml
[2026-01-06 18:09:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:09:03Z.xml
[2026-01-06 18:09:08] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:09:05Z.xml
[2026-01-06 18:09:08] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:09:05Z.xml
[2026-01-06 18:09:56] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:09:53Z.xml
[2026-01-06 18:09:56] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:09:53Z.xml
[2026-01-06 18:10:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:13Z.xml
[2026-01-06 18:10:15] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:13Z.xml
[2026-01-06 18:10:42] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:39Z.xml
[2026-01-06 18:10:42] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:39Z.xml
[2026-01-06 18:10:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:55Z.xml
[2026-01-06 18:10:58] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:55Z.xml
[2026-01-06 18:10:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:56Z.xml
[2026-01-06 18:10:59] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:10:56Z.xml
[2026-01-06 18:11:38] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:11:35Z.xml
[2026-01-06 18:11:38] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:11:35Z.xml
[2026-01-06 18:12:01] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:11:58Z.xml
[2026-01-06 18:12:01] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:11:58Z.xml
[2026-01-06 18:12:57] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:12:54Z.xml
[2026-01-06 18:12:57] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:12:54Z.xml
[2026-01-06 18:13:53] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:13:51Z.xml
[2026-01-06 18:13:53] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:13:51Z.xml
[2026-01-06 18:15:24] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:15:22Z.xml
[2026-01-06 18:15:24] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:15:22Z.xml
[2026-01-06 18:16:58] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:16:55Z.xml
[2026-01-06 18:16:58] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:16:55Z.xml
[2026-01-06 18:17:00] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:16:57Z.xml
[2026-01-06 18:17:00] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:16:57Z.xml for user: 66a7b78a47817ab30
[2026-01-06 18:17:00] [INFO] File size: 14600 bytes
[2026-01-06 18:17:00] [INFO] Created FTPFiles record with ID: 695d519c7d5c660ee
[2026-01-06 18:17:00] [INFO] About to extract fields from XML. File size: 14600 bytes
[2026-01-06 18:17:00] [INFO] Number of mappings: 14
[2026-01-06 18:17:00] [INFO] Starting XML parsing. Content length: 14600
[2026-01-06 18:17:00] [ERROR] XML Parse Error: Namespace prefix s for id on CADServiceCall is not defined on line 1
[2026-01-06 18:17:00] [ERROR] XML Parse Error: Couldn't find end of Start Tag idn line 1 on line 1
[2026-01-06 18:17:00] [ERROR] Error extracting XML fields: Failed to parse XML content - see errors above
[2026-01-06 18:17:00] [ERROR] Error location: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-01-06 18:17:00] [ERROR] Stack trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(669): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-01-06 18:17:00] [ERROR] EXCEPTION during field extraction: Failed to parse XML content - see errors above
[2026-01-06 18:17:00] [ERROR] Exception file: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php line: 96
[2026-01-06 18:17:00] [ERROR] Exception trace: #0 /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php(669): extractMappedFieldsFromXML('<CADServiceCall...', Array)
#1 {main}
[2026-01-06 18:17:00] [ERROR] Processing failed for /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:16:57Z.xml: Failed to parse XML content - see errors above
[2026-01-06 18:17:00] [INFO] Error occurred at: /home/dodom2/public_html/ftp.stationboss.net/ftp_process_upload.php:96
[2026-01-06 18:18:15] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:18:12Z.xml
[2026-01-06 18:18:15] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:18:12Z.xml
[2026-01-06 18:18:16] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:18:13Z.xml
[2026-01-06 18:18:16] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:18:13Z.xml
[2026-01-06 18:19:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:19:03Z.xml
[2026-01-06 18:19:06] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:19:03Z.xml
[2026-01-06 18:19:13] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131913303.xml
[2026-01-06 18:19:13] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131913303.xml for user: 68920395733981a47
[2026-01-06 18:19:13] [INFO] File size: 13606 bytes
[2026-01-06 18:19:13] [INFO] Created FTPFiles record with ID: 695d5221e4048b198
[2026-01-06 18:19:13] [INFO] About to extract fields from XML. File size: 13606 bytes
[2026-01-06 18:19:13] [INFO] Number of mappings: 24
[2026-01-06 18:19:13] [INFO] Starting XML parsing. Content length: 13606
[2026-01-06 18:19:13] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 18:19:13] [INFO] Processing 24 field mappings
[2026-01-06 18:19:13] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 18:19:13] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 18:19:13] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 18:19:13] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 18:19:13] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 18:19:13] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 18:19:13] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 18:19:13] [INFO]   -> Found value: 37379
[2026-01-06 18:19:13] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 18:19:13] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 18:19:13] [INFO]   -> Found value: 1721
[2026-01-06 18:19:13] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 18:19:13] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 18:19:13] [INFO]   -> Found value: YAPHANK
[2026-01-06 18:19:13] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 18:19:13] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 18:19:13] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 18:19:13] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 18:19:13] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 18:19:13] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-06T12:57:40.87-05:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'enroute' = "2026-01-06 17:57:40"
[2026-01-06 18:19:13] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-06T13:03:32.33-05:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'onScene' = "2026-01-06 18:03:32"
[2026-01-06 18:19:13] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 18:19:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'cleared' = null
[2026-01-06 18:19:13] [INFO]   -> Set field 'inService' = null
[2026-01-06 18:19:13] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 18:19:13] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 18:19:13] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 18:19:13] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 18:19:13] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 18:19:13] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 18:19:13] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 18:19:13] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 18:19:13] [INFO]   -> Found value: C1SF
[2026-01-06 18:19:13] [INFO]   -> Set field 'cADVehicleID' = "C1SF"
[2026-01-06 18:19:13] [INFO]   -> Set field 'name' = "C1SF"
[2026-01-06 18:19:13] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 18:19:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'timeunitclear' = null
[2026-01-06 18:19:13] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-06T13:04:38.127-05:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'timeonscene' = "2026-01-06 18:04:38"
[2026-01-06 18:19:13] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 18:19:13] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 18:19:13] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-06T12:59:10.233-05:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-06 17:59:10"
[2026-01-06 18:19:13] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-06T12:59:10.217-05:00
[2026-01-06 18:19:13] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:59:10"
[2026-01-06 18:19:13] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 18:19:13] [INFO]   -> Found value: RD
[2026-01-06 18:19:13] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 18:19:13] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 18:19:13] [INFO]   -> Found value: 26-000001
[2026-01-06 18:19:13] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 18:19:13] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 18:19:13] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 18:19:13] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 18:19:13] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 18:19:13] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 18:19:13] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 18:19:13] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 18:19:13] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-06 18:19:13] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 18:19:13] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:19:13] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:19:13] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 18:19:13] [INFO]   -> Found value: SFD
[2026-01-06 18:19:13] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 18:19:13] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 18:19:13] [INFO] Concatenating street name and type
[2026-01-06 18:19:13] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 18:19:13] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 18:19:13] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":"2026-01-06 17:57:40","onScene":"2026-01-06 18:03:32","cleared":null,"inService":null,"nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"C1SF","name":"C1SF","timeunitclear":null,"timeonscene":"2026-01-06 18:04:38","timestaging":null,"timeenroutetoscene":"2026-01-06 17:59:10","timedispatch":"2026-01-06 17:59:10","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 18:19:13] [INFO] Number of extracted fields: 29
[2026-01-06 18:19:13] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 18:19:13] [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-01-06 18:19:13] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 18:19:13] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 18:19:14] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 18:19:14] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 18:19:14] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 18:19:14] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 18:19:14] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 18:19:14] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 18:19:14] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 18:19:14] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131913303.xml
[2026-01-06 18:19:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131913303.xml
[2026-01-06 18:19:18] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131918381.xml
[2026-01-06 18:19:18] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131918381.xml for user: 68920395733981a47
[2026-01-06 18:19:18] [INFO] File size: 14359 bytes
[2026-01-06 18:19:18] [INFO] Created FTPFiles record with ID: 695d5226bae79a8ab
[2026-01-06 18:19:18] [INFO] About to extract fields from XML. File size: 14359 bytes
[2026-01-06 18:19:18] [INFO] Number of mappings: 24
[2026-01-06 18:19:18] [INFO] Starting XML parsing. Content length: 14359
[2026-01-06 18:19:18] [INFO] XML parsed successfully. Root element: CombinedIncidentVehicleData
[2026-01-06 18:19:18] [INFO] Processing 24 field mappings
[2026-01-06 18:19:18] [INFO] Mapping #1: Extracting 'IncidentData.ProblemName' => 'incidentTypeValue1'
[2026-01-06 18:19:18] [INFO]   -> Found value: FASCIT-Fire Assist Citizen
[2026-01-06 18:19:18] [INFO]   -> Set field 'incidentTypeValue1' = "FASCIT-Fire Assist Citizen"
[2026-01-06 18:19:18] [INFO] Mapping #2: Extracting 'IncidentData.LocationName' => 'businessName'
[2026-01-06 18:19:18] [INFO]   -> Found value: 1721 YAPHANK RD
[2026-01-06 18:19:18] [INFO]   -> Set field 'businessName' = "1721 YAPHANK RD"
[2026-01-06 18:19:18] [INFO] Mapping #3: Extracting 'IncidentData.PostalCode' => 'nERISIncidentPostalCode'
[2026-01-06 18:19:18] [INFO]   -> Found value: 37379
[2026-01-06 18:19:18] [INFO]   -> Set field 'nERISIncidentPostalCode' = 37379
[2026-01-06 18:19:18] [INFO] Mapping #4: Extracting 'IncidentData.AddressHouseNumber' => 'incidentLocationStreetNumber'
[2026-01-06 18:19:18] [INFO]   -> Found value: 1721
[2026-01-06 18:19:18] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1721
[2026-01-06 18:19:18] [INFO] Mapping #5: Extracting 'IncidentData.AddressStreetName' => 'streetName'
[2026-01-06 18:19:18] [INFO]   -> Found value: YAPHANK
[2026-01-06 18:19:18] [INFO]   -> Set field 'streetName' = "YAPHANK"
[2026-01-06 18:19:18] [INFO] Mapping #6: Extracting 'IncidentData.CrossStreet' => 'incidentLocationCross'
[2026-01-06 18:19:18] [INFO]   -> Found value: THATCHER RD/HIXSON PIKE
[2026-01-06 18:19:18] [INFO]   -> Set field 'incidentLocationCross' = "THATCHER RD\/HIXSON PIKE"
[2026-01-06 18:19:18] [INFO] Mapping #7: Extracting 'IncidentData.ResponseDate' => 'alarm'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T12:54:26.723-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'alarm' = "2026-01-06 17:54:26"
[2026-01-06 18:19:18] [INFO] Mapping #8: Extracting 'IncidentData.TimeFirstUnitEnroute' => 'enroute'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T12:57:40.87-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'enroute' = "2026-01-06 17:57:40"
[2026-01-06 18:19:18] [INFO] Mapping #9: Extracting 'IncidentData.TimeFirstUnitArrived' => 'onScene'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T13:03:32.33-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'onScene' = "2026-01-06 18:03:32"
[2026-01-06 18:19:18] [INFO] Mapping #10: Extracting 'IncidentData.TimeCallClosed' => ["cleared","inService"]
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T13:19:18.007-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'cleared' = "2026-01-06 18:19:18"
[2026-01-06 18:19:18] [INFO]   -> Set field 'inService' = "2026-01-06 18:19:18"
[2026-01-06 18:19:18] [INFO] Mapping #11: Extracting 'IncidentData.Latitude' => 'nERISIncidentLatitude'
[2026-01-06 18:19:18] [INFO]   -> Found value: 35.251208999999996
[2026-01-06 18:19:18] [INFO]   -> Set field 'nERISIncidentLatitude' = 35.25120899999999579677023575641214847564697265625
[2026-01-06 18:19:18] [INFO] Mapping #12: Extracting 'IncidentData.Longitude' => 'nERISIncidentLongitude'
[2026-01-06 18:19:18] [INFO]   -> Found value: -85.124411999999992
[2026-01-06 18:19:18] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.1244119999999924175426713190972805023193359375
[2026-01-06 18:19:18] [INFO] Mapping #13: Extracting 'IncidentData.TimeFirstUnitAssigned' => 'dispatched'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T12:55:19.117-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:55:19"
[2026-01-06 18:19:18] [INFO] Mapping #14: Extracting 'Vehicles.VehicleData[0].UnitName' => ["cADVehicleID","name"]
[2026-01-06 18:19:18] [INFO]   -> Found value: C1SF
[2026-01-06 18:19:18] [INFO]   -> Set field 'cADVehicleID' = "C1SF"
[2026-01-06 18:19:18] [INFO]   -> Set field 'name' = "C1SF"
[2026-01-06 18:19:18] [INFO] Mapping #15: Extracting 'Vehicles.VehicleData[0].TimeClearedCall' => 'timeunitclear'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T13:19:18.007-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'timeunitclear' = "2026-01-06 18:19:18"
[2026-01-06 18:19:18] [INFO] Mapping #16: Extracting 'Vehicles.VehicleData[0].TimeArrivedAtScene' => 'timeonscene'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T13:04:38.127-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'timeonscene' = "2026-01-06 18:04:38"
[2026-01-06 18:19:18] [INFO] Mapping #17: Extracting 'Vehicles.VehicleData[0].TimeStaged' => 'timestaging'
[2026-01-06 18:19:18] [INFO]   -> Found value: 0001-01-01T00:00:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'timestaging' = null
[2026-01-06 18:19:18] [INFO] Mapping #18: Extracting 'Vehicles.VehicleData[0].TimeEnroute' => 'timeenroutetoscene'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T12:59:10.233-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'timeenroutetoscene' = "2026-01-06 17:59:10"
[2026-01-06 18:19:18] [INFO] Mapping #19: Extracting 'Vehicles.VehicleData[0].TimeAssigned' => 'timedispatch'
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-06T12:59:10.217-05:00
[2026-01-06 18:19:18] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:59:10"
[2026-01-06 18:19:18] [INFO] Mapping #20: Extracting 'IncidentData.AddressStreetType' => 'streetType'
[2026-01-06 18:19:18] [INFO]   -> Found value: RD
[2026-01-06 18:19:18] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 18:19:18] [INFO] Mapping #21: Extracting 'IncidentData.UnitJurisdictionCaseNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 18:19:18] [INFO]   -> Found value: 26-000001
[2026-01-06 18:19:18] [INFO]   -> Set field 'incidentInternalId' = "26-000001"
[2026-01-06 18:19:18] [INFO]   -> Set field 'dispatchRunNumber' = "26-000001"
[2026-01-06 18:19:18] [INFO] Mapping #22: Extracting 'IncidentData.IncidentNumber' => ["policeReportNumber","cADNumber"]
[2026-01-06 18:19:18] [INFO]   -> Found value: 2026-01-07148
[2026-01-06 18:19:18] [INFO]   -> Set field 'policeReportNumber' = "2026-01-07148"
[2026-01-06 18:19:18] [INFO]   -> Set field 'cADNumber' = "2026-01-07148"
[2026-01-06 18:19:18] [INFO] Mapping #23: Extracting 'IncidentData.Comments.Comment' => ["dispatchNotes","cADLog"]
[2026-01-06 18:19:18] [INFO] Target field 'dispatchNotes' is configured for multi-value concatenation
[2026-01-06 18:19:18] [INFO] Found 4 elements for 'Comment', concatenating 4 non-empty values
[2026-01-06 18:19:18] [INFO]   -> Found value: 01/06/2026 12:54:50 WHITE_W                 [1] FG 5
01/06/2026 12:55:00 WHITE_W                 [2]...
[2026-01-06 18:19:18] [INFO]   -> Set field 'dispatchNotes' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:19:18] [INFO]   -> Set field 'cADLog' = "01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR"
[2026-01-06 18:19:18] [INFO] Mapping #24: Extracting 'IncidentData.AgencyIdentifier' => 'cADAgencyIdentifier'
[2026-01-06 18:19:18] [INFO]   -> Found value: SFD
[2026-01-06 18:19:18] [INFO]   -> Set field 'cADAgencyIdentifier' = "SFD"
[2026-01-06 18:19:18] [INFO] Finished extracting fields. Total fields extracted: 29
[2026-01-06 18:19:18] [INFO] Concatenating street name and type
[2026-01-06 18:19:18] [INFO]   -> Combined street name: YAPHANK RD
[2026-01-06 18:19:18] [INFO] Built locationCoordinates from lat/lng: 35.251209,-85.124412
[2026-01-06 18:19:18] [INFO] Extracted parsing rules data: {"incidentTypeValue1":"FASCIT-Fire Assist Citizen","businessName":"1721 YAPHANK RD","nERISIncidentPostalCode":37379,"incidentLocationStreetNumber":1721,"streetName":"YAPHANK RD","incidentLocationCross":"THATCHER RD\/HIXSON PIKE","alarm":"2026-01-06 17:54:26","enroute":"2026-01-06 17:57:40","onScene":"2026-01-06 18:03:32","cleared":"2026-01-06 18:19:18","inService":"2026-01-06 18:19:18","nERISIncidentLatitude":35.25120899999999579677023575641214847564697265625,"nERISIncidentLongitude":-85.1244119999999924175426713190972805023193359375,"dispatched":"2026-01-06 17:55:19","cADVehicleID":"C1SF","name":"C1SF","timeunitclear":"2026-01-06 18:19:18","timeonscene":"2026-01-06 18:04:38","timestaging":null,"timeenroutetoscene":"2026-01-06 17:59:10","timedispatch":"2026-01-06 17:59:10","incidentInternalId":"26-000001","dispatchRunNumber":"26-000001","policeReportNumber":"2026-01-07148","cADNumber":"2026-01-07148","dispatchNotes":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADLog":"01\/06\/2026 12:54:50 WHITE_W                 [1] FG 5\n01\/06\/2026 12:55:00 WHITE_W                 [2] 1301 ADV SOMEONE CALLED INTO HIM NEEDING ASSISTANCE UP\n01\/06\/2026 12:55:19 WHITE_W                 [3] Automatic Case Number(s) issued for Incident #[2026-01-07148], Jurisdiction: Sequoyah VFD. Case Number(s): 26-000001 requested by H1700.\n01\/06\/2026 12:56:05 WHITE_W                 [4] SVFD CLEAR","cADAgencyIdentifier":"SFD","locationCoordinates":"35.251209,-85.124412"}
[2026-01-06 18:19:18] [INFO] Number of extracted fields: 29
[2026-01-06 18:19:18] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SFD'
[2026-01-06 18:19:18] [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-01-06 18:19:18] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SFD"]
[2026-01-06 18:19:18] [INFO] Attempting SAASClient lookup for AgencyCode 'SFD' (index 0) within mailbox's assigned agencies
[2026-01-06 18:19:18] [INFO] SUCCESS: Routed to agency 'Sequoyah Volunteer Fire Department' (ID: 681a1d681d6140e0c) at INDEX 0 based on AgencyCode 'SFD'
[2026-01-06 18:19:19] [INFO] Fetched 1 stations from Stations module for agency 'Sequoyah Volunteer Fire Department': ["681a4332a2e490051"]
[2026-01-06 18:19:19] [INFO] Final routing: saasclientId = 681a1d681d6140e0c, dispatchStationsIds = ["681a4332a2e490051"], matchedAgencyIndex = 0
[2026-01-06 18:19:19] [INFO] Updated FTPFiles record saasclientId to routed agency: 681a1d681d6140e0c
[2026-01-06 18:19:19] [INFO] Found existing IncidentTypeMapping with ID: 695d4c65e4ee180a0
[2026-01-06 18:19:19] [INFO] Found existing Dispatch with cADNumber '2026-01-07148', ID: 695d4c6642d3c5aef - will update instead of create
[2026-01-06 18:19:19] [INFO] Updated existing Dispatches record with ID: 695d4c6642d3c5aef
[2026-01-06 18:19:19] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131918381.xml
[2026-01-06 18:19:19] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68920395733981a47/INCCOMBINED_2026-01-07148_20260106131918381.xml
[2026-01-06 18:30:23] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:30:20Z.xml
[2026-01-06 18:30:23] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000899_2026-01-06 12:30:20Z.xml
[2026-01-06 19:14:10] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001880_20260106_191410.XML
[2026-01-06 19:14:10] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001880_20260106_191410.XML for user: 68f1466aed072ad4a
[2026-01-06 19:14:10] [INFO] File size: 4833 bytes
[2026-01-06 19:14:10] [INFO] Created FTPFiles record with ID: 695d5f028eecbb807
[2026-01-06 19:14:10] [INFO] About to extract fields from XML. File size: 4833 bytes
[2026-01-06 19:14:10] [INFO] Number of mappings: 28
[2026-01-06 19:14:10] [INFO] Starting XML parsing. Content length: 4833
[2026-01-06 19:14:10] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-06 19:14:10] [INFO] Processing 28 field mappings
[2026-01-06 19:14:10] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-06 19:14:10] [INFO]   -> Found value: BFD
[2026-01-06 19:14:10] [INFO]   -> Set field 'cADAgencyIdentifier' = "BFD"
[2026-01-06 19:14:10] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 19:14:10] [INFO]   -> Found value: 2026000008
[2026-01-06 19:14:10] [INFO]   -> Set field 'incidentInternalId' = "2026000008"
[2026-01-06 19:14:10] [INFO]   -> Set field 'dispatchRunNumber' = "2026000008"
[2026-01-06 19:14:10] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-06 19:14:10] [INFO]   -> Found value: FIRE ALARM
[2026-01-06 19:14:10] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE ALARM"
[2026-01-06 19:14:10] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-06 19:14:10] [INFO]   -> Found value: 301
[2026-01-06 19:14:10] [INFO]   -> Set field 'incidentLocationStreetNumber' = 301
[2026-01-06 19:14:10] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-06 19:14:10] [INFO]   -> Found value: TN
[2026-01-06 19:14:10] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-06 19:14:10] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-06 19:14:10] [INFO]   -> Found value: 38544
[2026-01-06 19:14:10] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38544
[2026-01-06 19:14:10] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-06 19:14:10] [INFO]   -> Found value: THE MONARCH
[2026-01-06 19:14:10] [INFO]   -> Set field 'businessName' = "THE MONARCH"
[2026-01-06 19:14:10] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-06 19:14:10] [INFO]   -> Found value: 36.15500
[2026-01-06 19:14:10] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.155000000000001136868377216160297393798828125
[2026-01-06 19:14:10] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-06 19:14:10] [INFO]   -> Found value: -85.64233
[2026-01-06 19:14:10] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.6423300000000011777956387959420680999755859375
[2026-01-06 19:14:10] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-06 19:14:10] [INFO]   -> Found value: 2026-01-06 13:12:11
[2026-01-06 19:14:10] [INFO]   -> Set field 'alarm' = "2026-01-06 13:12:11"
[2026-01-06 19:14:10] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-06 19:14:10] [INFO]   -> Found value: 2026-01-06 13:13:56
[2026-01-06 19:14:10] [INFO]   -> Set field 'dispatched' = "2026-01-06 13:13:56"
[2026-01-06 19:14:10] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-06 19:14:10] [INFO]   -> Found value: SEWELL ST/ELM ST
[2026-01-06 19:14:10] [INFO]   -> Set field 'incidentLocationCross' = "SEWELL ST\/ELM ST"
[2026-01-06 19:14:10] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-06 19:14:10] [INFO]   -> Found value: BEN2
[2026-01-06 19:14:10] [INFO]   -> Set field 'cADVehicleID' = "BEN2"
[2026-01-06 19:14:10] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-06 19:14:10] [INFO]   -> Found value: 2026-01-06 13:13:56
[2026-01-06 19:14:10] [INFO]   -> Set field 'timedispatch' = "2026-01-06 13:13:56"
[2026-01-06 19:14:10] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-06 19:14:10] [INFO]   -> No value found (null or empty)
[2026-01-06 19:14:10] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-06 19:14:10] [INFO]   -> Found value: 20260001880
[2026-01-06 19:14:10] [INFO]   -> Set field 'policeReportNumber' = "20260001880"
[2026-01-06 19:14:10] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-06 19:14:10] [INFO]   -> Found value: NO FIRE HAZZARD  NEEDS ALARM TURNED OFF  [01/06/26 13:12:45 KBURTON]
[2026-01-06 19:14:10] [INFO]   -> Set field 'dispatchNotes' = "NO FIRE HAZZARD  NEEDS ALARM TURNED OFF  [01\/06\/26 13:12:45 KBURTON]"
[2026-01-06 19:14:10] [INFO]   -> Set field 'cADLog' = "NO FIRE HAZZARD  NEEDS ALARM TURNED OFF  [01\/06\/26 13:12:45 KBURTON]"
[2026-01-06 19:14:10] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-06 19:14:10] [INFO]   -> Found value: BAXTER
[2026-01-06 19:14:10] [INFO]   -> Set field 'incidentLocationCity' = "BAXTER"
[2026-01-06 19:14:10] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-06 19:14:10] [INFO]   -> Found value: THIRD
[2026-01-06 19:14:10] [INFO]   -> Set field 'streetName' = "THIRD"
[2026-01-06 19:14:10] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-06 19:14:10] [INFO]   -> Found value: AVE
[2026-01-06 19:14:10] [INFO]   -> Set field 'streetType' = "AVE"
[2026-01-06 19:14:10] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-06 19:14:10] [INFO]   -> Found value: 301 THIRD AVE N
[2026-01-06 19:14:10] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "301 THIRD AVE N"
[2026-01-06 19:14:10] [INFO] Finished extracting fields. Total fields extracted: 22
[2026-01-06 19:14:10] [INFO] Concatenating street name and type
[2026-01-06 19:14:10] [INFO]   -> Combined street name: THIRD AVE
[2026-01-06 19:14:10] [INFO] Built locationCoordinates from lat/lng: 36.155,-85.64233
[2026-01-06 19:14:10] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"BFD","incidentInternalId":"2026000008","dispatchRunNumber":"2026000008","incidentTypeValue1":"FIRE ALARM","incidentLocationStreetNumber":301,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38544,"businessName":"THE MONARCH","nERISIncidentLatitude":36.155000000000001136868377216160297393798828125,"nERISIncidentLongitude":-85.6423300000000011777956387959420680999755859375,"alarm":"2026-01-06 13:12:11","dispatched":"2026-01-06 13:13:56","incidentLocationCross":"SEWELL ST\/ELM ST","cADVehicleID":"BEN2","timedispatch":"2026-01-06 13:13:56","policeReportNumber":"20260001880","dispatchNotes":"NO FIRE HAZZARD  NEEDS ALARM TURNED OFF  [01\/06\/26 13:12:45 KBURTON]","cADLog":"NO FIRE HAZZARD  NEEDS ALARM TURNED OFF  [01\/06\/26 13:12:45 KBURTON]","incidentLocationCity":"BAXTER","streetName":"THIRD AVE","incidentAddressTextVersionStreet":"301 THIRD AVE N","locationCoordinates":"36.155,-85.64233"}
[2026-01-06 19:14:10] [INFO] Number of extracted fields: 22
[2026-01-06 19:14:10] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'BFD'
[2026-01-06 19:14:10] [INFO] Multi-agency routing check: CAD Agency ID raw = 'BFD', Parsed IDs = ["BFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-06 19:14:10] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["BFD"]
[2026-01-06 19:14:10] [INFO] Attempting SAASClient lookup for AgencyCode 'BFD' (index 0) within mailbox's assigned agencies
[2026-01-06 19:14:10] [INFO] SUCCESS: Routed to agency 'Baxter Fire Department' (ID: 68d1820f7ad4dadbd) at INDEX 0 based on AgencyCode 'BFD'
[2026-01-06 19:14:10] [INFO] Fetched 1 stations from Stations module for agency 'Baxter Fire Department': ["68d1884332e5f169b"]
[2026-01-06 19:14:10] [INFO] Final routing: saasclientId = 68d1820f7ad4dadbd, dispatchStationsIds = ["68d1884332e5f169b"], matchedAgencyIndex = 0
[2026-01-06 19:14:11] [INFO] Updated FTPFiles record saasclientId to routed agency: 68d1820f7ad4dadbd
[2026-01-06 19:14:11] [INFO] Found existing IncidentTypeMapping with ID: 6945b6ed5a589dbb8
[2026-01-06 19:14:14] [INFO] Created new Dispatches record with ID: 695d5f038c437ccfd
[2026-01-06 19:14:14] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001880_20260106_191410.XML
[2026-01-06 19:14:14] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/BFD_20260001880_20260106_191410.XML
[2026-01-06 20:28:06] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00568.xml
[2026-01-06 20:28:06] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00568.xml for user: 68d56363ec1209189
[2026-01-06 20:28:06] [INFO] File size: 2131 bytes
[2026-01-06 20:28:07] [INFO] Created FTPFiles record with ID: 695d705724c2ddb20
[2026-01-06 20:28:07] [INFO] About to extract fields from XML. File size: 2131 bytes
[2026-01-06 20:28:07] [INFO] Number of mappings: 21
[2026-01-06 20:28:07] [INFO] Starting XML parsing. Content length: 2131
[2026-01-06 20:28:07] [INFO] XML parsed successfully. Root element: Incident
[2026-01-06 20:28:07] [INFO] Processing 21 field mappings
[2026-01-06 20:28:07] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-06 20:28:07] [INFO]   -> Found value: 26-00568
[2026-01-06 20:28:07] [INFO]   -> Set field 'dispatchRunNumber' = "26-00568"
[2026-01-06 20:28:07] [INFO]   -> Set field 'cADNumber' = "26-00568"
[2026-01-06 20:28:07] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-06 20:28:07] [INFO]   -> Found value: MFA RD
[2026-01-06 20:28:07] [INFO]   -> Set field 'streetName' = "MFA RD"
[2026-01-06 20:28:07] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-06 20:28:07] [INFO]   -> Found value: BENTON
[2026-01-06 20:28:07] [INFO]   -> Set field 'incidentLocationCity' = "BENTON"
[2026-01-06 20:28:07] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-06 20:28:07] [INFO]   -> Found value: 0
[2026-01-06 20:28:07] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-06 20:28:07] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-06 20:28:07] [INFO]   -> Found value: 0
[2026-01-06 20:28:07] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-06 20:28:07] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-06 20:28:07] [INFO]   -> Found value: FIRE-STRUCTURE
[2026-01-06 20:28:07] [INFO]   -> Set field 'incidentTypeValue1' = "FIRE-STRUCTURE"
[2026-01-06 20:28:07] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-06 20:28:07] [INFO]   -> Found value: 01-06-2026 14:18:07|HOUSE ON FIRE SEE SMOKE NO FLAMES TOWARD THE END OF MFA RD WHEN YOU TURN OFF HWY...
[2026-01-06 20:28:07] [INFO]   -> Set field 'dispatchNotes' = "01-06-2026 14:18:07|HOUSE ON FIRE SEE SMOKE NO FLAMES TOWARD THE END OF MFA RD WHEN YOU TURN OFF HWY 77\nNO SURE OF ANYONE IS HOME 01-06-2026 14:19:45|CLOSE TO STORAGE UNITS 01-06-2026 14:22:50|1102 EN ROUTE 01-06-2026 14:23:50|SCOTT CITY NOTIFIED 01-06-2026 14:25:28|1751 ENROUTE 01-06-2026 14:25:38|1724 EN ROUTE"
[2026-01-06 20:28:07] [INFO]   -> Set field 'cADLog' = "01-06-2026 14:18:07|HOUSE ON FIRE SEE SMOKE NO FLAMES TOWARD THE END OF MFA RD WHEN YOU TURN OFF HWY 77\nNO SURE OF ANYONE IS HOME 01-06-2026 14:19:45|CLOSE TO STORAGE UNITS 01-06-2026 14:22:50|1102 EN ROUTE 01-06-2026 14:23:50|SCOTT CITY NOTIFIED 01-06-2026 14:25:28|1751 ENROUTE 01-06-2026 14:25:38|1724 EN ROUTE"
[2026-01-06 20:28:07] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-06 20:28:07] [INFO]   -> Found value: 01-06-2026T14:20:10
[2026-01-06 20:28:07] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:20:10
[2026-01-06 20:28:07] [INFO]   -> Set field 'alarm' = "2026-06-01 14:20:10"
[2026-01-06 20:28:07] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:20:10
[2026-01-06 20:28:07] [INFO]   -> Set field 'dispatched' = "2026-06-01 14:20:10"
[2026-01-06 20:28:07] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-06 20:28:07] [INFO]   -> Found value: 1701
[2026-01-06 20:28:07] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-01-06 20:28:07] [INFO]   -> Set field 'name' = "1701"
[2026-01-06 20:28:07] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-06 20:28:07] [INFO]   -> Found value: 01-06-2026T14:24:26
[2026-01-06 20:28:07] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:24:26
[2026-01-06 20:28:07] [INFO]   -> Set field 'timeenroutetoscene' = "2026-06-01 14:24:26"
[2026-01-06 20:28:07] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-06 20:28:07] [INFO]   -> No value found (null or empty)
[2026-01-06 20:28:07] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-06 20:28:07] [INFO]   -> Found value: 01-06-2026T14:27:19
[2026-01-06 20:28:07] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:27:19
[2026-01-06 20:28:07] [INFO]   -> Set field 'timeunitclear' = "2026-06-01 14:27:19"
[2026-01-06 20:28:07] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-06 20:28:07] [INFO]   -> Found value: 01-06-2026T14:24:24
[2026-01-06 20:28:07] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:24:24
[2026-01-06 20:28:07] [INFO]   -> Set field 'timedispatch' = "2026-06-01 14:24:24"
[2026-01-06 20:28:07] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-06 20:28:07] [INFO]   -> Found value: SCRFD
[2026-01-06 20:28:07] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-06 20:28:07] [INFO] Finished extracting fields. Total fields extracted: 17
[2026-01-06 20:28:07] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-06 20:28:07] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00568","cADNumber":"26-00568","streetName":"MFA RD","incidentLocationCity":"BENTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"FIRE-STRUCTURE","dispatchNotes":"01-06-2026 14:18:07|HOUSE ON FIRE SEE SMOKE NO FLAMES TOWARD THE END OF MFA RD WHEN YOU TURN OFF HWY 77\nNO SURE OF ANYONE IS HOME 01-06-2026 14:19:45|CLOSE TO STORAGE UNITS 01-06-2026 14:22:50|1102 EN ROUTE 01-06-2026 14:23:50|SCOTT CITY NOTIFIED 01-06-2026 14:25:28|1751 ENROUTE 01-06-2026 14:25:38|1724 EN ROUTE","cADLog":"01-06-2026 14:18:07|HOUSE ON FIRE SEE SMOKE NO FLAMES TOWARD THE END OF MFA RD WHEN YOU TURN OFF HWY 77\nNO SURE OF ANYONE IS HOME 01-06-2026 14:19:45|CLOSE TO STORAGE UNITS 01-06-2026 14:22:50|1102 EN ROUTE 01-06-2026 14:23:50|SCOTT CITY NOTIFIED 01-06-2026 14:25:28|1751 ENROUTE 01-06-2026 14:25:38|1724 EN ROUTE","alarm":"2026-06-01 14:20:10","dispatched":"2026-06-01 14:20:10","cADVehicleID":1701,"name":"1701","timeenroutetoscene":"2026-06-01 14:24:26","timeunitclear":"2026-06-01 14:27:19","timedispatch":"2026-06-01 14:24:24","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-06 20:28:07] [INFO] Number of extracted fields: 18
[2026-01-06 20:28:07] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-06 20:28:07] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-06 20:28:07] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-06 20:28:07] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-06 20:28:07] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-06 20:28:07] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-06 20:28:07] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-06 20:28:07] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-06 20:28:07] [INFO] Found existing IncidentTypeMapping with ID: 6949a536db3ccf5b5
[2026-01-06 20:28:18] [INFO] Created new Dispatches record with ID: 695d70581156975a2
[2026-01-06 20:28:18] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00568.xml
[2026-01-06 20:28:18] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00568.xml
[2026-01-06 20:51:25] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00570.xml
[2026-01-06 20:51:25] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00570.xml for user: 68d56363ec1209189
[2026-01-06 20:51:25] [INFO] File size: 1669 bytes
[2026-01-06 20:51:26] [INFO] Created FTPFiles record with ID: 695d75ce610479d9c
[2026-01-06 20:51:26] [INFO] About to extract fields from XML. File size: 1669 bytes
[2026-01-06 20:51:26] [INFO] Number of mappings: 21
[2026-01-06 20:51:26] [INFO] Starting XML parsing. Content length: 1669
[2026-01-06 20:51:26] [INFO] XML parsed successfully. Root element: Incident
[2026-01-06 20:51:26] [INFO] Processing 21 field mappings
[2026-01-06 20:51:26] [INFO] Mapping #1: Extracting 'IncidentNumber' => ["dispatchRunNumber","cADNumber"]
[2026-01-06 20:51:26] [INFO]   -> Found value: 26-00570
[2026-01-06 20:51:26] [INFO]   -> Set field 'dispatchRunNumber' = "26-00570"
[2026-01-06 20:51:26] [INFO]   -> Set field 'cADNumber' = "26-00570"
[2026-01-06 20:51:26] [INFO] Mapping #2: Extracting 'house_number' => 'incidentLocationStreetNumber'
[2026-01-06 20:51:26] [INFO]   -> Found value: 191
[2026-01-06 20:51:26] [INFO]   -> Set field 'incidentLocationStreetNumber' = 191
[2026-01-06 20:51:26] [INFO] Mapping #3: Extracting 'street' => 'streetName'
[2026-01-06 20:51:26] [INFO]   -> Found value: COUNTY HIGHWAY 437
[2026-01-06 20:51:26] [INFO]   -> Set field 'streetName' = "COUNTY HIGHWAY 437"
[2026-01-06 20:51:26] [INFO] Mapping #4: Extracting 'apt' => 'incidentLocationApt'
[2026-01-06 20:51:26] [INFO]   -> No value found (null or empty)
[2026-01-06 20:51:26] [INFO] Mapping #5: Extracting 'city' => 'incidentLocationCity'
[2026-01-06 20:51:26] [INFO]   -> Found value: SIKESTON
[2026-01-06 20:51:26] [INFO]   -> Set field 'incidentLocationCity' = "SIKESTON"
[2026-01-06 20:51:26] [INFO] Mapping #6: Extracting 'location_name' => 'businessName'
[2026-01-06 20:51:26] [INFO]   -> No value found (null or empty)
[2026-01-06 20:51:26] [INFO] Mapping #7: Extracting 'STATE' => 'incidentLocationStateName'
[2026-01-06 20:51:26] [INFO]   -> No value found (null or empty)
[2026-01-06 20:51:26] [INFO] Mapping #8: Extracting 'ZIPCODE' => 'nERISIncidentPostalCode'
[2026-01-06 20:51:26] [INFO]   -> No value found (null or empty)
[2026-01-06 20:51:26] [INFO] Mapping #9: Extracting 'LATITUDE' => 'nERISIncidentLatitude'
[2026-01-06 20:51:26] [INFO]   -> Found value: 0
[2026-01-06 20:51:26] [INFO]   -> Set field 'nERISIncidentLatitude' = 0
[2026-01-06 20:51:26] [INFO] Mapping #10: Extracting 'LONGITUDE' => 'nERISIncidentLongitude'
[2026-01-06 20:51:26] [INFO]   -> Found value: 0
[2026-01-06 20:51:26] [INFO]   -> Set field 'nERISIncidentLongitude' = 0
[2026-01-06 20:51:26] [INFO] Mapping #11: Extracting 'incident_type' => 'incidentTypeValue1'
[2026-01-06 20:51:26] [INFO]   -> Found value: RESPIRATORY DISTRESS
[2026-01-06 20:51:26] [INFO]   -> Set field 'incidentTypeValue1' = "RESPIRATORY DISTRESS"
[2026-01-06 20:51:26] [INFO] Mapping #12: Extracting 'commentlist.comment' => ["dispatchNotes","cADLog"]
[2026-01-06 20:51:26] [INFO]   -> Found value: 01-06-2026 14:26:33|Call Received on 01/06/2026 @ 14:26

FM TROUBLE BREATHING
PAIN IN CHEST
63 YR OL...
[2026-01-06 20:51:26] [INFO]   -> Set field 'dispatchNotes' = "01-06-2026 14:26:33|Call Received on 01\/06\/2026 @ 14:26\n\nFM TROUBLE BREATHING\nPAIN IN CHEST\n63 YR OLD"
[2026-01-06 20:51:26] [INFO]   -> Set field 'cADLog' = "01-06-2026 14:26:33|Call Received on 01\/06\/2026 @ 14:26\n\nFM TROUBLE BREATHING\nPAIN IN CHEST\n63 YR OLD"
[2026-01-06 20:51:26] [INFO] Mapping #13: Extracting 'time_first_unit_assigned' => ["alarm","dispatched"]
[2026-01-06 20:51:26] [INFO]   -> Found value: 01-06-2026T14:28:20
[2026-01-06 20:51:26] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:28:20
[2026-01-06 20:51:26] [INFO]   -> Set field 'alarm' = "2026-06-01 14:28:20"
[2026-01-06 20:51:26] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:28:20
[2026-01-06 20:51:26] [INFO]   -> Set field 'dispatched' = "2026-06-01 14:28:20"
[2026-01-06 20:51:26] [INFO] Mapping #14: Extracting 'time_first_unit_arrived' => 'onScene'
[2026-01-06 20:51:26] [INFO]   -> No value found (null or empty)
[2026-01-06 20:51:26] [INFO] Mapping #15: Extracting 'time_last_unit_cleared' => ["cleared","inService"]
[2026-01-06 20:51:26] [INFO]   -> No value found (null or empty)
[2026-01-06 20:51:26] [INFO] Mapping #16: Extracting 'Units.Unit[0].radio_name' => ["cADVehicleID","name"]
[2026-01-06 20:51:26] [INFO]   -> Found value: 1701
[2026-01-06 20:51:26] [INFO]   -> Set field 'cADVehicleID' = 1701
[2026-01-06 20:51:26] [INFO]   -> Set field 'name' = "1701"
[2026-01-06 20:51:26] [INFO] Mapping #17: Extracting 'Units.Unit[0].time_enroute' => 'timeenroutetoscene'
[2026-01-06 20:51:26] [INFO]   -> Found value: 01-06-2026T14:30:25
[2026-01-06 20:51:26] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:30:25
[2026-01-06 20:51:26] [INFO]   -> Set field 'timeenroutetoscene' = "2026-06-01 14:30:25"
[2026-01-06 20:51:26] [INFO] Mapping #18: Extracting 'Units.Unit[0].time_arrivedatscene' => 'timeonscene'
[2026-01-06 20:51:26] [INFO]   -> No value found (null or empty)
[2026-01-06 20:51:26] [INFO] Mapping #19: Extracting 'Units.Unit[0].time_depart_scene' => 'timeunitclear'
[2026-01-06 20:51:26] [INFO]   -> Found value: 01-06-2026T14:50:23
[2026-01-06 20:51:26] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:50:23
[2026-01-06 20:51:26] [INFO]   -> Set field 'timeunitclear' = "2026-06-01 14:50:23"
[2026-01-06 20:51:26] [INFO] Mapping #20: Extracting 'Units.Unit[0].time_assigned' => 'timedispatch'
[2026-01-06 20:51:26] [INFO]   -> Found value: 01-06-2026T14:30:23
[2026-01-06 20:51:26] [INFO] Reformatted DD-MM-YYYY date '01-06-2026' (day=01, month=06) to ISO: 2026-06-01T14:30:23
[2026-01-06 20:51:26] [INFO]   -> Set field 'timedispatch' = "2026-06-01 14:30:23"
[2026-01-06 20:51:26] [INFO] Mapping #21: Extracting 'Agency' => 'cADAgencyIdentifier'
[2026-01-06 20:51:26] [INFO]   -> Found value: SCRFD
[2026-01-06 20:51:26] [INFO]   -> Set field 'cADAgencyIdentifier' = "SCRFD"
[2026-01-06 20:51:26] [INFO] Finished extracting fields. Total fields extracted: 18
[2026-01-06 20:51:26] [INFO] Built locationCoordinates from lat/lng: 0,0
[2026-01-06 20:51:26] [INFO] Extracted parsing rules data: {"dispatchRunNumber":"26-00570","cADNumber":"26-00570","incidentLocationStreetNumber":191,"streetName":"COUNTY HIGHWAY 437","incidentLocationCity":"SIKESTON","nERISIncidentLatitude":0,"nERISIncidentLongitude":0,"incidentTypeValue1":"RESPIRATORY DISTRESS","dispatchNotes":"01-06-2026 14:26:33|Call Received on 01\/06\/2026 @ 14:26\n\nFM TROUBLE BREATHING\nPAIN IN CHEST\n63 YR OLD","cADLog":"01-06-2026 14:26:33|Call Received on 01\/06\/2026 @ 14:26\n\nFM TROUBLE BREATHING\nPAIN IN CHEST\n63 YR OLD","alarm":"2026-06-01 14:28:20","dispatched":"2026-06-01 14:28:20","cADVehicleID":1701,"name":"1701","timeenroutetoscene":"2026-06-01 14:30:25","timeunitclear":"2026-06-01 14:50:23","timedispatch":"2026-06-01 14:30:23","cADAgencyIdentifier":"SCRFD","locationCoordinates":"0,0"}
[2026-01-06 20:51:26] [INFO] Number of extracted fields: 19
[2026-01-06 20:51:26] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'SCRFD'
[2026-01-06 20:51:26] [INFO] Multi-agency routing check: CAD Agency ID raw = 'SCRFD', Parsed IDs = ["SCRFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 2
[2026-01-06 20:51:26] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["SCRFD"]
[2026-01-06 20:51:26] [INFO] Attempting SAASClient lookup for AgencyCode 'SCRFD' (index 0) within mailbox's assigned agencies
[2026-01-06 20:51:26] [INFO] SUCCESS: Routed to agency 'Scott County Rural Fire Protection District' (ID: 6643bdb30659f00d8) at INDEX 0 based on AgencyCode 'SCRFD'
[2026-01-06 20:51:26] [INFO] Fetched 6 stations from Stations module for agency 'Scott County Rural Fire Protection District': ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"]
[2026-01-06 20:51:26] [INFO] Final routing: saasclientId = 6643bdb30659f00d8, dispatchStationsIds = ["690279491710f7b8e","6644dbe7e17f1c3de","6644dbb3886c9768f","6644d0c9be0e4ec53","6644e2fe1572c01ae","69027d47e7c4fc65b"], matchedAgencyIndex = 0
[2026-01-06 20:51:27] [INFO] Updated FTPFiles record saasclientId to routed agency: 6643bdb30659f00d8
[2026-01-06 20:51:27] [INFO] Found existing IncidentTypeMapping with ID: 694459012cb7ddd64
[2026-01-06 20:51:27] [INFO] Found existing Dispatch with cADNumber '26-00570', ID: 695d70962f5672139 - will update instead of create
[2026-01-06 20:51:27] [INFO] Updated existing Dispatches record with ID: 695d70962f5672139
[2026-01-06 20:51:27] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00570.xml
[2026-01-06 20:51:27] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68d56363ec1209189/SCRFD_26-00570.xml
[2026-01-06 21:34:59] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000928_2026-01-06 15:34:54Z.xml
[2026-01-06 21:34:59] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000928_2026-01-06 15:34:54Z.xml
[2026-01-06 21:35:12] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000928_2026-01-06 15:35:09Z.xml
[2026-01-06 21:35:12] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000928_2026-01-06 15:35:09Z.xml
[2026-01-06 21:35:28] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000928_2026-01-06 15:35:25Z.xml
[2026-01-06 21:35:28] [ERROR] File does not exist: /home/dodom2/public_html/ftp.stationboss.net/dispatch/66a7b78a47817ab30/Call ID CAD26-000928_2026-01-06 15:35:25Z.xml
[2026-01-06 23:02:20] [INFO] Received file path: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001971_20260106_230220.XML
[2026-01-06 23:02:20] [INFO] Processing file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001971_20260106_230220.XML for user: 68f1466aed072ad4a
[2026-01-06 23:02:20] [INFO] File size: 4904 bytes
[2026-01-06 23:02:21] [INFO] Created FTPFiles record with ID: 695d947d0f3c11764
[2026-01-06 23:02:21] [INFO] About to extract fields from XML. File size: 4904 bytes
[2026-01-06 23:02:21] [INFO] Number of mappings: 28
[2026-01-06 23:02:21] [INFO] Starting XML parsing. Content length: 4904
[2026-01-06 23:02:21] [INFO] XML parsed successfully. Root element: CADExport
[2026-01-06 23:02:21] [INFO] Processing 28 field mappings
[2026-01-06 23:02:21] [INFO] Mapping #1: Extracting 'EventDetails.AgencyCode' => 'cADAgencyIdentifier'
[2026-01-06 23:02:21] [INFO]   -> Multi-agency mode: Converting scoped path 'EventDetails.AgencyCode' to global 'AgencyCode' for cADAgencyIdentifier
[2026-01-06 23:02:21] [INFO]   -> Found value: PCFD
[2026-01-06 23:02:21] [INFO]   -> Set field 'cADAgencyIdentifier' = "PCFD"
[2026-01-06 23:02:21] [INFO] Mapping #2: Extracting 'EventDetails.ReportNumber' => ["incidentInternalId","dispatchRunNumber"]
[2026-01-06 23:02:21] [INFO]   -> Found value: 2026000044
[2026-01-06 23:02:21] [INFO]   -> Set field 'incidentInternalId' = "2026000044"
[2026-01-06 23:02:21] [INFO]   -> Set field 'dispatchRunNumber' = "2026000044"
[2026-01-06 23:02:21] [INFO] Mapping #3: Extracting 'EventDetails.NatureDescription' => 'incidentTypeValue1'
[2026-01-06 23:02:21] [INFO]   -> Found value: BRUSH / GRASS FIRE
[2026-01-06 23:02:21] [INFO]   -> Set field 'incidentTypeValue1' = "BRUSH \/ GRASS FIRE"
[2026-01-06 23:02:21] [INFO] Mapping #4: Extracting 'EventDetails.StreetNumber' => 'incidentLocationStreetNumber'
[2026-01-06 23:02:21] [INFO]   -> Found value: 1649
[2026-01-06 23:02:21] [INFO]   -> Set field 'incidentLocationStreetNumber' = 1649
[2026-01-06 23:02:21] [INFO] Mapping #5: Extracting 'EventDetails.State' => 'incidentLocationStateName'
[2026-01-06 23:02:21] [INFO]   -> Found value: TN
[2026-01-06 23:02:21] [INFO]   -> Set field 'incidentLocationStateName' = "TN"
[2026-01-06 23:02:21] [INFO] Mapping #6: Extracting 'EventDetails.ZipCode' => 'nERISIncidentPostalCode'
[2026-01-06 23:02:21] [INFO]   -> Found value: 38574
[2026-01-06 23:02:21] [INFO]   -> Set field 'nERISIncidentPostalCode' = 38574
[2026-01-06 23:02:21] [INFO] Mapping #7: Extracting 'EventDetails.SiteName' => 'businessName'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #8: Extracting 'EventDetails.ApartmentSuite' => 'incidentLocationApt'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #9: Extracting 'EventDetails.EventLatitude' => 'nERISIncidentLatitude'
[2026-01-06 23:02:21] [INFO]   -> Found value: 36.04503
[2026-01-06 23:02:21] [INFO]   -> Set field 'nERISIncidentLatitude' = 36.045029999999997016857378184795379638671875
[2026-01-06 23:02:21] [INFO] Mapping #10: Extracting 'EventDetails.EventLongitude' => 'nERISIncidentLongitude'
[2026-01-06 23:02:21] [INFO]   -> Found value: -85.25678
[2026-01-06 23:02:21] [INFO]   -> Set field 'nERISIncidentLongitude' = -85.2567800000000062254912336356937885284423828125
[2026-01-06 23:02:21] [INFO] Mapping #11: Extracting 'EventDetails.EventStartTime' => 'alarm'
[2026-01-06 23:02:21] [INFO]   -> Found value: 2026-01-06 17:00:11
[2026-01-06 23:02:21] [INFO]   -> Set field 'alarm' = "2026-01-06 17:00:11"
[2026-01-06 23:02:21] [INFO] Mapping #12: Extracting 'EventDetails.FirstDispatchTime' => 'dispatched'
[2026-01-06 23:02:21] [INFO]   -> Found value: 2026-01-06 17:02:16
[2026-01-06 23:02:21] [INFO]   -> Set field 'dispatched' = "2026-01-06 17:02:16"
[2026-01-06 23:02:21] [INFO] Mapping #13: Extracting 'EventDetails.FirstEnrouteTime' => 'enroute'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #14: Extracting 'EventDetails.FirstOnSceneTime' => 'onScene'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #15: Extracting 'EventDetails.LastUnitClearTime' => ["cleared","inService"]
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #16: Extracting 'EventDetails.CrossStreets' => 'incidentLocationCross'
[2026-01-06 23:02:21] [INFO]   -> Found value: CHINKAPIN TRL/INDIAN PARK RD
[2026-01-06 23:02:21] [INFO]   -> Set field 'incidentLocationCross' = "CHINKAPIN TRL\/INDIAN PARK RD"
[2026-01-06 23:02:21] [INFO] Mapping #17: Extracting 'EventUnits.Unit[0].UnitCode' => 'cADVehicleID'
[2026-01-06 23:02:21] [INFO]   -> Found value: TK22
[2026-01-06 23:02:21] [INFO]   -> Set field 'cADVehicleID' = "TK22"
[2026-01-06 23:02:21] [INFO] Mapping #18: Extracting 'EventUnits.Unit[0].DispatchTime' => 'timedispatch'
[2026-01-06 23:02:21] [INFO]   -> Found value: 2026-01-06 17:02:16
[2026-01-06 23:02:21] [INFO]   -> Set field 'timedispatch' = "2026-01-06 17:02:16"
[2026-01-06 23:02:21] [INFO] Mapping #19: Extracting 'EventUnits.Unit[0].EnRouteTime' => 'timeenroutetoscene'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #20: Extracting 'EventUnits.Unit[0].ArriveTime' => 'timeonscene'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #21: Extracting 'EventUnits.Unit[0].ReturnToServiceTime' => 'timeunitclear'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #22: Extracting 'EventUnits.Unit[0].CancelTime' => 'timecanceledenroute'
[2026-01-06 23:02:21] [INFO]   -> No value found (null or empty)
[2026-01-06 23:02:21] [INFO] Mapping #23: Extracting 'EventDetails.CadInciNumber' => 'policeReportNumber'
[2026-01-06 23:02:21] [INFO]   -> Found value: 20260001971
[2026-01-06 23:02:21] [INFO]   -> Set field 'policeReportNumber' = "20260001971"
[2026-01-06 23:02:21] [INFO] Mapping #24: Extracting 'EventDetails.CadNotes' => ["dispatchNotes","cADLog"]
[2026-01-06 23:02:21] [INFO]   -> Found value: AT THE CORNER OF CHINKAPIN AND OVERLOOK  [01/06/26 17:01:45 MCLAYBURN2] CREW WAS CLEANING UP A LOT T...
[2026-01-06 23:02:21] [INFO]   -> Set field 'dispatchNotes' = "AT THE CORNER OF CHINKAPIN AND OVERLOOK  [01\/06\/26 17:01:45 MCLAYBURN2] CREW WAS CLEANING UP A LOT TODAY CUTTING TREES AND BURNING THEM LEFT IT BURNING OPEN FLAME AND CINDERS\/ UNATTENDED  [01\/06\/26 17:00:44 MCLAYBURN2]"
[2026-01-06 23:02:21] [INFO]   -> Set field 'cADLog' = "AT THE CORNER OF CHINKAPIN AND OVERLOOK  [01\/06\/26 17:01:45 MCLAYBURN2] CREW WAS CLEANING UP A LOT TODAY CUTTING TREES AND BURNING THEM LEFT IT BURNING OPEN FLAME AND CINDERS\/ UNATTENDED  [01\/06\/26 17:00:44 MCLAYBURN2]"
[2026-01-06 23:02:21] [INFO] Mapping #25: Extracting 'EventDetails.CityCodeDescription' => 'incidentLocationCity'
[2026-01-06 23:02:21] [INFO]   -> Found value: MONTEREY
[2026-01-06 23:02:21] [INFO]   -> Set field 'incidentLocationCity' = "MONTEREY"
[2026-01-06 23:02:21] [INFO] Mapping #26: Extracting 'EventDetails.StreetName' => 'streetName'
[2026-01-06 23:02:21] [INFO]   -> Found value: OVERLOOK
[2026-01-06 23:02:21] [INFO]   -> Set field 'streetName' = "OVERLOOK"
[2026-01-06 23:02:21] [INFO] Mapping #27: Extracting 'EventDetails.StreetType' => 'streetType'
[2026-01-06 23:02:21] [INFO]   -> Found value: RD
[2026-01-06 23:02:21] [INFO]   -> Set field 'streetType' = "RD"
[2026-01-06 23:02:21] [INFO] Mapping #28: Extracting 'EventDetails.FullAddress' => 'incidentAddressTextVersionStreet'
[2026-01-06 23:02:21] [INFO]   -> Found value: 1649 E OVERLOOK RD
[2026-01-06 23:02:21] [INFO]   -> Set field 'incidentAddressTextVersionStreet' = "1649 E OVERLOOK RD"
[2026-01-06 23:02:21] [INFO] Finished extracting fields. Total fields extracted: 21
[2026-01-06 23:02:21] [INFO] Concatenating street name and type
[2026-01-06 23:02:21] [INFO]   -> Combined street name: OVERLOOK RD
[2026-01-06 23:02:21] [INFO] Built locationCoordinates from lat/lng: 36.04503,-85.25678
[2026-01-06 23:02:21] [INFO] Extracted parsing rules data: {"cADAgencyIdentifier":"PCFD","incidentInternalId":"2026000044","dispatchRunNumber":"2026000044","incidentTypeValue1":"BRUSH \/ GRASS FIRE","incidentLocationStreetNumber":1649,"incidentLocationStateName":"TN","nERISIncidentPostalCode":38574,"nERISIncidentLatitude":36.045029999999997016857378184795379638671875,"nERISIncidentLongitude":-85.2567800000000062254912336356937885284423828125,"alarm":"2026-01-06 17:00:11","dispatched":"2026-01-06 17:02:16","incidentLocationCross":"CHINKAPIN TRL\/INDIAN PARK RD","cADVehicleID":"TK22","timedispatch":"2026-01-06 17:02:16","policeReportNumber":"20260001971","dispatchNotes":"AT THE CORNER OF CHINKAPIN AND OVERLOOK  [01\/06\/26 17:01:45 MCLAYBURN2] CREW WAS CLEANING UP A LOT TODAY CUTTING TREES AND BURNING THEM LEFT IT BURNING OPEN FLAME AND CINDERS\/ UNATTENDED  [01\/06\/26 17:00:44 MCLAYBURN2]","cADLog":"AT THE CORNER OF CHINKAPIN AND OVERLOOK  [01\/06\/26 17:01:45 MCLAYBURN2] CREW WAS CLEANING UP A LOT TODAY CUTTING TREES AND BURNING THEM LEFT IT BURNING OPEN FLAME AND CINDERS\/ UNATTENDED  [01\/06\/26 17:00:44 MCLAYBURN2]","incidentLocationCity":"MONTEREY","streetName":"OVERLOOK RD","incidentAddressTextVersionStreet":"1649 E OVERLOOK RD","locationCoordinates":"36.04503,-85.25678"}
[2026-01-06 23:02:21] [INFO] Number of extracted fields: 21
[2026-01-06 23:02:21] [INFO] MULTI-AGENCY: Extracted cADAgencyIdentifier = 'PCFD'
[2026-01-06 23:02:21] [INFO] Multi-agency routing check: CAD Agency ID raw = 'PCFD', Parsed IDs = ["PCFD"], Non-empty count = 1, Total agency count = 1, Assigned Agencies count = 4
[2026-01-06 23:02:21] [INFO] Multi-agency mode detected. Checking AgencyCode values in order: ["PCFD"]
[2026-01-06 23:02:21] [INFO] Attempting SAASClient lookup for AgencyCode 'PCFD' (index 0) within mailbox's assigned agencies
[2026-01-06 23:02:21] [INFO] SUCCESS: Routed to agency 'Putnam County Fire Department' (ID: 68eeb686225c40db4) at INDEX 0 based on AgencyCode 'PCFD'
[2026-01-06 23:02: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-01-06 23:02:21] [INFO] Final routing: saasclientId = 68eeb686225c40db4, dispatchStationsIds = ["68ffbebde83509b7c","68ffd433577d1ee1e","68ffbe83793eb4521","68eef9302d19f85fc","68ffbe45d3567d442","68ffbe0e8c5fa650f","68eef77e6a5b1e9d6","68ffbde067a9b162c","68ffbda5d8ebd5468","68ffbd6b1db8d8daa","68ffbd4220b20a872","68ffbcfb8b8911e4e","68eef6ffc8105af4e","68eeca5d553dc8756"], matchedAgencyIndex = 0
[2026-01-06 23:02:21] [INFO] Multi-agency routing matched mailbox default agency: 68eeb686225c40db4 (no update needed)
[2026-01-06 23:02:21] [INFO] Found existing IncidentTypeMapping with ID: 693de9e1e8922fc29
[2026-01-06 23:02:30] [INFO] Created new Dispatches record with ID: 695d947dcaebf5f9d
[2026-01-06 23:02:30] [INFO] Successfully deleted file: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001971_20260106_230220.XML
[2026-01-06 23:02:30] [INFO] File processed successfully: /home/dodom2/public_html/ftp.stationboss.net/dispatch/68f1466aed072ad4a/PCFD_20260001971_20260106_230220.XML
