0 && arguments[0] !== undefined ? arguments[0] : '[data-cmp]';\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'data-cmp';\n document.querySelectorAll(selector).forEach(function (source) {\n var tag = document.createElement('script');\n var src = source.dataset.src || '';\n source.getAttributeNames().filter(function (prop) {\n return attr !== prop && 'data-src' !== prop && 'data-async' !== prop;\n }).forEach(function (prop) {\n tag.setAttribute(prop, source.getAttribute(prop));\n });\n if (src) {\n tag.src = src;\n tag.async = source.dataset.async !== 'false';\n }\n tag.innerHTML = source.innerHTML;\n source.parentNode.insertBefore(tag, source);\n source.remove();\n });\n}\n\n//# sourceURL=webpack:///./lazy-script-loader.js?\n}")},"./loader-after-init.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy-script-loader */ \"./lazy-script-loader.js\");\n/* harmony import */ var _lazy_image_loader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lazy-image-loader */ \"./lazy-image-loader.js\");\n\n\ndocument.addEventListener('DOMContentLoaded', function () {\n var api = window.__tcfapi || null;\n if (!api) {\n return;\n }\n api('addEventListener', 2, function (tcData, success) {\n if (success && tcData && ('tcloaded' === tcData.eventStatus || 'useractioncomplete' === tcData.eventStatus)) {\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)('[data-cmp=after-init]');\n (0,_lazy_image_loader__WEBPACK_IMPORTED_MODULE_1__.loadLazyImages)('[data-cmp-lazy-image=after-init]');\n if (tcData.listenerId) {\n api('removeEventListener', 2, function () {}, tcData.listenerId);\n }\n }\n });\n});\n\n//# sourceURL=webpack:///./loader-after-init.js?\n}")}},__webpack_module_cache__={};function __webpack_require__(e){var a=__webpack_module_cache__[e];if(void 0!==a)return a.exports;var r=__webpack_module_cache__[e]={exports:{}};if(!(e in __webpack_modules__)){delete __webpack_module_cache__[e];var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return __webpack_modules__[e](r,r.exports,__webpack_require__),r.exports}__webpack_require__.d=(e,a)=>{for(var r in a)__webpack_require__.o(a,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./loader-after-init.js")})();
0 && arguments[0] !== undefined ? arguments[0] : '[data-cmp]';\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'data-cmp';\n document.querySelectorAll(selector).forEach(function (source) {\n var tag = document.createElement('script');\n var src = source.dataset.src || '';\n source.getAttributeNames().filter(function (prop) {\n return attr !== prop && 'data-src' !== prop && 'data-async' !== prop;\n }).forEach(function (prop) {\n tag.setAttribute(prop, source.getAttribute(prop));\n });\n if (src) {\n tag.src = src;\n tag.async = source.dataset.async !== 'false';\n }\n tag.innerHTML = source.innerHTML;\n source.parentNode.insertBefore(tag, source);\n source.remove();\n });\n}\n\n//# sourceURL=webpack:///./lazy-script-loader.js?\n}")},"./loader-not-pur.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval('{__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lazy-script-loader */ "./lazy-script-loader.js");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./utils.js");\nfunction _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\n/**\n * @see https://gist.github.com/0x7f/62211125638af90d84fe8d9b0d660761\n * @see https://docs.contentpass.net/docs/3rdparty\n * @see https://docs.contentpass.net/docs/web-sdk#cpauthenticate-options-callback\n */\n\n\n(function () {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \'[data-cmp=not-pur]\';\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_1__.isPur)()) {\n return;\n }\n\n // Execute now\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)(selector);\n\n // Execute until dom content is loaded\n var observer = new MutationObserver(function (mutationsList) {\n var _iterator = _createForOfIteratorHelper(mutationsList),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var mutation = _step.value;\n if (\'childList\' === mutation.type) {\n (0,_lazy_script_loader__WEBPACK_IMPORTED_MODULE_0__.loadAsyncScripts)(selector);\n return;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n document.addEventListener(\'DOMContentLoaded\', function () {\n observer.disconnect();\n });\n})();\n\n//# sourceURL=webpack:///./loader-not-pur.js?\n}')},"./utils.js"(__unused_webpack_module,__webpack_exports__,__webpack_require__){eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isPur: () => (/* binding */ isPur)\n/* harmony export */ });\nvar isPur = function isPur() {\n return document.cookie.includes('_cpauthhint=1') || !!localStorage.getItem('_cpuser');\n};\n\n//# sourceURL=webpack:///./utils.js?\n}")}},__webpack_module_cache__={};function __webpack_require__(e){var r=__webpack_module_cache__[e];if(void 0!==r)return r.exports;var t=__webpack_module_cache__[e]={exports:{}};if(!(e in __webpack_modules__)){delete __webpack_module_cache__[e];var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return __webpack_modules__[e](t,t.exports,__webpack_require__),t.exports}__webpack_require__.d=(e,r)=>{for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./loader-not-pur.js")})();
Flugärger-App bietet Hilfe bei Stress mit der Airline - TECHBOOK
Zum Inhalt springen
Die Flugärger-App der Verbraucherzentrale NRW hilft bei – genau – Flugärger wie Verspätung, Annullierung oder verlorenem Gepäck. Foto: Getty Images
TECHBOOK Redaktion
17. Februar 2023, 12:30 Uhr |
Lesezeit: 2 Minuten
Flieger weg oder zu spät, Gepäck woanders gelandet, Streiks am Flughafen oder bei der Airline – die Liste möglicher Flugärgernisse ist lang. Eine App der Verbraucherzentralen soll Reisende unterstützen. Was kann sie?
Während einer Flugreise kann viel schiefgehen – wenn man Pech hat. Dann finden sich Reisende ganz schnell in einer Vorhölle aus Umbuchungen, schwer zu erreichenden Anschlussflügen und möglichen Zahlungsansprüchen wieder. Ich schlimmsten Fall geht aufgrund von Streiks oder Ausfällen auch gar nichts mehr. Betroffene wissen dann meist nicht, wie sie reagieren müssen, um ihre Ansprüche und Rechte geltend zu machen. Die Verbraucherzentrale Nordrhein-Westfalen bietet mit der Flugärger-App daher einen praktischen Helfer für das Smartphone.
Die App fürs Smartphone oder Tablet lässt sich kostenlos für Android und iOS herunterladen und gibt schnell Auskünfte zur Rechtslage. Die Informationen reichen dabei von einfachen Fluggastrechten bis hin zur – auch das kommt hin und wieder vor – Insolvenz der gebuchten Airline.
Lesen Sie auch: Karte zeigt freie WLAN-Hotspots auf Flughäfen weltweit
Flugärger-App hilft auch bei Selbstverschulden
Mit einer einfachen Abfrage des Problems hilft die App auch beim Ermitteln möglicher Zahlungsansprüche. Ob es sich dabei um eine Verspätung, einen Flugausfall oder verlorenes Gepäck handelt – man tippt die entsprechenden Angaben einfach im Menü an und bekommt Rat. Auch wer selbst verschuldet einen Flug verpasst, bekommt mit der Flugärger-App Hilfe. Denn auch hier lassen sich nämlich möglicherweise Steuern und Gebühren zurückfordern.
Am Ende des Vorgangs steht ein fertiges Schreiben an die Airline mit den richtigen Forderungen. Die Flugärger-App ist kostenlos und läuft auf allen aktuelleren Android- und iOS-Smartphones. Den Bewertungen in den App Stores zufolge funktioniert das Angebot ziemlich gut.
Das Magazin für digitalen Lifestyle und Entertainment