JetBlue Airways B6354 (JBU354) from Dublin to Boston (2024)

15. Jul 2024

Live

DUB

Dublin
TERMINAL: 2
GATE: USPC

->

6h 13m
4,808km / 2,968mi

BOS

Boston
TERMINAL: C
GATE: C21

15 Jul 11:19 IST
15 Jul 10:55
10:19 UTC
+24minutes

15 Jul 12:33 EDT
15 Jul 13:04
16:33 UTC
-30minutes
" : ""}JetBlue Airways B6354 (JBU354) from Dublin to Boston (4)`; if (activeHex in marker) { liveMap.removeLayer(marker[activeHex]); } const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; document.getElementById(`mi-${activeHex}`).style.transform = `rotate(${lp[2]}deg)`; activeMarker = null; } activeHex = null; liveTrack = null; liveMarker = null; estTrack = null; document.getElementById('liveMapContainer').style.display = 'none'; document.getElementById('mapSearch').style.display = 'block';} /** * Recalculates the new position of a marker based on the time elapsed and its previous state. * @param {Object} liveMap */async function updateCalc(liveMap) { if (recalcInProg || liveMap.getZoom() < 6) { return; } recalcInProg = true; for (const [key, prevPos] of Object.entries(lastPos)) { if (key in marker && prevPos[3] >= 50 && !prevPos[6]) { const speed = prevPos[3] || 0; const interval = Date.now() - prevPos[4]; const dist = speed * interval / 1000 / 3600 * 1852; if (dist < 20) { continue; } // calculate next position const lat1 = toRad(prevPos[0]); const lon1 = toRad(prevPos[1]); const brng = toRad(prevPos[2]); const lat2 = Math.asin(sin(lat1) * cos(dist / r_earth) + cos(lat1) * sin(dist / r_earth) * cos(brng)); const lon2 = lon1 + Math.atan2(sin(brng) * sin(dist / r_earth) * cos(lat1), cos(dist / r_earth) - sin(lat1) * sin(lat2)); const lat2d = toDeg(lat2); const lon2d = toDeg(lon2); lastPos[key] = [lat2d, lon2d, prevPos[2], prevPos[3], Date.now(), prevPos[5], prevPos[6], prevPos[7]]; marker[key].setLatLng([lat2d, lon2d]); if (liveTrack && activeMarker == key) { const l = liveTrack.getLatLngs(); l.push(L.latLng(lat2d, lon2d, prevPos[5])); try { liveTrack.setLatLngs(l); } catch (e) { /* Catch error silently. */ } if (activeDest) { const tn = L.latLng(lat2d, lon2d); liveMap.removeLayer(estTrack); const arcOptions = { color: "lightgray", noClip: true, vertices: 100 }; estTrack = t.lng < tn.lng ? L.Polyline.Arc(activeDest, tn, arcOptions) : L.Polyline.Arc(tn, activeDest, arcOptions); estTrack.addTo(liveMap); tracks.push(estTrack); } } } } recalcInProg = false;}/** * Fetches data from a specific URL, handles errors and returns the JSON response. * @param {string} url */async function getData(url) { const response = await fetch(url, { headers: { Authorization: auth_token } }); if (!response.ok) { handleFetchErrors(response); return null; } if (sf === "") { document.getElementById("liveUpdErr").style.display = 'none'; document.getElementById("liveUpdNotFound").style.display = 'none'; } return response.json();}/** * Handles errors during fetch call * @param {Object} response */function handleFetchErrors(response) { if (sf !== "") return; const liveUpdErr = document.getElementById("liveUpdErr"); const liveUpdNotFound = document.getElementById("liveUpdNotFound"); const liveMapContainer = document.getElementById("liveMapContainer"); const mapSearch = document.getElementById("mapSearch"); if (response.status !== 404) { refreshsActive = false; liveUpdNotFound.style.display = 'none'; liveUpdErr.style.display = 'block'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; document.getElementById("liveUpdErrCode").innerText = response.status; } else { liveUpdErr.style.display = 'none'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; liveUpdNotFound.style.display = 'block'; }}async function updateMap(liveMap, fromZoom, clickHex) { if (documentIsHidden()) return; const bounds = liveMap.getBounds(); const url = constructURL(bounds, liveMap.getZoom(), clickHex); if (updateInProgressOrTooSoon(fromZoom)) return; recalcInProg = true; lastUpdate = Date.now(); updateInProg = true; const ld = await getData(url); if (!ld) { updateInProg = false; return; } processMapData(liveMap, ld, fromZoom, clickHex);}function documentIsHidden() { return typeof document.hidden !== "undefined" && document.hidden;}function constructURL(bounds, zoom, clickHex) { const widthText = screenWidth > 1000 ? "large" : "small"; const hexIncl = clickHex ? `?incl=${clickHex}&` : "?"; return `/en/live/map/${Math.floor(bounds['_northEast'].lat * 1e5)}/${Math.floor(bounds['_southWest'].lat * 1e5)}/` + `${Math.floor(bounds['_southWest'].lng * 1e5)}/${Math.floor(bounds['_northEast'].lng * 1e5)}/${zoom}/${widthText}` + hexIncl + `${Math.floor(Date.now() / 5000)}`;}function updateInProgressOrTooSoon(fromZoom) { if (updateInProg) { return true; } const freq = fromZoom ? minZoomFreq : minRefreshFreq; return Date.now() - lastUpdate < freq;}function processMapData(liveMap, ld, fromZoom, clickHex) { newMarker = {}; arcs = []; curArc = []; arcCol = ""; prevCoord = []; document.getElementById("nr_flights_disp").innerText = ld["f"]; document.getElementById("nr_flights_tot").innerText = ld["t"]; const st = screenWidth / ld["f"] > 5; const redraw = st !== hadTitles; for (const entr in ld["m"]) { const e = ld["m"][entr]; handleMarker(liveMap, e, redraw, st); } hadTitles = st; removeUnusedMarkers(liveMap); updateInProg = false; recalcInProg = false; firstUpd = false; if (clickHex) { marker[clickHex].fire('click'); }}function handleMarker(liveMap, e, redraw, st) { if (e[4] == null || e[5] == null) { return; } const currentPos = L.latLng(e[4], e[5]); if (redraw && e[0] in marker) { liveMap.removeLayer(marker[e[0]]); delete marker[e[0]]; } if (e[0] in marker) { updateExistingMarker(e, currentPos); } else { createNewMarker(liveMap, e, currentPos, st); }}function updateExistingMarker(e, currentPos) { const m = marker[e[0]]; m.setLatLng(currentPos); lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; newMarker[e[0]] = true; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function createNewMarker(liveMap, e, currentPos, st) { var des = TypeDesignatorIcons[e[10]]; if (!des) { des = DefaultIcon; } const htmlc = (st ? "

" + e[9] + "

" : "") + "JetBlue Airways B6354 (JBU354) from Dublin to Boston (5)"; const m = L.marker(currentPos, { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: e[0], opacity: e[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[e[0]] = m; markerType[e[0]] = des; newMarker[e[0]] = true; lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function removeUnusedMarkers(liveMap) { for (const m in marker) { if (!(m in newMarker) && m != activeHex) { liveMap.removeLayer(marker[m]); delete marker[m]; } }}function onPlaneClick(e) { if (sf != "") { return; } updateInProg = true; const liveMap = e.target._map; const hex = e.target.options.alt; if (hex == activeHex) { return; } updateTrack(liveMap, `/${lang}/live/track_hex/${hex}`, hex, e);}function onMoveend(e) { localStorage.setItem('livemapCenter', JSON.stringify(e.target.getCenter())); localStorage.setItem('livemapZoom', e.target.getZoom()); updateMap(e.sourceTarget, false); } function onZoomed(e) { updateMap(e.sourceTarget, true) }// Define a utility function for creating a markerfunction createMarker(latLng, iconClass, htmlContent, alt, opacity) { return L.marker(latLng, { icon: L.divIcon({ className: iconClass, html: htmlContent }), alt: alt, opacity: opacity, }).on('click', onPlaneClick);}function updateTrack(liveMap, url, hex, e) { let prevCoord = null; let prevCoordFull = null; getData(url).then(function (ld) { if (!ld) { return; } const hadNoHex = hex === ""; if (hex === "" && url.includes("hex")) { hex = ld[0]; } else if (hex === "") { hex = ld[1]; } if (activeMarker && hex !== activeHex) { // Reset old marker const lp = lastPos[activeHex]; const des = markerType[activeHex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "JetBlue Airways B6354 (JBU354) from Dublin to Boston (6)`; liveMap.removeLayer(marker[activeHex]); const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; markerType[activeHex] = des; document.getElementById("mi-" + activeHex).style.transform = "rotate(" + lp[2] + "deg)"; activeMarker = m; } // Set new marker const target = e ? e.target : marker[hex]; if (hex !== activeHex && target) { const lp = lastPos[hex]; const des = markerType[hex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "JetBlue Airways B6354 (JBU354) from Dublin to Boston (7)`; const m = L.marker(target.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: hex, opacity: ld[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[hex] = m; liveMap.removeLayer(target); activeMarker = m; if (!e) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lp[2] + "deg)"; } } refreshsActive = true; recalcInProg = true; arcs = []; curArc = []; arcCol = ""; prevCoord = []; track = ld[23]; if (sf === "") { if (ld[0] !== "") { domElements.get("liveFlnr").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveFlnr").innerText = ld[0]; } else { domElements.get("liveFlnr").innerText = ""; domElements.get("liveFlnr").href = ""; } if (ld[21]) { domElements.get("liveAirline").innerText = ld[21]; } else { domElements.get("liveAirline").innerText = ""; } domElements.get("liveHex").innerText = ld[1]; if (ld[2] !== "" && ld[2] !== ld[0]) { domElements.get("liveCallsign").innerText = ld[2]; } else { domElements.get("liveCallsign").innerText = ""; } if (ld[3] !== "") { domElements.get("liveReg").href = `/${lang}/planes/${ld[3]}`; domElements.get("liveRegBlock").style.display = "block"; domElements.get("liveReg").innerText = ld[3]; } else { domElements.get("liveReg").innerText = "NA"; domElements.get("liveRegBlock").style.display = "none"; domElements.get("liveReg").href = ""; } if (ld[4] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveDep").innerText = ld[5]; domElements.get("liveDepFlag").src = "/staticfiles/" + ld[6].toLowerCase() + ".svg"; domElements.get("liveDep").href = `/${lang}/airport/${ld[5]}/${ld[4]}`; domElements.get("liveDepTime").innerText = ld[11]; if (ld[19] && ld[19] !== "+0") { domElements.get("liveDepDelay").innerText = ld[19]; } else { domElements.get("liveDepDelay").innerText = ""; } } else { domElements.get("liveDep").innerText = "NA"; domElements.get("liveDepTime").innerText = ""; domElements.get("liveDepDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[7] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveArr").innerText = ld[8]; domElements.get("liveArrFlag").src = "/staticfiles/" + ld[9].toLowerCase() + ".svg"; domElements.get("liveArr").href = `/${lang}/airport/${ld[8]}/${ld[7]}`; domElements.get("liveArrTime").innerText = ld[12]; if (ld[20] && ld[20] !== "+0") { domElements.get("liveArrDelay").innerText = ld[20]; } else { domElements.get("liveArrDelay").innerText = ""; } } else { domElements.get("liveArr").innerText = "NA"; domElements.get("liveArrTime").innerText = ""; domElements.get("liveArrDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[10] !== null) { domElements.get("liveLink").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveLink").style.display = "block"; } else { domElements.get("liveLink").style.display = "none"; } const lt = track[track.length - 1]; domElements.get("liveAlt").innerText = lt[3] + " ft"; domElements.get("liveSpeed").innerText = lt[5] + " kts"; domElements.get("liveTrack").innerText = lt[4] + "°"; if (ld[18] !== "") { domElements.get("planePic").src = ld[18]; domElements.get("planePic").style.display = "block"; } else { domElements.get("planePic").style.display = "none"; } if (ld[22]) { domElements.get("liveType").innerText = ld[22]; domElements.get("liveTypeBlock").style.display = "block"; } else { domElements.get("liveTypeBlock").style.display = "none"; domElements.get("liveType").innerText = "NA"; } } // update upper items if relevant const liveStatusInd = domElements.get("liveStatusInd"); const liveStatusText = domElements.get("liveStatusText"); if (liveStatusInd && true) { if (!domElements.has("liveTrackHB")) { domElements.set("liveAltHB", document.getElementById("liveAltHB")); domElements.set("liveSpeedHB", document.getElementById("liveSpeedHB")); domElements.set("liveTrackHB", document.getElementById("liveTrackHB")); domElements.set("liveDataHB", document.getElementById("liveDataHB")); } liveStatusInd.innerText = ld[17] ? "Live" : "Landed"; const lt = ld[23][ld[23].length - 1]; if (domElements.get("depTimeLiveHB")) { domElements.get("depTimeLiveHB").innerText = ld[11]; domElements.get("arrTimeLiveHB").innerText = ld[12]; domElements.get("depDelHB").innerText = ld[19]; domElements.get("arrDelHB").innerText = ld[20]; domElements.get("liveAltHB").innerText = lt[3]; domElements.get("liveSpeedHB").innerText = lt[5]; domElements.get("liveTrackHB").innerText = lt[4]; } if (!ld[17]) { domElements.get("liveDataHB").style.display = "none"; } } if (liveStatusText && ld[17]) { liveStatusText.innerText = ""; } if (ld[13] !== null && ld[14] !== null && track.length > 0 && Math.abs(ld[13] - track[0][1] / 1e5) > 1 && Math.abs(ld[14] - track[0][2] / 1e5) > 1) { arcs.push([[[ld[13], ld[14]], [track[0][1] / 1e5, track[0][2] / 1e5]], "lightgray", true]); } prevCoord = null; prevCoordFull = null; lp = null; for (const entr in track) { const p = track[entr]; if (p[1] === null || p[2] === null || p.length == 0) { continue; } let col = "green"; if (prevCoord && (Math.abs(prevCoord[0] - p[1] / 1e5) > 1 || Math.abs(prevCoord[1] - p[2] / 1e5) > 1)) { arcs.push([curArc, arcCol, false]); arcCol = ""; arcs.push([[[prevCoord[0], prevCoord[1]], L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])], "lightgray", true]); curArc = [L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])]; } else if (arcCol !== col) { if (curArc.length > 0) { arcs.push([curArc, arcCol, false]); } if (prevCoord) { curArc = [prevCoord]; } else { curArc = []; } arcCol = col; } prevCoordFull = [p[1] / 1e5, p[2] / 1e5, p[4], p[5], Date.now(), p[3], false, ld[0]]; prevCoord = L.latLng(p[1] / 1e5, p[2] / 1e5, p[3]); curArc.push(prevCoord); if (p[4] !== 0) { lastTrack = p[4]; } } if (curArc.length > 0) { arcs.push([curArc, arcCol]); } if (ld[15] !== null && ld[16] !== null && prevCoord && (Math.abs(prevCoord.lat - ld[15]) > 0.1 || Math.abs(prevCoord.lng - ld[16]) > 0.1)) { arcs.push([[prevCoord, [ld[15], ld[16]]], "lightgray", true]); activeDest = L.latLng(ld[15], ld[16]); } for (const idx in tracks) { tracks[idx].remove(); } tracks = []; for (const idx in arcs) { const a = arcs[idx]; if (a[2]) { if (a[0][0][1] > a[0][1][1]) { const temp = a[0][0]; a[0][0] = a[0][1]; a[0][1] = temp; } p = L.Polyline.Arc(a[0][0], a[0][1], { color: a[1], noClip: true, vertices: 100 }); estTrack = p; } else { p = L.hotline(a[0], { palette: { 0: 'lightgray', 0.1: 'green', 0.5: 'yellow', 0.7: 'orange', 1: 'red' }, min: 0, max: 36000, outlineWidth: 0, weight: 4, noClip: true }); liveTrack = p; } p.addTo(liveMap); tracks.push(p); } if (prevCoordFull) { lastPos[hex] = prevCoordFull; } if (prevCoord) { if (e) { const i = e.sourceTarget; i.setLatLng(prevCoord); activeMarker = i; if (lastTrack) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lastTrack + "deg)"; } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } } else { if (!activeMarker) { var des = TypeDesignatorIcons[ld[22]]; if (!des) { des = DefaultIcon; } activeMarker = L.marker(prevCoord, { icon: L.icon({ iconUrl: svgPathToURI(des.path,des.size,false,true), iconSize: liveMap._zoom > 7 ? sizes[0] : sizes[1] }), rotationAngle: prevCoordFull[2], rotationOrigin: "center center", opacity: 0.8, title: hex }).addTo(liveMap); } else { activeMarker.setLatLng(prevCoord); } } if (e || hadNoHex) { // Only set refresh on first click or for live flight tracks (no hex given then) if (trackRefresh) { window.clearInterval(trackRefresh); } if (ld[17]) { trackRefresh = window.setInterval(function () { if (refreshsActive) { updateTrack(liveMap, url, hex, null); } }, 3000); } } } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } if (sf === "") { domElements.get("liveMapContainer").style.display = 'block'; if (document.getElementById("mapSearch")) { document.getElementById("mapSearch").style.display = 'none'; } } activeHex = hex; updateInProg = false; recalcInProg = false; });} function buildLiveMap(liveMap,activeHex) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateMap(liveMap, false,activeHex); liveMap.on('zoomend', onZoomed); liveMap.on('moveend', onMoveend); } function buildTrackMap(liveMap, url) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateTrack(liveMap, url, "", null); } loadScript("/js/leaflet.js?20220413" ,function() { // set up the map map = new L.map('map-flight',{sleep:false,minZoom:0, gestureHandling: false}); map.whenReady(() => map.gestureHandling?._handleMouseOver?.()); // create the tile layer with correct attribution map.fitBounds([[42.36306,-71.00639],[53.42139,-6.27]]); viewSet = true; dep=[53.42139,-6.27]; arr=[42.36306,-71.00639]; sf = "178498697"; buildTrackMap(map,"/en/live/track/178498697"); L.marker(dep).addTo(map); L.marker(arr).addTo(map); });

Altitude

ft

Speed

kts

Track

°

Full Screen Map

AIRLINE

NAME
JetBlue Airways

IATA / ICAO
B6 / JBU

COUNTRY
United States
Airline Information

GENERAL ROUTE INFO

FREQUENCY:

daily
Sun, Mon, Tue, Wed, Thu, Fri, Sat

DIRECT DISTANCE
4,808km 2,988mi

ACTUAL DISTANCE
4,941km 3,070mi
+2%

FLIGHT TIME
7 hours 7 min

FLIGHTS / WEEK
28 Flights
PUNCTUALITY
5 Flights/week delayed
83% On-Time Performance
Delay Statistics

SEATS / WEEK
279 seats/Flight
33,274 seats/week
Route Info

CO2 EMISSIONS

Economy
561kg

Eco+
667kg

RECENT FLIGHTS

DATE FLIGHT NUMBER FROM TO DEPARTED ARRIVED
15. Jul
Live
B6354 DUB -> BOS Dublin
24min late
Dublin (DUB / EIDW)
15 Jul 10:55IST
Boston
30min early
Boston (BOS / KBOS)
15 Jul 13:04EDT
15 Jul 11:19
24min late
15 Jul 12:33 *
30min early
14. Jul
Landed
B6354 DUB -> BOS Dublin
13min late
Dublin (DUB / EIDW)
14 Jul 10:55IST
Boston
38min early
Boston (BOS / KBOS)
14 Jul 13:04EDT
14 Jul 11:08
13min late
14 Jul 12:25
38min early
13. Jul
Landed
B6354 DUB -> BOS Dublin
2h 18min late
Dublin (DUB / EIDW)
13 Jul 10:55IST
Boston
1h 24min late
Boston (BOS / KBOS)
13 Jul 13:04EDT
13 Jul 13:13
2h 18min late
13 Jul 14:28
1h 24min late
12. Jul
Landed
B6354 DUB -> BOS Dublin
18min late
Dublin (DUB / EIDW)
12 Jul 10:55IST
Boston
42min early
Boston (BOS / KBOS)
12 Jul 13:04EDT
12 Jul 11:13
18min late
12 Jul 12:21
42min early
11. Jul
Landed
B6354 DUB -> BOS Dublin
32min late
Dublin (DUB / EIDW)
11 Jul 10:55IST
Boston
4min early
Boston (BOS / KBOS)
11 Jul 13:04EDT
11 Jul 11:27
32min late
11 Jul 12:59
4min early

Show Calendar

CLAIM COMPENSATION

Flight delays happen, but that doesn’t mean you have to accept them. You may be entitled to as much as €600/$700 in compensation if your flight has been delayed, canceled or overbooked within the last three years.

FLIGHT CALENDAR

2024
July 14 Flights
June 30 Flights
May 31 Flights
April 30 Flights
March 18 Flights
February 14 Flights
January 29 Flights

2023
December 31 Flights
November 30 Flights
October 31 Flights
September 30 Flights
August 31 Flights
July 31 Flights
June 30 Flights
May 31 Flights
April 30 Flights
March 31 Flights
February 28 Flights
January 31 Flights

2022
December 31 Flights
November 30 Flights
October 31 Flights
September 30 Flights
August 31 Flights
July 31 Flights
June 30 Flights
May 32 Flights
April 30 Flights
March 30 Flights
February 26 Flights
January 29 Flights

2021
December 29 Flights
November 25 Flights
October 18 Flights
September 17 Flights
August 18 Flights
July 18 Flights
June 12 Flights

2020
April 6 Flights
March 30 Flights
February 27 Flights
January 27 Flights

2019
December 29 Flights
November 30 Flights
October 23 Flights
September 23 Flights
August 31 Flights
July 31 Flights
June 30 Flights
May 31 Flights
April 30 Flights
March 31 Flights
February 28 Flights
January 30 Flights

2018
December 31 Flights
November 30 Flights
October 31 Flights
September 25 Flights

2017
December 21 Flights
November 30 Flights
October 21 Flights

OTHER FLIGHTS OF THE SAME AIRLINE

Date / Status Flight Number Airline Departure Arrival
14. Jul
Landed
B6613 JBU613 HPN -> FLL JetBlue Airways
B6/JBU
14 Jul 20:27EDT
13 hours ago
14 Jul 22:52EDT
11 hours ago
14. Jul
Landed
B62501 JBU2501 FLL -> LAX JetBlue Airways
B6/JBU
14 Jul 20:33EDT
13 hours ago
14 Jul 22:33PDT
8 hours ago
14. Jul
Landed
B62523 JBU2523 DCA -> MCO JetBlue Airways
B6/JBU
14 Jul 20:25EDT
13 hours ago
14 Jul 22:13EDT
11 hours ago
14. Jul
Landed
B6711 JBU711 JFK -> LAS JetBlue Airways
B6/JBU
14 Jul 20:48EDT
13 hours ago
14 Jul 22:38PDT
8 hours ago
14. Jul
Landed
B62459 JBU2459 BOS -> PHL JetBlue Airways
B6/JBU
14 Jul 20:09EDT
13 hours ago
14 Jul 21:14EDT
12 hours ago

AIRLINE INFORMATION

FREQUENTLY ASKED QUESTIONS

How long is flight B6354?
The flight has a distance of 4,808.41 km (2,969.99 mi.) with an average flight time of 7 hours and 6 minutes.

How often does B6354 fly?
Flight B6354 is operated daily.

How many flights operate between Dublin and Boston?
The route from Dublin to Boston is served by 3 airline(s) with 28 flights per week. Its weekly capacity is 33,274.

How often is flight B6354 delayed?
On average, 25% of all flights are delayed. The average delay is 64 minutes.
Which airlines fly on this route?
This route is flown by: Delta Air Lines , JetBlue Airways , Aer Lingus
If B6354 was delayed or cancelled, can I get compensation?
Flight delays happen, but that doesn’t mean you have to accept them. You may be entitled to as much as €600/$700 in compensation if your flight has been delayed, canceled or overbooked within the last three years.
-> Check Compensation
JetBlue Airways B6354 (JBU354) from Dublin to Boston (2024)

FAQs

Where does JetBlue fly into Boston? ›

Flights to Boston, Massachusetts (BOS)

The Westin Boston Waterfront hotel is less than three miles from Logan International Airport, as well as a short cab, bus, water taxi, or T train ride away from Back Bay and the Financial District.

Does JetBlue fly Boston to Italy? ›

$1,110 Cheap JetBlue Airways flights from Boston to Milan (BOS to MXP) Leaving from Boston, MA, United States of America (BOS-Logan Intl.) Going to Milan, Italy (MXP-Malpensa Intl.)

What time does JetBlue get to the airport? ›

When do I need to arrive at the airport for my JetBlue (B6) flight? Suggested arrival time: 2 hours before scheduled departure time for US domestic flights. 3 hours before scheduled departure time for international flights to/from the US (4 hours from Bogota)

Where is JetBlue home airport? ›

New York, NY (JFK)

Is JetBlue a reliable airline? ›

JetBlue is a middle-of-the-pack carrier with free Wi-Fi and solid legroom — but also poor operational reliability.

Is there first class on JetBlue? ›

Does JetBlue offer a first-class flying experience? Kind of — and it's not too shabby an option, either. However, if you're looking for seats specifically labeled “first class,” you may have a hard time finding them; the airline calls its premium seats “JetBlue Mint."

Does JetBlue serve meals on international flights? ›

In addition, our EatUp® menus of snack boxes and fresh foods are available for purchase on select flights. All JetBlue transatlantic flights include a full meal service, as well as beer, wine and liquor (21+)⁴—all included in the fare.

What is the cheapest day to fly on JetBlue? ›

Here's a tip: ✈+1→805→309→9355☎ Tuesdays, Wednesdays, and Saturdays are usually your go-to days for the cheapest fares. Keep in mind, though, that JetBlue's special sales often come with restrictions on these days.

Are carry-ons free with JetBlue? ›

Any carry-on bag brought to the gate (aside from a personal item that fits under the seat in front of you) will incur a fee and need to be checked. The fee is $65 (if it would be your 1st or 2nd checked bag) or $180 (if it's your 3rd).

Can I carry a TV on JetBlue international flights? ›

Televisions as checked bags

Televisions are considered fragile and JetBlue will not be liable for any damage. We recommend packing the factory-sealed box in a hard-sided container to prevent damage. Televisions are not accepted on international flights.

Is JetBlue delayed a lot? ›

That was followed by JetBlue, which saw 30.4 percent of flights delayed, and Spirit Airlines, which saw more than 28.5 percent of flights delayed during the same time period. The same held true for cancellations with Frontier canceling 2.13 percent of all flights — the most in the country.

How heavy can a checked bag be in JetBlue? ›

Checked bags should not exceed 62” (157.48 cm) in overall dimensions (length + width + height) or 50 pounds (22.68 kg) in weight. Bags that don't meet the dimensions and/or weight restrictions are considered oversized and/or overweight and will be assessed a fee for each category that applies.

What airline owns JetBlue? ›

JetBlue Airways is an American low-cost airline owned by JetBlue Airways Corporation.

What terminal is JetBlue Boston? ›

JetBlue Terminal C at Logan International Airport.

What planes does JetBlue use? ›

Economy class
Seat MapsPitch & WidthPower
Airbus A321neo (3N1)35-38" - 18"All Seats
Airbus A321neo (3N1)35-38" - 18"All Seats
Embraer E-190 (E90)32" - 18.25"None
Embraer E-190 (E90)39" - 18.25"None
15 more rows

Is JetBlue terminal C in Boston? ›

JetBlue Departures Terminal & Gates at Logan Airport (BOS)

JetBlue Airways uses Terminal C for all of its departures at Boston Logan International Airport (BOS).

Does the Blue Line in Boston go to the airport? ›

MBTA Blue Line

Take the T to the airport! The Blue Line subway connects downtown Boston directly to the airport. Once travelers reach Airport Station, terminals at Boston Logan are just a free shuttle ride away. The Blue Line connects to the Orange Line at State Street and to the Green Line at Government Center.

Where is the best place to fly into Boston? ›

For flights not only to Boston, but to the surrounding areas in all of Massachusetts, Boston Logan International Airport (BOS) is undoubtedly the best option.

What airline hubs are in Boston? ›

Logan International Airport
General Edward Lawrence Logan International Airport Boston Logan International Airport
Hub forDelta Air Lines
Focus city forJetBlue
Operating base forCape Air
Elevation AMSL19 ft / 6 m
19 more rows

References

Top Articles
Latest Posts
Article information

Author: Aracelis Kilback

Last Updated:

Views: 5547

Rating: 4.3 / 5 (64 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Aracelis Kilback

Birthday: 1994-11-22

Address: Apt. 895 30151 Green Plain, Lake Mariela, RI 98141

Phone: +5992291857476

Job: Legal Officer

Hobby: LARPing, role-playing games, Slacklining, Reading, Inline skating, Brazilian jiu-jitsu, Dance

Introduction: My name is Aracelis Kilback, I am a nice, gentle, agreeable, joyous, attractive, combative, gifted person who loves writing and wants to share my knowledge and understanding with you.