Skip to content
Bradley International Airport Logo
  • Journey
    • Arrivals + Departures
    • Airlines Serving Bradley International
    • Terminal Map
    • Search Nonstop Flights
    • Travel Information
  • Explore
    • Love the Journey (Blog)
    • Local Attractions
    • Local Lodging Options
  • Drive/Park
    • Directions
    • Parking Options + Rates
    • Ground Transportation Center
    • Cell Phone Waiting Lot (free)
    • Parking Maps
    • Public Transportation
    • Taxi + Ride App + Limo
    • Rental Cars
  • Enjoy
    • Shops & Dining
    • Escape Lounge
    • Duty Free Shopping
    • BDL Art & Music
  • Learn
    • Airport Services
    • Nursing Room
    • Lost + Found
    • ATM and Ready Stations
    • Wi-Fi + Charging Stations
    • Bradley Buddies
    • Concierge Service
    • Understanding Security
    • TSA Screening
    • Security Screening Programs
    • International Travel
    • Global Entry Enrollment
    • Plane Spotting
    • Accessing Disability Assistance
    • Accessibility
    • Hidden Disabilities Program
    • Title VI
    • Website Accessibility
    • Traveling Through Bradley
    • Terminal Map
    • Travel Information
    • Travel Tips
    • Traveling with Pets
    • Travelers Aid
    • FAQs
  • About
    • About Us
    • Airport Improvements
    • Media + Press
    • Contact
    • Aircraft Services
    • Employment/Badging
    • Noise Concerns
    • Rates & Charges
    • Emergency Contingency Plan
    • Cargo
    • Safety
    • Partner Resources
click through to CT Airport Authority's website in a new age(opens in a new tab)
Language & Accessibility

Aircraft Services


Aircraft Services
Signature Flight Support

100 Signature Way
East Granby, CT 06026
(860) 623-4955 · (860) 623-5232

TAC Air

85-205 Fire House Road
Windsor Locks, CT 06096
(860) 627-3300 · (860) 623-0295 (fax)

Flying Food Group

2 Airport Park Rd
East Granby, CT 06026
(860) 844-0310

Menzies

100 Signature Way
East Granby, CT 06026
(860) 627-3315 · (860) 623-5782 (fax)

KTI Aircraft Maintenance

PO Box 1101
Southwick, MA 01077
(413) 569-3555

(opens in a new tab)
(opens in a new tab)
(opens in a new tab)
(opens in a new tab)
Schoephoester Rd.
(860) 292-2000
The award-winning airport is operated by the Connecticut Airport Authority, and its operations are entirely self-funded.  The airport contributes nearly $3.6 billion to the regional economy.
©2026 - Bradley International Airport
Terms of Use & Privacy Policy
Windsor Locks, CT
FIND FLIGHTS FROM BRADLEY
  • Journey
    • Arrivals + Departures
    • Airlines Serving Bradley International
    • Terminal Map
    • Search Nonstop Flights
    • Travel Information
  • Explore
    • Love the Journey (Blog)
    • Local Attractions
    • Local Lodging Options
  • Drive/Park
    • Directions
    • Parking Options + Rates
    • Ground Transportation Center
    • Cell Phone Waiting Lot (free)
    • Parking Maps
    • Public Transportation
    • Taxi + Ride App + Limo
    • Rental Cars
  • Enjoy
    • Shops & Dining
    • Escape Lounge
    • Duty Free Shopping
    • BDL Art & Music
  • Learn
    • Airport Services
    • Nursing Room
    • Lost + Found
    • ATM and Ready Stations
    • Wi-Fi + Charging Stations
    • Bradley Buddies
    • Concierge Service
    • Understanding Security
    • TSA Screening
    • Security Screening Programs
    • International Travel
    • Global Entry Enrollment
    • Plane Spotting
    • Accessing Disability Assistance
    • Accessibility
    • Hidden Disabilities Program
    • Title VI
    • Website Accessibility
    • Traveling Through Bradley
    • Terminal Map
    • Travel Information
    • Travel Tips
    • Traveling with Pets
    • Travelers Aid
    • FAQs
  • About
    • About Us
    • Airport Improvements
    • Media + Press
    • Contact
    • Aircraft Services
    • Employment/Badging
    • Noise Concerns
    • Rates & Charges
    • Emergency Contingency Plan
    • Cargo
    • Safety
    • Partner Resources
(function () { function parseFlights(xmlText) { var xml = new window.DOMParser().parseFromString(xmlText, 'application/xml'); var flights = []; xml.querySelectorAll('Flight').forEach(function (node) { function text(tag) { var el = node.querySelector(tag); return el ? el.textContent : ''; } flights.push({ flightNumber: text('FlightNumber'), scheduledTime: text('ScheduledTime'), currentTime: text('CurrentTime'), delayed: text('Delayed') === 'True', early: text('Early') === 'True' }); }); return flights; } function remarkColor(flight) { if (flight.delayed) return 'rgb(222, 38, 38)'; if (flight.early) return 'rgb(0,128,0)'; return null; } function refreshRows(rowClass, flights) { document.querySelectorAll('.x-grid.' + rowClass).forEach(function (row) { var cells = row.querySelectorAll('.x-cell'); if (cells.length < 4) return; var flightNumberEl = cells[1].querySelector('.x-text-content-text-primary'); if (!flightNumberEl) return; var flightNumber = flightNumberEl.textContent.trim(); var flight = flights.find(function (f) { return f.flightNumber === flightNumber; }); if (!flight) return; var statusCell = cells[3]; var timeEl = statusCell.querySelector('.x-text-content-text-primary'); if (timeEl) timeEl.textContent = flight.scheduledTime; var subEl = statusCell.querySelector('.x-text-content-text-subheadline'); if (subEl) { var color = remarkColor(flight); if (color) { subEl.innerHTML = ' Now ' + flight.currentTime + ''; } else { subEl.textContent = ''; } } }); } function refreshArrivalsDepartures() { var bust = Date.now(); Promise.all([ fetch('https://flight-feed.bdl.aocadp.com/v1/flights?config=webSiteAllArrivals&_=' + bust, { cache: 'no-store' }).then(function (r) { return r.text(); }), fetch('https://flight-feed.bdl.aocadp.com/v1/flights?config=webSiteAllDepartures&_=' + bust, { cache: 'no-store' }).then(function (r) { return r.text(); }) ]).then(function (results) { refreshRows('arrivalrows', parseFlights(results[0])); refreshRows('departurerows', parseFlights(results[1])); }).catch(function (err) { console.error('Arrivals/Departures refresh failed', err); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', refreshArrivalsDepartures); } else { refreshArrivalsDepartures(); } })(); (function () { function statusColor(status) { return status === 'Open' ? 'rgb(0,128,0)' : 'rgb(222, 38, 38)'; } function refreshLotBadges(rows) { var grids = document.querySelectorAll('.x-grid.e18438-e26'); grids.forEach(function (grid) { var labelEl = grid.querySelector('.parklink'); if (!labelEl) return; var label = labelEl.textContent.trim(); var row = rows.find(function (r) { return r.label === label; }); if (!row) return; var cells = grid.querySelectorAll('.x-cell'); if (cells.length < 2) return; var badge = cells[1].querySelector('div[style*="background-color"]'); if (!badge) return; badge.textContent = row.status; badge.style.backgroundColor = statusColor(row.status); }); } function refreshGarage(counts) { var pct = Math.round((counts.occupied / counts.total) * 100); var label = document.querySelector('.e18438-e25 h1'); if (label) label.textContent = pct + '% FULL'; var canvas = document.getElementById('e18438-e19'); if (canvas && window.Chart && typeof Chart.getChart === 'function') { var chart = Chart.getChart(canvas); if (chart && chart.data && chart.data.datasets && chart.data.datasets[0]) { chart.data.datasets[0].data[0] = pct; chart.update(); } } } function refreshParkingWidget() { var bust = Date.now(); Promise.all([ fetch('/wp-content/uploads/bdl_hangar.json?_=' + bust, { cache: 'no-store' }).then(function (r) { return r.json(); }), fetch('/wp-content/uploads/bdl_parkassist_status.json?_=' + bust, { cache: 'no-store' }).then(function (r) { return r.json(); }) ]).then(function (results) { refreshLotBadges(results[0].rows); refreshGarage(results[1].counts); }).catch(function (err) { console.error('Parking widget refresh failed', err); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', refreshParkingWidget); } else { refreshParkingWidget(); } })();