WY604 - Oman Air (OMA604) from Dubai to Muscat (2023)

26. august 2023

He landed
The plane has landed. It arrived7 hours ago (20 minutes early).
Dubai
DXB/OMDB

42m
348 km / 215 thousand

nutmeg
MCT/OOMS
(Video) Oman Air inflight B737-900 - Dubai International - Muscat

TERMINAL:1
DOOR:D20

A trip 11:17UTC+04
12 minutes late

Arrival 11:59UTC+04
20 minutes early

AIRLINE

DO
Oman Air

IATA/ICAO
MINE / OMA

END
Oman
Information about airlines
" : ""}WY604 - Oman Air (OMA604) from Dubai to Muscat (6)`; 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[3] ? 0, 9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); label [activehex] = m; document.getElementById(`mi-${activeHex}`).style.transform = `rotate(${lp[2]}degrees)`; activeMarker = null; } active Hex = null; liveTrack = null; liveMarker = null; estTrack = null; document.getElementById('liveMapContainer').style.display = 'none';} /** * Recalculates the cursor's new position based on the elapsed time and its previous state. * @param {Object} liveMap */ async function updateCalc(liveMap) { if (recalcInProg || liveMap.getZoom() < 6) { return; } recalcInProg = true; for (const [key, prevPos] objects.entries(lastPos)) { if (type && prevPos[3] >= 50 && !prevPos[6]) { const speed = prevPos[3] || 0; fixed interval = Date.now() - prevPos[4]; const dist = speed * range / 1000 / 3600 * 1852; if (distance < 20) { continue; } // calculate the next position const lat1 = toRad(prevPos[0]); const lon1 = toRad(prevPos[1]); const brng = toRad(prevPos[2]); const lat2 = Math.asin(sin(lat1) * cos(distance / r_ground) + cos(lat1) * sin(distance / r_ground) * cos(brng)); const lon2 = lon1 + Math.atan2(sin(brng) * sin(distance / r_earth) * cos(lat1), cos(distance / 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]]; label [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 the error silently. */ } if (activeDest) { const tn = L.latLng(lat2d, lon2d); liveMap.removeLayer(estTrack); const arcOptions = { color: "light gray", 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;}/** * Gets data from the specified URL, handles errors and returns a JSON response. * @param {string} url */async function getData(url) { const response = expect 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 = 'nothing'; } returnResponse.json();}/** * Handles fetch errors * @param {Object} response */ function handleFetchErrors(response) { if (sf !== "") return; const liveUpdErr = document.getElementById("liveUpdErr"); const liveUpdNotFound = document.getElementById("liveUpdNotFound"); const liveMapContainer = document.getElementById("liveMapContainer"); if (response.status !== 404) { refreshActive = false; liveUpdNotFound.style.display = 'nothing'; liveUpdErr.style.display = 'block'; liveMapContainer.style.display = 'none'; document.getElementById("liveUpdErrCode").innerText = response.status; } else { liveUpdErr.style.display = 'nothing'; liveMapContainer.style.display = 'none'; liveUpdNotFound.style.display = 'block'; }}asynchronous function updateMap(liveMap, fromZoom, clickHex) { if (documentIsHidden()) return; constbounds = liveMap.getBounds(); const url = constructURL(constraints, 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 document type.hidden !== "undefined" && document.hidden;} construct functionURL(bounds, zoom, clickHex) { const widthText = screenWidth > 1000? "Big Little"; 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 = ""; previousCoord = []; 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 entry in ld["m"]) { const e = ld["m"][entr]; handleMarker(liveMap, e, redraw, st); } hadTitles = st; remove unused tags (liveMap); updateInProg = false; recalcInProg = false; FirstUpd = false; if (clickHex) { cursor[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 (resign && e[0] in cursor) { liveMap.removeLayer(cursor[e[0]]); delete tags[e[0]]; } if (e[0] in marker) { updateExistingMarker(e, currentPos); } else { createNewMarker(liveMap, e, currentPos, st); }} update functionExistingMarker(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] + "degrees)"; function createNewMarker(liveMap, e, currentPos, st) { const htmlc = ( st?)

" + e[9] + "

" : "") + "WY604 - Oman Air (OMA604) from Dubai to Muscat (7)"; const m = L.marker(currentPos, {icon: L.divIcon({className: 'flt-marker', html: htmlc }), alt: e[0], krycie: e[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[e[0]] = m; newMarker[e[0]] = sand; 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)";}funkcja usuńUnusedMarkers(liveMap) { for (stała m w znaczniku) { if (!(m w nowym znaczniku) && m != aktywnyHex ) { liveMap.removeLayer(marker[m]); usuń znacznik[m]; } }}funktion påPlaneClick(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); }funktion påMoveend(e) { localStorage.setItem('livemapCenter', JSON.stringify(e.target.getCenter())); localStorage.setItem('livemapZoom', e.target.getZoom()); updateMap (f.eks. sourceTarget, false); }function onZoomed(e) { updateMap(e.sourceTarget, true) }// Funkcję definiuj funkcję użytkową do tworzenia funkcji marka createMarker(latLng, iconClass, htmlContent, alt, opacitet) { return L. markør (latLng , { ikona: L.divIcon({className: iconClass, html: htmlContent }), alt: alt, neprozirnost: neprozirnost, }).on('click', onPlaneClick);}funktion updateTrack(liveMap, url, hex , e) { niech prevCoord = null; niech prevCoordFull = null; getData(url).then(funktion (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) { // Zresetuj stary znacznik const lp = lastPos[activeHex] ; const htmlc = (hadTitles? "

" + lp[7] + "

" : "") + "WY604 - Oman Air (OMA604) from Dubai to Muscat (8)"; liveMap.removeLayer(marker[activeHex]); const m = L.marker(activeMarker.getLatLng(), {icon: L.divIcon({className: 'flt-marker', html: htmlc }), alt: activeHex , ključ: lp[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[activeHex] = m; document.getElementById("mi-" + activeHex) .style.transform = "rotate(" + lp[2] + "deg)"; activeMarker = m; } // Du skal nu bruge if (hex!== activeHex && e) { const lp = lastPos[hex]; const htmlc = (hadTitles ?"

" + lp[7] + "

" : "") + "WY604 - Oman Air (OMA604) from Dubai to Muscat (9)"; const m = L.marker(e.target.getLatLng(), { ikona: L.divIcon({className: 'flt-marker', html: htmlc }), alt: hex, neprozirnost: ld[3] ? 0,9 : 0,6 }).addTo(liveMap).on('click', onPlaneClick); markør[hex] = m; liveMap.removeLayer(e.target); activeMarker = m; } odświeżaActive = true; recalcInProg = sand; łuki = []; curArc = []; arcCol = ""; prevCoord = []; spor = 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 = "blok"; domElements.get("liveReg").innerText = ld[3]; } else { domElements.get("liveReg").innerText = "NA"; domElements.get("liveRegBlock").style.display = "brak"; domElements.get("liveReg").href = ""; } if (ld[4] !== "NA") { 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 (ld[7] !== "NA") { 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 (ld[10] !== null) { domElements.get("liveLink").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveLink").style.display = "blok"; } else { domElements.get("liveLink").style.display = "brak"; } const lt = ścieżka[długość.ścieżki - 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 = "blok"; } else { domElements.get("planePic").style.display = "brak"; } if (ld[22]) {domElements.get("liveType").innerText = ld[22]; domElements.get("liveTypeBlock").style.display = "blok"; } else { domElements.get("liveTypeBlock").style.display = "brak"; domElements.get("liveType").innerText = "NA"; } } // ažuriraj gornje elemente, jesu li są iste const liveStatusInd = domElements.get("liveStatusInd"); if (liveStatusInd) { 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] ? "Na żywo": "Wylądował"; const lt = ld[23][ld[23].duljina - 1]; 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 = "brak"; } } if (ld[13] !== null && ld[14] !== null && długość.ścieżki > 0 && Math.abs(ld[13] - ścieżka[0][1] / 1e5) > 1 && Math.abs(ld[14] - ścieżka[0][2] / 1e5) > 1) { arcs.push([[[ld[13], ld[14]], [ścieżka[0][1] / 1e5, ścieżka[0][2] / 1e5]], „jasnozary”, prawda]); } prevCoord = null; prevCoordFull = null; lp = nula; for (const wpis na ścieżce) { const p = ścieżka[entr]; if (p[1] === null || p[2] === null) { kontynuuj; } niech col = "zielony"; 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])], "jasnoszary", prawda]) ; 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 (prethodnaKoord) { curArc = [prethodnaKoord]; } andet { curArc = []; } arcCol = stupac; } prevCoordFull = [p[1] / 1e5, p[2] / 1e5, p[4], p[5], Date.now(), p[3], lažno, 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]]], "jasnoszary", prawda]); aktywnyDest = L.latLng(ld[15], ld[16]); } for (const idx w ścieżkach) { utwory[idx].remove(); } utwort = []; for (const idx w łukach) { const a = buer[idx]; if (a[2]) { if (a[0] [0] [1] > a [0] [1] [1]) { stała temperatura = a [0] [0]; a[0][0] = a[0][1]; a[0][1] = temperatura; } p = L.Polyline.Arc(a[0][0], a[0][1], { boja: a[1], noClip: true, vrhovi: 100 }); estTrack = p; } andet { p = L.hotline(a[0], { paleta: { 0: 'jasnoszary', 0.1: 'zielony', 0.5: 'żółty', 0.7: 'pomarańczowy', 1: 'czerwony' }, min. : 0, max: 36000, szerokość konturu: 0, waga: 4, noClip: true }); liveTrack = p; } p.addTo(Mapa na żywo); utwory.push(p); } if (prevCoordFull) { lastPos[hex] = prevCoordFull; } if (prevCoord) { if (e) { const i = e.sourceTarget; i.setLatLng(prethodnaKoord); aktywnyZnacznik = i; if (lastTrack) { document.getElementById("mi-" + hex).style.transform = "obróć(" + lastTrack + "stopień)"; } if (!opdaterer && !viewSet) { liveMap.setView(prevCoord, 8); } } else { if (!activeMarker) { activeMarker = L.marker(prevCoord, { icon: L.icon({ iconUrl: "/img/plane-icon_active.svg?20221124", iconSize: liveMap._zoom > 7 ? rozmiary [0]: rozmiary[1] }), rotacjaAngle: prevCoordFull[2], rotacjaOrigin: "centrum centrum", frigivet: 0,8, tytuł: hex }).addTo(liveMap); } andet { activeMarker.setLatLng(prevCoord); } } if (e || hadNoHex) { // Ustanova odświeżanie tylko przy pierwszym kliknięciu lub dla bieżących śladów lotu (wtedy nie podaje się szesnastkowego) if (trackRefreshInterval) { window.RefreshInterval); } if (ld[17]) { trackRefresh = window.setInterval(function () { if (refreshsActive) { updateTrack(liveMap, url, hex, null); } }, 3000); } } } if (!opdaterer && !viewSet) { liveMap.setView(prevCoord, 8); } if (sf === "") { domElements.get("liveMapContainer").style.display = 'blok'; } aktywnyHex = szesnastkowy; aktualizacjaInProg = fałsz; recalcInProg = fałsz; });} funkcja 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(Mapa na żywo, fałsz, aktywnyHex); liveMap.on('zoomend', påZoomet); liveMap.on('przenieś', onMoveend); } funkcja 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); } loadingScript("/js/leaflet.js?20220411" ,function() { // konfiguriraj mapę map = new L.map('map-flight',{twoFingerZoom: true,sleep:false,minZoom:0} ); // utwórz warstwę kafelków s poprawnym przypisaniem map.fitBounds([[23.6015386,55.36444],[25.25278,58.2899376]]); viewSet = true; dep=[25.436r=[25.437ar=[25.452r=[25.532ar=[25.452r=]. 6,58.2899376]; var osmUrl= 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; var osmAttrib='© OpenStreetMap'; var osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); map.attributionControl.setPrefix(''); map.addLayer(osm); if (dep[1]

FLY

MODEL
A4O-ME Boeing B737 MAX 8

ICAO IDENTIFICATION
70C0FC

SEAT CONFIGURATION
162 places
12 Work150 Economics

FIRST FLIGHT
september 2018
4 years ago
Flight information

GENERAL INFORMATION ABOUT THE ROUTE

FREQUENCY:

weekday
Sunday, Mon, Tues, Wed, Tue, Fri, Sat

DIRECT DISTANCE
348 km216 mio

FLIGHT TIME
1 hour and 11 minutes

FLIGHTS/WEEK
85 flights
ACCURACY
26 flights per week postponed
69% on time
Latency statistics

PLACES / WEEK
190 seats/flight
69,695 places/week
Route information

CO2 EMISSIONS

Economy
52 kg

Business
158 kg

FAQs

Is Oman Air better than Emirates? ›

Earning praise for all facets of the flight, Oman Air outscored airlines such as Emirates, Qatar Airways and Delta, a large U.S.-based carrier.

What terminal does Oman Air fly from in Dubai? ›

What terminal does Oman Air fly from at Dubai International? Oman Air flights are departing from Terminal 1, 3.

When can you check-in online with Oman Air? ›

Yes, Oman Air's Web Check-in is available between 24 and 3 hours from the scheduled time of departure. The counters at the airport close 60 minutes prior to the scheduled departure. Check-in now for your Oman Air flight.

Which is the best Oman Airlines? ›

Oman Air, the national carrier of the Sultanate of Oman, has earned 2 more 2020 World Travel Awards, for providing the world's best service to the Middle East and the world's best First Class experience.

Is Oman Air strict with baggage? ›

Standard size and weight of each bag:

more than 32kg, it will not be accepted under any circumstances. Dimensions: Total Dimensions shall not exceed 158 cm. Baggage that exceeds the standard sizes and weight restrictions are subject to applicable fees Extra Baggage Weight.

Is Oman stricter than Dubai? ›

I have been to Oman quite a few times, it is a little more conservative than Dubai, but not overly so.

What is 2pc baggage allowance in Oman Air? ›

Oman Air Checked Baggage Allowance

If you are travelling in First Class or Business Class cabins, you can carry up to 2 baggage pieces with the overall weight not exceeding 50 kg. When you travel in Economy Class cabins, you can carry 2 baggage pieces not beyond 30 kg.

Is Oman Air good airline? ›

Oman Air is a Omani carrier. Frequent travelers give the airline an average rating of 8.0/10. This is slightly above the general average .

Is Fly Dubai in the same terminal as Emirates? ›

Arriving in Dubai

If you arrive on an Emirates flight, go to the central transfer desk in Terminal 3 (transfer desk K). If you arrive on a flydubai flight, go to the transfer desk in Terminal 2.

Is Oman Air good airlines? ›

Oman Air is a Omani carrier. Frequent travelers give the airline an average rating of 8.0/10. This is slightly above the general average .

Which airline is better than Emirates? ›

Like with meals, both Emirates and Qatar Airways offer some of the best in-flight entertainment systems in the world. That said, while Qatar Airways' IFE might be the second, third, or fourth best, Emirates' IFE is undoubtedly the best one when it comes to content selection.

Is Oman as good as Dubai? ›

Oman is completely different to Dubai. There are some good hotels in Muscat of similar 5 * standard. There are real souqs and lots of things to do sightseeing in the small city of Muscat. There are many historic buildings, including forts and the old walled city.

Which is best Oman or Dubai? ›

The everyday experience Muscat offers its tourists feels more cultural than that of Dubai, where luxury is at its finest, but you don't feel the history and culture so much. Just walking around Oman makes you feel very much a part of the cities culture.

References

Top Articles
Latest Posts
Article information

Author: Delena Feil

Last Updated: 09/27/2023

Views: 5447

Rating: 4.4 / 5 (45 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Delena Feil

Birthday: 1998-08-29

Address: 747 Lubowitz Run, Sidmouth, HI 90646-5543

Phone: +99513241752844

Job: Design Supervisor

Hobby: Digital arts, Lacemaking, Air sports, Running, Scouting, Shooting, Puzzles

Introduction: My name is Delena Feil, I am a clean, splendid, calm, fancy, jolly, bright, faithful person who loves writing and wants to share my knowledge and understanding with you.