Royal Jordanian RJ110 (RJA110) desde Madrid a Amman (2024)

11. ago 2024

Aterrizado
El vuelo ha aterrizado. Llegó 1 dias atrás ( 12 min tarde).

MAD

Madrid
TERMINAL: 4S
PUERTA: S34

->

4h 26m
4,154km / 2,564mi
(Direct: 3,655km, +12%)

AMM

Amman
TERMINAL: 4S
PUERTA: NRA

11 ago 17:20CEST
11 Aug 16:35
15:20 UTC
45 min tarde

11 Aug 22:47 UTC+03
11 Aug 22:35
19:47 UTC
12 min tarde
" : ""}Royal Jordanian RJ110 (RJA110) desde Madrid a Amman (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] + "

" : "") + "Royal Jordanian RJ110 (RJA110) desde Madrid a Amman (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] + "

" : "") + "Royal Jordanian RJ110 (RJA110) desde Madrid a Amman (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] + "

" : "") + "Royal Jordanian RJ110 (RJA110) desde Madrid a Amman (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] ? "Vivir" : "Aterrizado"; 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([[31.7225,-3.56083],[40.47222,35.99333]]); viewSet = true; dep=[40.47222,-3.56083]; arr=[31.7225,35.99333]; sf = "184023919"; buildTrackMap(map,"/es/live/track/184023919"); L.marker(dep).addTo(map); L.marker(arr).addTo(map); });

Altitud

ft

Velocidad

kts

Pista

°

Mapa a pantalla completa

COMPAÑÍA AÉREA

NOMBRE
Royal Jordanian

IATA / ICAO
RJ / RJA

PAÍS
Jordan
Información De Aerolíneas

AVIÓN

IDENTIFICADOR ICAO
740739

CONFIGURACIÓN DE ASIENTOS
120 asientos
12 Negocio108 Economía

PRIMER VUELO
oct 2006
17 años atrás
Información De Avión

INFORMACIÓN GENERAL DE LA RUTA

FRECUENCIA:

5x por semana
Dom, Mar, Jue, Vie, Sáb

DISTANCIA DIRECTA
3,655km 2,271mi

DISTANCIA REAL
3,839km 2,385mi
+5%

TIEMPO DE VUELO
5 hours 0 min

VUELOS / SEMANA
6 Vuelos
PUNTUALIDAD
2 Vuelos/semana retrasado
68% Desempeño a tiempo
Estadísticas De Retrasos

ASIENTOS / SEMANA
146 asientos/Vuelo
3,673 asientos/semana
Información De Ruta

EMISIONES DE CO2

Economía
675kg

Negocio
1,054kg

VUELOS RECIENTES

FECHA NÚMERO DE VUELO DESDE A PARTIDA LLEGADO
12. ago
Aterrizado
RJ110 MAD -> AMM Madrid
20 min tarde
Madrid (MAD / LEMD)
12 ago 16:35CEST
Amman
9 min tarde
Amman (AMM / OJAI)
12 ago 22:45UTC+03
12 ago 16:55
20 min tarde
12 ago 22:54
9 min tarde
11. ago
Aterrizado
RJ110 MAD -> AMM Madrid
45 min tarde
Madrid (MAD / LEMD)
11 ago 16:35CEST
Amman
12 min tarde
Amman (AMM / OJAI)
11 ago 22:35UTC+03
11 ago 17:20
45 min tarde
11 ago 22:47
12 min tarde
10. ago
Aterrizado
RJ110 MAD -> AMM Madrid
39 min tarde
Madrid (MAD / LEMD)
10 ago 16:35CEST
Amman
15 min tarde
Amman (AMM / OJAI)
10 ago 22:35UTC+03
10 ago 17:14
39 min tarde
10 ago 22:50
15 min tarde
09. ago
Aterrizado
RJ110 MAD -> AMM Madrid
54 min tarde
Madrid (MAD / LEMD)
09 ago 16:35CEST
Amman
23 min tarde
Amman (AMM / OJAI)
09 ago 22:35UTC+03
09 ago 17:29
54 min tarde
09 ago 22:58
23 min tarde
07. ago
Aterrizado
RJ110 MAD -> AMM Madrid
1 h 1 min temprano
Madrid (MAD / LEMD)
07 ago 16:35CEST
Amman
4 min tarde
Amman (AMM / OJAI)
07 ago 22:35UTC+03
07 ago 15:33
1 h 1 min temprano
07 ago 22:39
4 min tarde

Mostrar Calendario

COMPROBAR COMPENSACIÓN

Los vuelos se retrasan, pero eso no significa que tengas que aceptarlo. ¿Vuelo retrasado, cancelado o con exceso de reservas en los últimos 3 años? Reclámale una compensación a tu aerolínea: ¡podrían corresponderte hasta 600 €!

CÓDIGO COMPARTIDO

Este vuelo es operado por Royal Jordanian como número de vuelo RJ110. Las entradas también se venden como:

Iberia IB1982

CALENDARIO DE VUELOS

2024
Agosto 8 Vuelos
Julio 22 Vuelos
Junio 14 Vuelos
Mayo 12 Vuelos
Abril 20 Vuelos
Marzo 22 Vuelos
Febrero 16 Vuelos
Enero 19 Vuelos

2023
Diciembre 21 Vuelos
Noviembre 24 Vuelos
Octubre 27 Vuelos
Septiembre 26 Vuelos
Agosto 22 Vuelos
Julio 22 Vuelos
Junio 20 Vuelos
Mayo 22 Vuelos
Abril 22 Vuelos
Marzo 18 Vuelos
Febrero 14 Vuelos
Enero 18 Vuelos

2022
Diciembre 16 Vuelos
Noviembre 18 Vuelos
Octubre 18 Vuelos
Septiembre 16 Vuelos
Agosto 22 Vuelos
Julio 23 Vuelos
Junio 20 Vuelos
Mayo 18 Vuelos
Abril 17 Vuelos
Marzo 14 Vuelos
Febrero 3 Vuelos
Enero 11 Vuelos

2021
Diciembre 12 Vuelos
Noviembre 13 Vuelos
Octubre 13 Vuelos
Septiembre 5 Vuelos
Julio 1 Vuelos
Junio 1 Vuelos

2020
Marzo 9 Vuelos
Febrero 17 Vuelos
Enero 17 Vuelos

2019
Diciembre 17 Vuelos
Noviembre 13 Vuelos
Octubre 18 Vuelos
Septiembre 18 Vuelos
Agosto 22 Vuelos
Julio 22 Vuelos
Junio 22 Vuelos
Mayo 17 Vuelos
Abril 17 Vuelos
Marzo 18 Vuelos
Febrero 13 Vuelos
Enero 15 Vuelos

2018
Diciembre 16 Vuelos
Noviembre 12 Vuelos
Octubre 18 Vuelos
Septiembre 19 Vuelos
Agosto 22 Vuelos
Julio 22 Vuelos
Junio 22 Vuelos
Mayo 18 Vuelos
Abril 17 Vuelos
Marzo 17 Vuelos
Febrero 16 Vuelos
Enero 18 Vuelos

2017
Diciembre 18 Vuelos
Noviembre 17 Vuelos
Octubre 23 Vuelos
Septiembre 5 Vuelos

VUELOS DE LA MISMA AEROLÍNEA

Fecha / Estado Número De Vuelo Compañía Aérea Partida Llegada
12. ago
Aterrizado
RJ271 RJA271 AMM -> YUL Royal Jordanian
RJ/RJA
12 ago 03:17UTC+03
21 horas atrás
12 ago 07:08EDT
10 horas atrás
12. ago
Aterrizado
RJ830 RJA830 AMM -> BSR Royal Jordanian
RJ/RJA
12 ago 02:33UTC+03
22 horas atrás
12 ago 04:20UTC+03
20 horas atrás
12. ago
Aterrizado
RJ817 RJA817 BGW -> AMM Royal Jordanian
RJ/RJA
12 ago 02:07UTC+03
22 horas atrás
12 ago 03:20UTC+03
21 horas atrás
12. ago
Aterrizado
RJ265 RJA265 AMM -> ORD Royal Jordanian
RJ/RJA
12 ago 02:30UTC+03
22 horas atrás
12 ago 06:18CDT
10 horas atrás
12. ago
Aterrizado
RJ119 RJA119 AMM -> CDG Royal Jordanian
RJ/RJA
12 ago 02:20UTC+03
22 horas atrás
12 ago 06:04CEST
17 horas atrás

INFORMACIÓN DE AEROLÍNEAS

PREGUNTAS FRECUENTES

¿Cuánto dura el vuelo RJ110?
El vuelo tiene una distancia de 3,655.62 km (2,257.95 mi.) con un tiempo de vuelo medio de 5h 0m.

¿Con qué frecuencia vuela RJ110?
El vuelo RJ110 se opera varias veces por semana. Actualmente opera en lunes, miércoles, viernes, sábado, domingo.

¿Cuántos vuelos operan entre Madrid y Amman?
La ruta de Madrid a Amman es servida por 2 aerolínea(s) con 6 vuelos por semana. Su capacidad semanal es de 3,673.

¿Con qué frecuencia se retrasa el vuelo RJ110?
Por término medio, el 29% de los vuelos sufren retrasos. El retraso medio es de 21 minutos.
¿Qué compañías aéreas realizan esta ruta?
Esta ruta es volada por: Royal Jordanian , Ryanair
Si RJ110 se ha retrasado o cancelado, ¿puedo obtener una compensación?
Los vuelos se retrasan, pero eso no significa que tengas que aceptarlo. ¿Vuelo retrasado, cancelado o con exceso de reservas en los últimos 3 años? Reclámale una compensación a tu aerolínea: ¡podrían corresponderte hasta 600 €!
-> Comprobar compensación
Royal Jordanian RJ110 (RJA110) desde Madrid a Amman (2024)

References

Top Articles
Eingetragener Verein - Alles zum e.V.
Leo Neugebauer feiert Silber-Coup: "Ich habe aus meinen Fehlern gelernt"
Joe Taylor, K1JT – “WSJT-X FT8 and Beyond”
Pet For Sale Craigslist
Skycurve Replacement Mat
Jazmen Jafar Linkedin
Meer klaarheid bij toewijzing rechter
Pickswise the Free Sports Handicapping Service 2023
PGA of America leaving Palm Beach Gardens for Frisco, Texas
Natureza e Qualidade de Produtos - Gestão da Qualidade
Turbocharged Cars
Keurig Refillable Pods Walmart
Signs Of a Troubled TIPM
Echo & the Bunnymen - Lips Like Sugar Lyrics
Moparts Com Forum
Maplestar Kemono
Vanessa West Tripod Jeffrey Dahmer
Fool’s Paradise movie review (2023) | Roger Ebert
Weather Rotterdam - Detailed bulletin - Free 15-day Marine forecasts - METEO CONSULT MARINE
ABCproxy | World-Leading Provider of Residential IP Proxies
Samantha Aufderheide
Azur Lane High Efficiency Combat Logistics Plan
Yog-Sothoth
Morse Road Bmv Hours
LCS Saturday: Both Phillies and Astros one game from World Series
What Is The Lineup For Nascar Race Today
Apartments / Housing For Rent near Lake Placid, FL - craigslist
2487872771
What Individuals Need to Know When Raising Money for a Charitable Cause
Craigslist Panama City Beach Fl Pets
Amerisourcebergen Thoughtspot 2023
Craigslist Pasco Kennewick Richland Washington
27 Fantastic Things to do in Lynchburg, Virginia - Happy To Be Virginia
Best Restaurants Ventnor
Allegheny Clinic Primary Care North
Gabrielle Enright Weight Loss
Panchitos Harlingen Tx
Bridger Park Community Garden
Top-ranked Wisconsin beats Marquette in front of record volleyball crowd at Fiserv Forum. What we learned.
Admissions - New York Conservatory for Dramatic Arts
The Thing About ‘Dateline’
Evil Dead Rise (2023) | Film, Trailer, Kritik
Despacito Justin Bieber Lyrics
Payrollservers.us Webclock
Coffee County Tag Office Douglas Ga
Rs3 Nature Spirit Quick Guide
BCLJ July 19 2019 HTML Shawn Day Andrea Day Butler Pa Divorce
Lyons Hr Prism Login
Ups Customer Center Locations
Syrie Funeral Home Obituary
Craigslist Pets Charleston Wv
Hy-Vee, Inc. hiring Market Grille Express Assistant Department Manager in New Hope, MN | LinkedIn
Latest Posts
Article information

Author: Eusebia Nader

Last Updated:

Views: 6102

Rating: 5 / 5 (60 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Eusebia Nader

Birthday: 1994-11-11

Address: Apt. 721 977 Ebert Meadows, Jereville, GA 73618-6603

Phone: +2316203969400

Job: International Farming Consultant

Hobby: Reading, Photography, Shooting, Singing, Magic, Kayaking, Mushroom hunting

Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.