(function(l){function e(e){var t=e[0];var a=e[1];var r=e[2];var n,i,o=0,s=[];for(;o0||r.offsetHeight>0||r.getClientRects().length>0},setCookie:function e(t,a,r,n,i){var o=90;if(!r){r=new Date;r.setTime(r.getTime()+o*24*60*60*1e3)}var s={expires:r,path:"/"};if(n)s.domain=n;if(i)s.path=i;c.save(t,a,s)},getCookie:function e(t){if(!t)return false;return c.load(t)||false},getParameterByName:function e(t,a){if(typeof window==="undefined")return false;t=t.replace(/[[]/,"\\[").replace(/[/]]/,"\\]");t=a?t.toUpperCase():t;var r=new RegExp("[\\?&]"+t+"=([^&#]*)");var n=r.exec(a?window.location.search.toUpperCase():window.location.search);var i="";if(n&&n.length){i=decodeURIComponent(n[1].replace(/\+/g," ").replace(/%\s/g,"%25").replace(/%$/,"%25"))}return i||false},isSplitTest:function e(t,a,r){var n=false;var i=this.getParameterByName(t,false)||this.getCookie(t);if(l(a)==="object"){i=i||this.multiSplitTest(i,a);n=i}else{i=i||this.singleSplitTest(a);n=i==="show_alternative"}var o="variationTracking"+t;if(typeof window!=="undefined"&&!Object.prototype.hasOwnProperty.call(window,o)){window[o]=true;var s={step:"start",test_name:t,variant:i};u.test(s)}this.setCookie(t,i,r);return n},multiSplitTest:function e(t,a){var r=0;var n=Math.random()*100;Object.keys(a).forEach(function(e){if(!t&&n>=r&&n0&&arguments[0]!==undefined?arguments[0]:{};if(this.hasWindow()){var a={page_type:"landing"};if(t.agent&&typeof t.agent==="string"){a.agent=t.agent;if(!/(?:^| )agent=([^;]{3,6})/.test(document.cookie)){document.cookie="agent=".concat(t.agent)}}window.tracker.initialise({env:t.environment||"production"||"production",service:t.service||"seo",organisation:t.organisation||"Holiday Extras Limited",schemaVersions:t.schemaVersions||{},lb:t.lb||false});if(t.pageOptions)a=Object.assign({},a,t.pageOptions);window.tracker.page(t.eventType||"landing",a);window.tracker.inline("auto_capture",{name:"tech_platform",value:t.techPlatform||"ssg"});if(t.templateGroup)window.tracker.inline("auto_capture",{name:"template_group",value:t.templateGroup})}else console.log("No window, TRACKER NOT LOADED")},test:function e(t){if(!this.hasWindow()||!t)return;window.tracker.track("test",t)},inline:function e(t,a,r){if(!this.hasWindow())return;if(arguments.length===2){r=a;a=t;t="auto_capture"}window.tracker.inline(t,{name:a,value:r})},track:function e(t,a,r){if(!this.hasWindow())return;if(!r){return window.tracker.inline("auto_capture",{name:t,value:a})}if(r==="test"){if(!t)this.test(a);else this.test(t);return}var n={action:{name:t,value:a}};if(!t){n=a}window.tracker.track(r,n)}};e.exports=r},function(e,t){e.exports={buildEnv:"production.min",splitTests:{de_flight_lookup:25,ui_search_forms_de_v1:0},domainSettings:{language:"de",scheme:"https",domainScheme:"https",logoLink:"/de/",agentDomain:"agent.holidayextras.com.de",domain:"www.holidayextras.com",localisedDomain:"www.holidayextras.com.de",siteCode:"DE-HX",assets:"https://staticsg.holidayextras.com",assetsLocal:"",assetsLive:"https://staticsg.holidayextras.com",contentStaticServer:"https://static1.holidayextras.com",assetVersionTime:1763653042783,assetVersion:"kxsakifvz6q90"},appSettings:{get_app_url:"https://app.holidayextras.com/app_download",get_app_url_and:"https://app.holidayextras.com/app_download",get_app_landing:"https://app.holidayextras.com/app_download",track_name:"app_link_clicked",branch_key:"key_live_dbwczC9jmM6OaQuYESRj6jdcsAeSAX1d",campaign:"hx-direct",channel:"Website",feature:"TextMeTheApp",defaultBtnText:"App downloaden",downloadText:"Noch schneller geht's mit der App...",downloadBtnText:"Downloaden"},insBtnSettings:{show:true,defaultBtnText:"Get Travel Insurance",href:"/travel-insurance.html",trackName:"ins_btn_search"},settings:{language:"de",brand:"HD",priceFormat:"€",decimalNotation:",",cookieExpiryDays:30,cookieDomain:"www.holidayextras.com",pluginsExportDir:"../config/exports",agentLoginPage:"/login.html",bothImageCloudCDNS:["d1u5bw6boilxum","dmy0b9oeprz0f"],destinationLookup:"https://api.holidayextras.co.uk/destination.js",ImageCloudCDNImgix:"https://hximagecloud.imgix.net",imageCloudCDN:"https://dmy0b9oeprz0f.cloudfront.net",imgixURL:"https://holidayextras.imgix.net",imageCloudWebsite:"holidayextras.de",env:"production",flightSearch:"https://flight.dock-yard.io/",imageCloudEndpoint:"https://image-cloud.dock-yard.io/fetch",imageCloudEndpointImage:"https://image-cloud.dock-yard.io/image",rpcGatewayBase:"https://seo-rpc-gateway.dock-yard.io/",soapiBase:"//static1.holidayextras.com/datafeeds/soapi/",harpMessageRoute:"prodlib-multi?product=ADMalertDE&archived=1&noCache=1",locationImageBase:"https://dmy0b9oeprz0f.cloudfront.net/holidayextras.de/engine-images/location-landing/",locationImageMobileBase:"https://dmy0b9oeprz0f.cloudfront.net/holidayextras.de/mobile-engine-images/",googleSearchRoute:"https://www.googleapis.com/customsearch/v1/siterestrict?",googleSearchKey:"AIzaSyAhOZwwHYtuC72q3OxYsya3Xzf6cI_4xh0",googleSearchEngine:"008447715357275484586:x0ghtkxhxvi"},agents:{main:"ABCDE",search:"ABCSE",allowedUrlAgentIDs:["midocoid"],responsys:"WO298",switchboardNumber:"0871 360 2603",switchboardInusranceNumber:"0800 093 1900",fallBackPhoneNumber:"0871 360 2603",fallBackInsurancePhoneNumber:"01303 816144",defaultPhoneNumbers:{WY992:"0871 360 2603"},noBookingFeesAgents:["WY992"]},gtmTag:{id:"GTM-PNJKVKD"},heHaButtonSettings:{show:false},voucherButtonSettings:{show:true,href:"/de/gutschein-einloesen.html",text:"Gutschein",trackName:"gutschein"},hotelFacilities:[{key:"star_rating",type:"stars",label:"Star rating",schema:false},{key:"address",type:"html",label:"Address",schema:false},{key:"breakfast",type:"html",label:"Breakfast",schema:true},{key:"breakfast_times",type:"html",label:"Breakfast times",schema:true},{key:"breakfast_price",type:"html",label:"Breakfast price",schema:true},{key:"disabled_facilities",type:"html",label:"Disabled facilities",schema:true},{key:"q_internet",type:"yn",label:"Internet",schema:true},{key:"wifi",type:"yn",label:"Wi-Fi",schema:true},{key:"q_restaurant",type:"yn",label:"Restaurant",schema:true},{key:"q_roomservice",type:"yn",label:"Room service",schema:true},{key:"q_swimming",type:"yn",label:"Swimming pool",schema:true},{key:"all_rooms_non_smoking",type:"yn",label:"All rooms non-smoking",schema:true},{key:"ensuite",type:"yn",label:"En-suite bathroom",schema:true},{key:"hairdyer",type:"yn",label:"Hairdryer",schema:true},{key:"iron",type:"yn",label:"Iron",schema:true},{key:"trouser_press",type:"yn",label:"Trouser press",schema:true},{key:"kettle",type:"yn",label:"Kettle",schema:true},{key:"radio",type:"yn",label:"Radio",schema:true},{key:"room_phone",type:"yn",label:"Phone in room",schema:true},{key:"tv",type:"yn",label:"TV",schema:true},{key:"satellite",type:"yn",label:"Satellite TV",schema:true}],locations:{airportMatch:{"bangkok-airport-lounge":{code:"BGK",name:"Bangkok",pattern:"bangkok"},"bruessel-south-charleroi-flughafen-parken":{code:"CRL",name:"Brüssel-Charleroi",pattern:"bruessel-south-charleroi"},"bruessel-flughafen-parken":{code:"BRU",name:"Brüssel",pattern:"bruessel"},"hongkong-airport-lounge":{code:"HKK",name:"Hong Kong",pattern:"hongkong"},"palma-de-mallorca-airport-lounge":{code:"PMI",name:"Palma de Mallorca",pattern:"palma-de-mallorca"},"zuerich-flughafen-parken":{code:"ZRH",name:"Zürich",pattern:"zuerich"}},extraAirports:{"amsterdam-hafen-parken":{code:"AMK",name:"Amsterdam",pattern:"amsterdam-hafen"},"bremerhaven-hafen-parken":{code:"BRV",name:"bremerhaven",pattern:"bremerhaven-hafen"},"duesseldorf-flughafen":{code:"DUS",name:"Düsseldorf",pattern:"duesseldorf"},"frankfurt-hafen-parken":{code:"FAM",name:"Frankfurt",pattern:"frankfurt-hafen"},"genua-hafen-parken":{code:"GEN",name:"genua",pattern:"genua-hafen"},"hamburg-hafen-parken":{code:"HHA",name:"Hamburg",pattern:"hamburg-hafen"},"kiel-hafen-parken":{code:"KIE",name:"Kiel",pattern:"kiel-hafen"},"koeln-hafen-parken":{code:"CGN",name:"Köln",pattern:"koeln-hafen"},"passau-hafen-parken":{code:"PAS",name:"Passau",pattern:"passau-hafen"},"rom-hafen-parken":{code:"ROM",name:"Rom Civitavecchia",pattern:"rom-hafen"},"rotterdam-hafen-parken":{code:"RTM",name:"Rotterdam",pattern:"rotterdam-hafen"},"savona-hafen-parken":{code:"SVN",name:"Savona",pattern:"savona-hafen"},"venedig-hafen-parken":{code:"VEN",name:"Venedig",pattern:"venedig-hafen"},"warnemuende-hafen-parken":{code:"HRO",name:"Warnemuende",pattern:"warnemuende-hafen"}},codeSwap:{FRB:"FRA",DUD:"DUS"}},group:"flights"}},,function(e,t,a){e.exports=a(8)(6)},,,,,,,function(e,t,a){var r=a(48),n=r.combineReducers,i=r.createStore;var o=a(49);var s=n(o);var l=typeof window!=="undefined"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__():{};e.exports=i(s,l)},function(e,t,a){var s=a(33);var l=a(1);var c=a(0);var r=a(34),u=r.connect;var n=a(35);var i=a(38);var o=a(39);var d=a(60);var p=a(22);var m=a(61);var h={agents:n,hxbreaks:d,liveChat:i,login:o,splitTests:m};var f=function e(r,t){if(!r)return;if(!t)return r;if(t.constructor!==Array)t=[t];var a=r.displayName?r.displayName.replace(/Connect\(/g,"").replace(/\)/g,""):"Component";var n=function e(a){t.map(function(e,t){Object.assign(a,h[e].mapStateToProps(a))});return a};var i=function e(a,r){var n={};t.map(function(e,t){n=Object.assign({},n,h[e].mapDispatchToProps(a,r))});return n};r=u(n,i)(r);var o=function(e){"use strict";function t(){return e.apply(this,arguments)||this}l(t,e);var a=t.prototype;a.render=function e(){return c.createElement(r,s({},this.props,{store:p}))};return t}(c.PureComponent);try{Object.defineProperty(o,"name",{value:"".concat(a,"Wrapper")})}catch(e){}return o};e.exports=f},function(e,t,a){var r=a(0);var n=a(25);var i=a(62);window.ReactRoot=i;if(typeof i["default"]==="function")i=i["default"];var o={template:"content-template.jsx",baseFile:"base-template.jsx",permalink:false,dataSource:{query:"/flug/bt5169?returnDate=2026-01-19",host:"flight-information.dock-yard.io",port:"443",pageNameField:"pageName"},pageData:{"flightData":{"flight":{"code":"BT5169","number":"5169","icao":["BTI"],"matched":"BT5169/BTI5169","carrier":{"code":"BT","name":"Air Baltic"},"distance":"935","elapsed_time":"170","layover_time":"0"},"departure":{"airport_iata":"MUC","airport":"Munich","country":"Germany","date":"2025-12-05","time":"12:10","city":"Munich","terminal":"1","region":0,"country_iso":"DE","dateFull":"2025-12-05T12:10:00.000Z"},"arrival":{"airport_iata":"MAD","airport":"Madrid Barajas","country":"Spain","date":"2025-12-05","time":"15:00","city":"Madrid","terminal":"4","region":0,"country_iso":"ES","dateFull":"2025-12-05T15:00:00.000Z"},"futureDepartures":["2025-12-07T12:10:00.000Z","2025-12-08T12:10:00.000Z","2025-12-09T12:10:00.000Z","2025-12-10T12:10:00.000Z","2025-12-11T12:10:00.000Z","2025-12-12T12:10:00.000Z","2025-12-14T12:10:00.000Z","2025-12-15T12:10:00.000Z","2025-12-16T12:10:00.000Z","2025-12-17T12:10:00.000Z","2025-12-18T12:10:00.000Z","2025-12-19T12:10:00.000Z","2025-12-21T12:10:00.000Z","2025-12-22T12:10:00.000Z","2025-12-23T12:10:00.000Z","2025-12-24T12:10:00.000Z","2025-12-25T12:10:00.000Z","2025-12-26T12:10:00.000Z","2025-12-28T12:10:00.000Z","2025-12-29T12:10:00.000Z","2025-12-30T12:10:00.000Z","2025-12-31T12:10:00.000Z","2026-01-01T12:10:00.000Z","2026-01-02T12:10:00.000Z","2026-01-04T12:10:00.000Z","2026-01-05T12:10:00.000Z","2026-01-06T12:10:00.000Z","2026-01-07T12:10:00.000Z","2026-01-08T12:10:00.000Z","2026-01-09T12:10:00.000Z","2026-01-11T12:10:00.000Z","2026-01-12T12:10:00.000Z","2026-01-13T12:10:00.000Z","2026-01-14T12:10:00.000Z","2026-01-15T12:10:00.000Z","2026-01-16T12:10:00.000Z","2026-01-18T12:10:00.000Z","2026-01-19T12:10:00.000Z","2026-01-20T12:10:00.000Z","2026-01-21T12:10:00.000Z","2026-01-22T12:10:00.000Z","2026-01-23T12:10:00.000Z","2026-01-25T12:10:00.000Z","2026-01-26T12:10:00.000Z","2026-01-27T12:10:00.000Z","2026-01-28T12:10:00.000Z","2026-01-29T12:10:00.000Z","2026-01-30T12:10:00.000Z","2026-02-01T12:10:00.000Z","2026-02-02T12:10:00.000Z","2026-02-03T12:10:00.000Z"],"futureArrivals":["2025-12-07T15:00:00.000Z","2025-12-08T15:00:00.000Z","2025-12-09T15:00:00.000Z","2025-12-10T15:00:00.000Z","2025-12-11T15:00:00.000Z","2025-12-12T15:00:00.000Z","2025-12-14T15:00:00.000Z","2025-12-15T15:00:00.000Z","2025-12-16T15:00:00.000Z","2025-12-17T15:00:00.000Z","2025-12-18T15:00:00.000Z","2025-12-19T15:00:00.000Z","2025-12-21T15:00:00.000Z","2025-12-22T15:00:00.000Z","2025-12-23T15:00:00.000Z","2025-12-24T15:00:00.000Z","2025-12-25T15:00:00.000Z","2025-12-26T15:00:00.000Z","2025-12-28T15:00:00.000Z","2025-12-29T15:00:00.000Z","2025-12-30T15:00:00.000Z","2025-12-31T15:00:00.000Z","2026-01-01T15:00:00.000Z","2026-01-02T15:00:00.000Z","2026-01-04T15:00:00.000Z","2026-01-05T15:00:00.000Z","2026-01-06T15:00:00.000Z","2026-01-07T15:00:00.000Z","2026-01-08T15:00:00.000Z","2026-01-09T15:00:00.000Z","2026-01-11T15:00:00.000Z","2026-01-12T15:00:00.000Z","2026-01-13T15:00:00.000Z","2026-01-14T15:00:00.000Z","2026-01-15T15:00:00.000Z","2026-01-16T15:00:00.000Z","2026-01-18T15:00:00.000Z","2026-01-19T15:00:00.000Z","2026-01-20T15:00:00.000Z","2026-01-21T15:00:00.000Z","2026-01-22T15:00:00.000Z","2026-01-23T15:00:00.000Z","2026-01-25T15:00:00.000Z","2026-01-26T15:00:00.000Z","2026-01-27T15:00:00.000Z","2026-01-28T15:00:00.000Z","2026-01-29T15:00:00.000Z","2026-01-30T15:00:00.000Z","2026-02-01T15:00:00.000Z","2026-02-02T15:00:00.000Z","2026-02-03T15:00:00.000Z"]},"flightLinks":{"departures":false,"directions":false,"destination":false},"airlineInfo":{},"airportInfo":{"airportName":"München"},"weather":{},"arrivalInfo":{"currency_name":"Euro","language":"Castilian Spanish and Catalan"},"pageName":"flight/bt5169",pageTitle:"Flight BT5169 or BTI5169 | Air Baltic from Munich to Madrid Barajas",description:"Check flight departure and arrival times for Air Baltic flight number BT5169 or BTI5169 from Munich to Madrid Barajas"},pageName:"flug/bt5169.html",pagename:"de/flug/bt5169.html",srcFile:"fr1077.md",buildEnv:"production.min",splitTests:{de_flight_lookup:25,ui_search_forms_de_v1:0},domainSettings:{language:"de",scheme:"https",domainScheme:"https",logoLink:"/de/",agentDomain:"agent.holidayextras.com.de",domain:"www.holidayextras.com",localisedDomain:"www.holidayextras.com.de",siteCode:"DE-HX",assets:"https://staticsg.holidayextras.com",assetsLocal:"",assetsLive:"https://staticsg.holidayextras.com",contentStaticServer:"https://static1.holidayextras.com",assetVersionTime:1763653042783,assetVersion:"kxsakifvz6q90"},appSettings:{get_app_url:"https://app.holidayextras.com/app_download",get_app_url_and:"https://app.holidayextras.com/app_download",get_app_landing:"https://app.holidayextras.com/app_download",track_name:"app_link_clicked",branch_key:"key_live_dbwczC9jmM6OaQuYESRj6jdcsAeSAX1d",campaign:"hx-direct",channel:"Website",feature:"TextMeTheApp",defaultBtnText:"App downloaden",downloadText:"Noch schneller geht's mit der App...",downloadBtnText:"Downloaden"},insBtnSettings:{show:true,defaultBtnText:"Get Travel Insurance",href:"/travel-insurance.html",trackName:"ins_btn_search"},settings:{language:"de",brand:"HD",priceFormat:"€",decimalNotation:",",cookieExpiryDays:30,cookieDomain:"www.holidayextras.com",pluginsExportDir:"../config/exports",agentLoginPage:"/login.html",bothImageCloudCDNS:["d1u5bw6boilxum","dmy0b9oeprz0f"],destinationLookup:"https://api.holidayextras.co.uk/destination.js",ImageCloudCDNImgix:"https://hximagecloud.imgix.net",imageCloudCDN:"https://dmy0b9oeprz0f.cloudfront.net",imgixURL:"https://holidayextras.imgix.net",imageCloudWebsite:"holidayextras.de",env:"production",flightSearch:"https://flight.dock-yard.io/",imageCloudEndpoint:"https://image-cloud.dock-yard.io/fetch",imageCloudEndpointImage:"https://image-cloud.dock-yard.io/image",rpcGatewayBase:"https://seo-rpc-gateway.dock-yard.io/",soapiBase:"//static1.holidayextras.com/datafeeds/soapi/",harpMessageRoute:"prodlib-multi?product=ADMalertDE&archived=1&noCache=1",locationImageBase:"https://dmy0b9oeprz0f.cloudfront.net/holidayextras.de/engine-images/location-landing/",locationImageMobileBase:"https://dmy0b9oeprz0f.cloudfront.net/holidayextras.de/mobile-engine-images/",googleSearchRoute:"https://www.googleapis.com/customsearch/v1/siterestrict?",googleSearchKey:"AIzaSyAhOZwwHYtuC72q3OxYsya3Xzf6cI_4xh0",googleSearchEngine:"008447715357275484586:x0ghtkxhxvi",hapiBase:"https://hapi.holidayextras.co.uk/",hapiFlightEndpoint:"transport/flights",hapiEndPoints:{cp:"carparks",ho:"hotels",hcp:"hotels",lo:"lounges"},hapiActions:{cp:"//trip.holidayextras.co.uk/parking2008/c/availabilityV5/",ho:"//trip.holidayextras.co.uk/hotels2008/c/availabilityV5",hcp:"//trip.holidayextras.co.uk/hotels2008/c/availabilityV5/",lo:"//trip.holidayextras.co.uk/lounges2008/c/availability/"},hapiToken:"c46c05c7-6fb5-49e4-b0c6-2c37363569f3",hapiSid:"cacheload1234568",hapiOperatorInitials:"APP",flightRoute:"flight",prodlibRoute:"prodlib"},agents:{main:"ABCDE",search:"ABCSE",allowedUrlAgentIDs:["midocoid"],responsys:"WO298",switchboardNumber:"0871 360 2603",switchboardInusranceNumber:"0800 093 1900",fallBackPhoneNumber:"0871 360 2603",fallBackInsurancePhoneNumber:"01303 816144",defaultPhoneNumbers:{WY992:"0871 360 2603"},noBookingFeesAgents:["WY992"]},gtmTag:{id:"GTM-PNJKVKD"},heHaButtonSettings:{show:false},voucherButtonSettings:{show:true,href:"/de/gutschein-einloesen.html",text:"Gutschein",trackName:"gutschein"},hotelFacilities:[{key:"star_rating",type:"stars",label:"Star rating",schema:false},{key:"address",type:"html",label:"Address",schema:false},{key:"breakfast",type:"html",label:"Breakfast",schema:true},{key:"breakfast_times",type:"html",label:"Breakfast times",schema:true},{key:"breakfast_price",type:"html",label:"Breakfast price",schema:true},{key:"disabled_facilities",type:"html",label:"Disabled facilities",schema:true},{key:"q_internet",type:"yn",label:"Internet",schema:true},{key:"wifi",type:"yn",label:"Wi-Fi",schema:true},{key:"q_restaurant",type:"yn",label:"Restaurant",schema:true},{key:"q_roomservice",type:"yn",label:"Room service",schema:true},{key:"q_swimming",type:"yn",label:"Swimming pool",schema:true},{key:"all_rooms_non_smoking",type:"yn",label:"All rooms non-smoking",schema:true},{key:"ensuite",type:"yn",label:"En-suite bathroom",schema:true},{key:"hairdyer",type:"yn",label:"Hairdryer",schema:true},{key:"iron",type:"yn",label:"Iron",schema:true},{key:"trouser_press",type:"yn",label:"Trouser press",schema:true},{key:"kettle",type:"yn",label:"Kettle",schema:true},{key:"radio",type:"yn",label:"Radio",schema:true},{key:"room_phone",type:"yn",label:"Phone in room",schema:true},{key:"tv",type:"yn",label:"TV",schema:true},{key:"satellite",type:"yn",label:"Satellite TV",schema:true}],locations:{airportMatch:{"bangkok-airport-lounge":{code:"BGK",name:"Bangkok",pattern:"bangkok"},"bruessel-south-charleroi-flughafen-parken":{code:"CRL",name:"Brüssel-Charleroi",pattern:"bruessel-south-charleroi"},"bruessel-flughafen-parken":{code:"BRU",name:"Brüssel",pattern:"bruessel"},"hongkong-airport-lounge":{code:"HKK",name:"Hong Kong",pattern:"hongkong"},"palma-de-mallorca-airport-lounge":{code:"PMI",name:"Palma de Mallorca",pattern:"palma-de-mallorca"},"zuerich-flughafen-parken":{code:"ZRH",name:"Zürich",pattern:"zuerich"}},extraAirports:{"amsterdam-hafen-parken":{code:"AMK",name:"Amsterdam",pattern:"amsterdam-hafen"},"bremerhaven-hafen-parken":{code:"BRV",name:"bremerhaven",pattern:"bremerhaven-hafen"},"duesseldorf-flughafen":{code:"DUS",name:"Düsseldorf",pattern:"duesseldorf"},"frankfurt-hafen-parken":{code:"FAM",name:"Frankfurt",pattern:"frankfurt-hafen"},"genua-hafen-parken":{code:"GEN",name:"genua",pattern:"genua-hafen"},"hamburg-hafen-parken":{code:"HHA",name:"Hamburg",pattern:"hamburg-hafen"},"kiel-hafen-parken":{code:"KIE",name:"Kiel",pattern:"kiel-hafen"},"koeln-hafen-parken":{code:"CGN",name:"Köln",pattern:"koeln-hafen"},"passau-hafen-parken":{code:"PAS",name:"Passau",pattern:"passau-hafen"},"rom-hafen-parken":{code:"ROM",name:"Rom Civitavecchia",pattern:"rom-hafen"},"rotterdam-hafen-parken":{code:"RTM",name:"Rotterdam",pattern:"rotterdam-hafen"},"savona-hafen-parken":{code:"SVN",name:"Savona",pattern:"savona-hafen"},"venedig-hafen-parken":{code:"VEN",name:"Venedig",pattern:"venedig-hafen"},"warnemuende-hafen-parken":{code:"HRO",name:"Warnemuende",pattern:"warnemuende-hafen"}},codeSwap:{FRB:"FRA",DUD:"DUS"},carParking:{OptGroupDeutschland:{BER:"Berlin Brandenburg",BRE:"Bremen",DTM:"Dortmund",DRS:"Dresden",DUS:"Düsseldorf",ERF:"Erfurt",FRA:"Frankfurt",HHN:"Frankfurt-Hahn",FDH:"Friedrichshafen",HAM:"Hamburg",HAJ:"Hannover",FKB:"Karlsruhe/Baden-Baden",CGN:"Köln",LEJ:"Leipzig",FMM:"Memmingen",MUC:"München",NUE:"Nürnberg",PAD:"Paderborn",STR:"Stuttgart",NRN:"Weeze (Niederrhein)"},OptGroupBelgien:{BRU:"Brüssel",CRL:"Charleroi"},"OptGroupDänemark":{COP:"Kopenhagen"},OptGroupFinnland:{HEI:"Helsinki"},OptGroupFrankreich:{BOD:"Bordeaux",LIL:"Lille",LYS:"Lyon",MRS:"Marseille",MPL:"Montpellier",NTE:"Nantes",FNI:"Nîmes",NCE:"Nizza",BVA:"Paris-Beauvais-Tillé",CDG:"Paris-Charles de Gaulle",LBG:"Paris-Le Bourget",ORY:"Paris-Orly",RNS:"Rennes Bretagne",TLN:"Toulon–Hyères",TLS:"Toulouse"},OptGroupIreland:{DUI:"Dublin"},OptGroupItalien:{BRI:"Bari",BGY:"Bergamo",BLQ:"Bologna",CTA:"Catania",FLR:"Florenz",LIN:"Mailand Linate",MXP:"Mailand Malpensa",NAP:"Neapel",OLB:"Olbia",PMO:"Palermo",PSA:"Pisa",FCO:"Rom Fiumicino",TRN:"Turin",VCE:"Venedig",VRN:"Verona"},OptGroupLuxemburg:{LUX:"Luxemburg"},OptGroupNiederlande:{AMS:"Amsterdam",EIN:"Eindhoven",GRQ:"Groningen Eelde",RTM:"Rotterdam"},"OptGroupÖsterreich":{SZG:"Salzburg",VIE:"Wien"},OptGroupPolen:{GDN:"Danzig",KTW:"Kattowitz",KRK:"Krakau",POZ:"Poznan",WAW:"Warschau Chopin"},OptGroupPortugal:{LIS:"Lissabon"},OptGroupSchweden:{ARN:"Stockholm Arlanda"},OptGroupSchweiz:{BSL:"Basel",GVA:"Genf",ZRH:"Zürich"},OptGroupSpanien:{ALC:"Alicante",BCN:"Barcelona",MAD:"Madrid",AGP:"Málaga",SVQ:"Sevilla",VLC:"Valencia"},OptGroupTschechien:{PRG:"Prag"}},portParking:{OptGroupDeutschland:{BRV:"Bremerhaven",FAM:"Frankfurt",HHA:"Hamburg",HHS:"Hamburg Steinwerder",KIE:"Kiel",KLN:"Köln",PAS:"Passau",HRO:"Rostock-Warnemünde"},"OptGroupDänemark":{CPN:"Kopenhagen"},OptGroupFrankreich:{MRL:"Marseille",NIC:"Nizza"},OptGroupItalien:{BAR:"Bari",GEN:"Genua",MON:"Monfalcone (Venedig)",ROM:"Rom Civitavecchia",SVN:"Savona",TRI:"Triest",VEN:"Venedig",VEB:"Venedig San Basilio"},OptGroupNiederlande:{AMK:"Amsterdam",RTC:"Rotterdam"}},hotels:{BER:"Berlin Brandenburg",BRE:"Bremen",DTM:"Dortmund",DUS:"Düsseldorf",FRA:"Frankfurt",HHN:"Frankfurt-Hahn",FDH:"Friedrichshafen",HAM:"Hamburg",HAJ:"Hannover",CGN:"Köln",LEJ:"Leipzig",MUC:"München",NUE:"Nürnberg",STR:"Stuttgart"},portHotels:{OptGroupDeutschland:{DAR:"Düsseldorf",FAM:"Frankfurt",HHA:"Hamburg",KIE:"Kiel"}},lounges:{BER:"Berlin Brandenburg",DRS:"Dresden",DUS:"Düsseldorf",FRA:"Frankfurt",HAM:"Hamburg",HAJ:"Hannover"},terminals:{LHR:{"Terminal 2":"2","Terminal 3":"3","Terminal 4":"4","Terminal 5":"5"},MAN:{"Terminal 1":"1","Terminal 2":"2","Terminal 3":"3"}},locationsMap:{cp:"carParking",ho:"hotels",hcp:"hotels",lo:"loungeCodes"},carparking:{BER:"Berlin Brandenburg",BRE:"Bremen",DTM:"Dortmund",DRS:"Dresden",DUS:"Düsseldorf",ERF:"Erfurt",FRA:"Frankfurt",HHN:"Frankfurt-Hahn",FDH:"Friedrichshafen",HAM:"Hamburg",HAJ:"Hannover",FKB:"Karlsruhe/Baden-Baden",CGN:"Köln",LEJ:"Leipzig",FMM:"Memmingen",MUC:"München",NUE:"Nürnberg",PAD:"Paderborn",STR:"Stuttgart",NRN:"Weeze (Niederrhein)"}},group:"flights",flightStatusUrl:"flight-information.dock-yard.io",terminalConvert:{1:"Terminal 1",2:"Terminal 2",3:"Terminal 3",4:"Terminal 4",5:"Terminal 5",N:"North Terminal",n:"North Terminal",S:"South Terminal",s:"South Terminal"},products:{listItemClass:{loading:"list-group-item list-group-item-info",notAvailable:"list-group-item list-group-item-danger",available:"list-group-item list-group-item-success"},iconClass:{loading:"fas fa-check list-group-item-icon",notAvailable:"fas fa-times list-group-item-icon",available:"fas fa-check list-group-item-icon"}},flightStatus:{url:"https://flight-information.dock-yard.io/flight/"},weatherIcons:{"partly-cloudy-day":"partly-cloudy","partly-cloudy-night":"night-partly-cloudy",cloudy:"cloudy","clear-day":"sunny","clear-night":"night-clear",rain:"light-rain",snow:"heavy-snow",sleet:"light-snow",wind:"windy",fog:"fog",hail:"hail",thunderstorm:"storm",tornado:"windy"},tpl:"template"};window.ReactRootProps=o;window.SSGTemplateGroup="flights";var s=n.render(r.createElement(i,o),document.getElementById("content"))},function(e,t){e.exports=ReactDOM},,,,,,,function(e,t,a){e.exports=a(8)(15)},,function(e,t){e.exports=ReactRedux},function(e,t,a){var l=a(36);var r=function e(t){return{agentData:t.agentData}};var n=function e(a,t){l.props=t;var r=function e(t){a({type:"UPDATE",data:l.updateAgentData(t)})};var n=function e(){return l.getAgent()};var i=function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:n();if(t!==l.getDefaultAgent())return o(t);r(l.getInitialState())};var o=function e(t){l.checkAgent(t,r)};var s=function e(t){l.setAgentCookie(t)};return{updateAgentData:r,agentSetup:i,getAgent:n,updateAgent:o,setAgentCookie:s}};e.exports={mapStateToProps:r,mapDispatchToProps:n}},function(e,t,n){"use strict";var r=n(9);var i=n(16);var o=n(15);var s=n(5);var a=n(13),l=a.domainSettings,c=a.settings,u=a.agents,d=a.customerWebSocketService;var p={agentFromReferrer:function e(){var t=typeof window!=="undefined"?window.document.referrer:"";var a=new RegExp(/^[a-z]*:\/\/[^/]*(\.google\.|\.yahoo\.|\.bing\.|\.ask\.|\.aol\.|\.wow\.|\.webcrawler\.|\.mywebsearch\.|\.infospace\.|\.info\.|\.dogpile\.|\.duckduckgo\.|\.blekko\.)[^/]*/i);if(t&&a.test(t)&&!s.getParameterByName("adcode",true)&&!s.getParameterByName("email",true)){return u.search||this.getDefaultAgent(u.main)}},agentFromUrl:function e(){var t=s.getParameterByName("agent",true);var a=new RegExp(/^[0-9a-z]{4,5}$/i);if(t&&a.test(t)){return t}},agentFromCookie:function e(){if(o.load("agent")){return o.load("agent")}},getDefaultAgent:function e(t){return t||u.main||"WT894"},getAgent:function e(){var t=this.agentFromReferrer()||this.agentFromUrl()||this.agentFromCookie()||this.getDefaultAgent();this.setAgentCookie(t);this.checkForSessionCookie();return t},setAgentCookie:function e(t){o.remove("agent","/");var a=new Date;var r=c.cookieExpiryDays||90;a.setTime(a.getTime()+r*24*60*60*1e3);var n={expires:a,path:"/"};if(c.cookieDomain)n.domain=c.cookieDomain;o.save("agent",t,n)},agentData:function e(t,a){var r={};if(a){try{r=n(37)("./"+c.pluginsExportDir+"/"+u.main+".json");r.agent=r.code}catch(e){r={}}}if(!r.agent){r={agent:this.getAgent(),typeRID:"D",groupCode:"X0"};if(t)return Object.prototype.hasOwnProperty.call(r,t)?r[t]:false}return r},checkAgent:function e(u,d){if(this.agentData("DDI")&&this.agentData("DDI")!=="")return d(this.agentData());var t=l.language?l.language.toUpperCase():"UK";if(t!=="UK"&&t!=="DE")t="DE";var a=l.scheme?l.scheme+":":"";try{r.get("".concat(a,"//hapi.holidayextras.co.uk/legacy/agent_lookup/").concat(u,".js?key=foo&country=").concat(t)).use(i).end(function(e,t){if(e||!t.text)return;var a={};try{a=JSON.parse(t.text)}catch(e){console.log(e);return}if(!(a.API_Reply.RecordSet&&a.API_Reply.RecordSet.Record))return;a.API_Reply.RecordSet.Record.map(function(e){var t=e.name,a=e.code,r=e.groupCode,n=e.typeRID,i=e.DDI,o=e.promocode,s=e.cashback,l=e.data;if(isNaN(u)&&u.toUpperCase()!==a.toUpperCase())return;var c={name:t,agent:u,typeRID:n,groupCode:r,DDI:i,promocode:o,cashback:s,OptionFlags:l.OptionFlags};d(c)})})}catch(e){console.log(e.message,"ERROR with agent lookup");return d(this.agentData())}},assignAgentsIdentifiedByUrl:function e(t){var a={};if(t&&t.allowedUrlAgentIDs){t.allowedUrlAgentIDs.forEach(function(e){a[e]=s.getParameterByName(e,false)});return a}},componentDidMount:function e(t){if(t.agent!==this.getDefaultAgent())this.checkAgent(t.agent,this.updateAgentData)},getInitialState:function e(){return this.agentData(false,true)},updateAgentData:function e(t){var a=this.assignAgentsIdentifiedByUrl();if(a)t.agentsByUrl=a;t.agent=t.agent.toUpperCase();return t},checkIsLoggedIn:function e(){if(!window.ReactRootStore)return false;if(!window.ReactRootStore.getState)return false;if(typeof window.ReactRootStore.getState!=="function")return false;if(!(window.ReactRootStore.getState().loggedInData||{}).email)return false;return true},checkForSessionCookie:function e(){var t=o.load("owts-tmp-v2");if(typeof window==="undefined"||!d)return;if(!t)return setTimeout(this.checkForSessionCookie.bind(this),500)}};e.exports=p},function(e,t){function a(e){var t=new Error("Cannot find module '"+e+"'");t.code="MODULE_NOT_FOUND";throw t}a.keys=function(){return[]};a.resolve=a;e.exports=a;a.id=37},function(e,t){var a=function e(t){return{liveChatData:t.liveChatData}};var r=function e(r){return{openLiveChat:function e(t,a){return r({type:"CHAT_OPENED",data:{department:t,lang:a}})},closeLiveChat:function e(){return r({type:"CHAT_CLOSED"})},minimizeLiveChat:function e(t){return r({type:"CHAT_MINIMIZED",data:{chatMinimized:t}})}}};e.exports={mapStateToProps:a,mapDispatchToProps:r}},function(e,t,a){var r=a(11);var I=a(42);var R=a(47);var M=a(4);function n(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,r)}return a}function L(t){for(var e=1;e1&&arguments[1]!==undefined?arguments[1]:"";var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var n=u(),i=n.magicLinkUrl;var o=t.replace("+","%2b")||D();if(!o||!i)return false;var s=V.getQueryData();var l=s.referrer?s.referrer:"https://"+window.location.host+(a?"/".concat(a):"");return B.get("//static1.holidayextras.com/responsysEmailSignUpProxy.php?EMAIL_ADDRESS_="+o+"&ORIGIN="+encodeURI(l)+"&_ri_="+i+"&charset_=ISO-8859-1"+(r?"&autocreate=1":"")).then(function(e){S();return e})["catch"](function(e){console.log("err",e);return false})};var x=function e(){i({type:"TRIGGER_LOGIN"})};var O=function e(){i({type:"TRIGGER_LOGIN_HIDE"})};var A=function(){var a=R(I.mark(function e(t){var a;var r,n,i,o,s,l,c,u,d,p,m,h,f,g,v,y,b;return I.wrap(function(e){while(1)switch(e.prev=e.next){case 0:r=function e(t){return{success:true,result:t}};n=function e(t){return{success:false,result:t}};i=function(){var a=R(I.mark(function e(t){return I.wrap(function(e){while(1)switch(e.prev=e.next){case 0:e.next=1;return new Promise(function(e){return setTimeout(e,t)});case 1:throw new Error("voyagerApp message handler timed out");case 2:case"end":return e.stop()}},e)}));return function e(t){return a.apply(this,arguments)}}();o=function e(t,a){var r=t;if(a){try{r=JSON.parse(t)}catch(e){return r}}return r};s=t.handler,l=t.payload,c=l===void 0?{}:l,u=t.timeout,d=u===void 0?1e4:u;if(!(typeof window==="undefined")){e.next=1;break}return e.abrupt("return",n("No window object present"));case 1:p=(a=window.webkit)===null||a===void 0||(a=a.messageHandlers)===null||a===void 0?void 0:a.voyagerApp;m=window.JSBridge;h=p||m;if(h){e.next=2;break}return e.abrupt("return",n("No voyagerApp message handler present"));case 2:if(s){e.next=3;break}return e.abrupt("return",n("Invalid or missing handler name"));case 3:e.prev=3;f={handler:s,payload:c};g=m?JSON.stringify(f):f;v=h.postMessage(g);e.next=4;return Promise.race([v,i(d)]);case 4:y=e.sent;return e.abrupt("return",r(o(y,Boolean(m))));case 5:e.prev=5;b=e["catch"](3);return e.abrupt("return",n(o(b===null||b===void 0?void 0:b.message,Boolean(m))));case 6:case"end":return e.stop()}},e,null,[[3,5]])}));return function e(t){return a.apply(this,arguments)}}();var C;var P=function(){var t=R(I.mark(function e(){var t,a,r;return I.wrap(function(e){while(1)switch(e.prev=e.next){case 0:if(!C){e.next=1;break}return e.abrupt("return",C);case 1:e.next=2;return A({handler:"getAuthToken"});case 2:t=e.sent;a=t.success;r=t.result;if(a)C=r;return e.abrupt("return",C);case 3:case"end":return e.stop()}},e)}));return function e(){return t.apply(this,arguments)}}();return{invalidUser:N,userLogout:a,userLogin:y,userValidationLoading:t,userLogoutResponse:r,getLoginConfig:u,getLoginAuthConfig:c,loginGetEmailCookie:D,validateTripappUser:k,loginSubmitMagicLink:T,loginTripappUser:l,validatedTripappUser:b,triggerLogin:x,triggerLoginHide:O,validateTripappUserV2:w,loginSubmitMagicLinkV2:_,loginTripappUserV2:d,getAuthTokenFromVoyager:P}};e.exports={mapStateToProps:i,mapDispatchToProps:o}},,,,,,,,,function(e,t){e.exports=Redux},function(e,t,a){var r=a(50);var n=a(51);var i=a(52);var o=a(53);var s=a(54);var l={liveChatData:i,loggedInData:o,hxBreaksData:n,agentData:r,splitTestData:s};e.exports=l},function(e,t){var r={OptionFlags:{}};if(typeof window!=="undefined"){r=Object.assign({},r,window.agentReduxStore||{})}var a=function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:r;var a=arguments.length>1?arguments[1]:undefined;switch(a.type){case"UPDATE":return a.data;default:return t}};e.exports=a},function(e,t,a){var r=a(11);function n(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,r)}return a}function i(t){for(var e=1;e0&&arguments[0]!==undefined?arguments[0]:o;var a=arguments.length>1?arguments[1]:undefined;switch(a.type){case"SET_ATTRACTION":{return i(i({},t),{},{selectedAttraction:a.attraction})}default:{return t}}};e.exports=s},function(e,t,a){var r=a(11);function n(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,r)}return a}function i(t){for(var e=1;e0&&arguments[0]!==undefined?arguments[0]:o;var a=arguments.length>1?arguments[1]:undefined;switch(a.type){case"CHAT_OPENED":return i(i({},t),{},{chatOpen:true,chatDepartment:a.data.department,chatLang:a.data.lang,chatMinimized:false});case"CHAT_CLOSED":return i(i({},t),{},{chatOpen:false});case"CHAT_MINIMIZED":return i(i({},t),{},{chatMinimized:a.data.chatMinimized});default:return t}};e.exports=s},function(e,t,a){var r=a(11);function n(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,r)}return a}function u(t){for(var e=1;e0&&arguments[0]!==undefined?arguments[0]:m;var a=arguments.length>1?arguments[1]:undefined;switch(a.type){case"LOGOUT":{localStorage.removeItem("customer");return Object.assign({},d(),{accountStatus:false,validUser:t.validUser})}case"LOGIN":{var r,n;var i=(r=a.data)===null||r===void 0?void 0:r.first_name;var o=(n=a.data)===null||n===void 0?void 0:n.last_name;var s="".concat(i.charAt(0).toUpperCase()).concat(o.charAt(0).toUpperCase());localStorage.setItem("customer",JSON.stringify({initials:s,first_name:i}));var l={accountStatus:"active",validUser:true,initials:s};if(t.email)l.email=t.email;return Object.assign({},d(),m,a.data,l)}case"LOGIN_FAILED":{return Object.assign({},d(),t,{failedLogin:a.data,accountStatus:"checked_failed",email:t.email,forceLogin:false})}case"VALIDATION_LOADING":{var c=JSON.parse(localStorage.getItem("customer"))||{};return Object.assign({},t,u(u(u({},typeof c.initials==="string"?{initials:c.initials}:{}),typeof c.first_name==="string"?{first_name:c.first_name}:{}),{},{accountStatus:"loading"}))}case"VALID_USER":{return Object.assign({},d(),t,{validUser:!!a.data,accountStatus:"checked_valid",email:a.data})}case"INVALID_USER":{localStorage.removeItem("customer");return Object.assign({},d(),t,p(),{validUser:false,accountStatus:"checked_invalid",email:a.data})}case"SENT_MAGICLINK":{return Object.assign({},d(),t,{sentMagicLink:a.data,validUser:t.validUser,accountStatus:t.accountStatus,email:t.email})}case"TRIGGER_LOGIN":{return Object.assign({},t,{forceLogin:true})}case"TRIGGER_LOGIN_HIDE":{return Object.assign({},t,{forceLogin:false})}case"LOGIN_FINISHED":{return Object.assign({},t,{loginStatus:"finished"})}default:{return Object.assign({},m,d(),t)}}};e.exports=o},function(e,t){var r={};var a=function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:r;var a=arguments.length>1?arguments[1]:undefined;switch(a.type){case"INITIALISE_TEST":t[a.data.name]={active:a.data.status};return t;case"INJECT_TEST_DATA":if(!Object.prototype.hasOwnProperty.call(t,a.data.name))return t;Object.assign(t[a.data.name],a.data.newSplitTestData);return t;case"LOGIN":if("landingMobileLocationIntent"in t&&t.landingMobileLocationIntent.active){t.landingMobileLocationIntent.active=false}return t;default:return t}};e.exports=a},function(e,t){var a="";e.exports={tripapp:{path:"https://www.holidayextras.com/"},auth:{login:"".concat(a,"/dock-yard/tripapp-rails/users/sign_in.json"),url:"".concat(a,"/dock-yard/traveller-api/graphql"),logout:"".concat(a,"/dock-yard/tripapp-rails/users/sign_out.json?_method=delete"),query:"fragment vehicle on Vehicle {\n id\n label\n manufacturer\n model\n colour\n registration\n }\n\n fragment telephone on Telephone {\n id\n label\n number\n }\n\n fragment address on Address {\n id\n label\n addressLines\n locality\n region\n postalCode\n country\n }\n\n fragment trip on Trip {\n id\n lag\n to\n from\n departureShortName\n destinationShortName\n bookings {\n agent\n bookingRef\n unprefixedBookingRef\n bookingStatus\n manageBookingLink\n products {\n primary {\n code\n type\n normalisedType\n content {\n name\n }\n }\n }\n }\n recommendations {\n index\n productType\n normalisedProductType\n action {\n type\n value\n }\n content {\n heading\n image\n summary\n }\n }\n }\n\n fragment card on Card {\n id\n label\n paymentRef\n # cardHolderName\n lastFourDigits\n expiryDate\n issuer\n isCredit\n }\n\n fragment debit on DirectDebit {\n id\n label\n paymentRef\n agentCode\n accountHolderName\n lastFourDigits\n }\n\n fragment voucher on Voucher {\n id\n label\n bookingRef\n totalValue\n remainingValue\n currency\n nonFlex\n expires\n created\n productType\n agentCode\n refundValue\n redemptions {\n bookingRef\n }\n refunds {\n value\n }\n cancellationFeeRedeemable\n redemptionConditions {\n agentGroupCode\n productAuthority\n }\n }\n\n query {\n getTraveller {\n userExtId\n profile {\n title\n givenName\n familyName\n email\n telephones {\n preferred {\n ...telephone\n }\n other {\n ...telephone\n }\n }\n vehicles {\n preferred {\n ...vehicle\n }\n other {\n ...vehicle\n }\n }\n addresses {\n preferred {\n ...address\n }\n other {\n ...address\n }\n }\n paymentMethods {\n cards {\n isPreferredPaymentMethod\n preferred {\n ...card\n }\n other {\n ...card\n }\n }\n directDebits {\n isPreferredPaymentMethod\n preferred {\n ...debit\n }\n other {\n ...debit\n }\n }\n }\n tripappMetadata {\n autoGeneratedPassword\n hasCompleteBookings\n railsUserID\n }\n }\n upcomingTrips {\n ...trip\n }\n pastTrips {\n ...trip\n }\n vouchers {\n active {\n ...voucher\n }\n expired {\n ...voucher\n }\n redeemed {\n ...voucher\n }\n refunded {\n ...voucher\n }\n }\n }\n }",getIsVoucherRefundable:{query:"query IsVoucherRefundable($voucherCode: String!) {\n isVoucherRefundable(voucherCode: $voucherCode)\n }",variables:{voucherCode:""}}},userExists:{url:"https://www.holidayextras.com/dock-yard/traveller-api/graphql",query:{query:"query UserExists($email: String!){hasAccount(email: $email)}",variables:{email:""}}}}},function(e,t){var a="production"!=="production";e.exports={header:"Login",headerThankYou:"Vielen Dank",isLoginLink:false,noValidUser:"Du hast kein Benutzerkonto? Du kannst deine Buchung auch mit deiner Buchungsreferenz und der E-Mail-Adresse aufrufen.",magicLink:"Passwort vergessen. Sende mir einen Anmelde-Link zu.",magicLinkUrl:"X0Gzc2X%3DYQpglLjHJlYQGszei3FqTzgcrWhLC6rgwkGMmzaaUc4ERlbUk9CDRVwjpnpgHlpgneHmgJoXX0Gzc2X%3DYQpglLjHJlYQGkXTumvmw5tFLCtiihzazcPL8zaaUc4ERlbUk9CDR",magicLinkSent:"Bitte überprüfe deinen Posteingang. Wir haben dir einen Anmelde-Link gesendet.",or:"oder",agentTitle:"Holiday Extras Reisebüro Login",agentCallToAction:"Reisebüro Login",loginUnsuccessful:"Geben Sie bitte Ihr aktuelles Passwort ein.",customerLoginLocation:"/static/?#/users/new_sign_in",agentLoginLocation:"/de/login.html",customerTitle:"Kunden Login",emailAddress:"Email-Adresse",enterEmail:"Gib deine Email-Adresse ein",password:"Passwort",enterPassword:"Gib dein Passwort ein",customerCallToAction:function e(){return"Login"},forgottenPassword:"Passwort zurücksetzen?",createAccountLink:"https://create-account".concat(a?"-staging":"",".holidayextras.co.uk/validate"),customerLogout:"Abmelden",hello:"Hallo",your_account:"Dein Benutzerkonto",yourBookings:"Deine Übersicht",vouchers:{url:"/de/static/?#/vouchers",label:"Deine Gutscheine"},bookings:{url:"/de/static/?#/mytrips",label:"Ihre Buchungen",loginUrl:"/static/?#/users/new_sign_in?referrer=https://www.holidayextras.com/static/%23mytrips"},trips:{url:"/de/static/?#/mytrips",label:"Deine Übersicht",loginUrl:"/static/?#/users/new_sign_in?referrer=https://www.holidayextras.com/static/%23trip-list"},tripsAndBookings:{url:"/de/static/?#/mytrips",label:"Deine Übersicht",loginUrl:"/static/?#/users/new_sign_in?referrer=https://www.holidayextras.com/static/%23mytrips"},personalDetails:{url:"/de/static/?#/users/profile",label:"Persönliche Daten"},resetPasswordUrl:"/de/static/?#/users/password/new",resetPasswordText:"Passwort vergessen?",welcomeBackMsg:"Willkommen zurück",welcomeBackMsgText:'Wenn du Fragen hast, helfen wir dir gerne weiter. ',incorrectEmailPassword:"Falsche E-Mail-Adresse oder falsches passwort",goodEvening:"Guten Abend",goodMorning:"Guten Morgen",goodAfternoon:"Guten Tag",heyWelcomeBack:'Hi[NAME]! Willkommen zurück bei Holiday Extras 👋',loginPopoverSell1:"Es ist ganz einfach: Uns gibt es, weil du weniger Stress und mehr Urlaub verdient hast..",loginPopoverSell2:"Mit deinen gespeicherten Daten im Handumdrehen gebucht!"}},function(e,t,a){"use strict";var o=a(58);var i=a(5);var r={getQueryData:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(typeof window==="undefined")return false;var a=window.location.search;if(t){var r=window.location.hash;var n=r.indexOf("?");a=n===-1?"":r.slice(n+1)}a.replace(/\+/g," ").replace(/%\s/g,"%25").replace(/%$/,"%25").replace(/%&/g,"%25&");var i=o.parse(a);if(i.adcode){i.adcode=i.adcode.toUpperCase()}return i},searchQueryStringAndSet:function e(t,a){if(!t)return false;var r=this.getQueryData(a);var n=false;if(Object.keys(r).length){t.map(function(e){if(e.match("email")&&r[e]){if(r[e].match(/(.+)(@|%40|%2540)(.+).(.+)/))return;i.hashToEmail(r[e],function(e){i.setCookie("email",e)})}else{if(r[e])n=r[e]}})}return n},ppcData:function e(){var t=this.getQueryData();if(!t)return false;var a={ppcmsg:t.ppcmsg||"",adcode:t.adcode||"",lgpStyleSplit:t.lgp_style_split||"alternative",keyword:t.keyword||""};return a}};e.exports=r},,,function(e,t){var a=function e(t){return{hxBreaksData:t.hxBreaksData}};var r=function e(a){var t=function e(t){a({attraction:t,type:"SET_ATTRACTION"})};return{setAttraction:t}};e.exports={mapStateToProps:a,mapDispatchToProps:r}},function(e,t,a){var u=a(4);var d=a(5);var r=a(13),p=r.splitTests;var n=function e(t){return{splitTestData:t.splitTestData}};var i=function e(o){var s=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var t=function e(t,a){if(!t)return false;if(t.match(/_/))t=l(t);return Boolean(a[t])};var a=function e(t,a){if(!t)return false;if(t.match(/_/))t=l(t);t=a[t]||{};return t.active||false};var r=function e(t,a){if(!t||u(a)!=="object")return false;if(t.match(/_/))t=l(t);o({type:"INJECT_TEST_DATA",data:{name:t,newSplitTestData:a}})};var l=function e(t){return t.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})};var c=function e(){var t=navigator.userAgent.match(/MSIE (\d+\.\d+);/);if(t instanceof Array&&t.length>1)return t[1]/1;return false};var n=function e(t){if(!t||!t.name)return false;if(typeof window==="undefined"||t.percentage<100&&d.getParameterByName("ignoreSplitTests",false)&&!d.getParameterByName(t.name,false))return false;var a=s.pageData,r=a===void 0?{}:a;if(t.pattern&&!r.pageName.match(t.pattern))return false;var n=false;if(t.discludeIE){t.discludeIE.map(function(e){if(c()===e)n=true})}if(n)return false;var i=d.isSplitTest(t.name,t.percentage,t.expiry);o({type:"INITIALISE_TEST",data:{name:l(t.name),status:i}});return i};var i=function e(t){if(!p)return 0;return Number(p[t])||0};return{splitTestInitialised:t,splitTestIsActive:a,injectSplitTestData:r,initialiseSplitTest:n,splitTestsPercentage:i}};e.exports={mapStateToProps:n,mapDispatchToProps:i}},function(L,e,t){"use strict";t.r(e);var a=t(1);var r=t.n(a);var n=t(0);var x=t.n(n);var i=t(7);var o=t.n(i);var s=function(e){function t(){return e.apply(this,arguments)||this}r()(t,e);var a=t.prototype;a.render=function e(){var t=this.props.domainSettings,a=t.scheme,r=t.domain;var n=o()({navbar:true,"navbar-default":true,"navbar-static-top":true,"hidden-print":true});return x.a.createElement("nav",{className:n,role:"navigation"},x.a.createElement("a",{className:"navbar-brand",href:"".concat(a,"://").concat(r)},"Holiday Extras"))};return t}(x.a.Component);var O=s;var l=t(23);var c=t.n(l);var u=t(12);var d=t.n(u);var p=t(5);var m=t.n(p);var g=t(2);var h=t.n(g);var f=t(9);var v=t.n(f);var y=t(6);var b=t.n(y);var k=function(a){function e(e){var t;t=a.call(this,e)||this;t.state={status:"hidden",statusText:""};return t}r()(e,a);var t=e.prototype;t.componentDidMount=function e(){this.updateStatus()};t.shouldComponentUpdate=function e(t,a){if(JSON.stringify(t.flightData)!==JSON.stringify(this.props.flightData))return true;if(JSON.stringify(a.status)!==JSON.stringify(this.state.status))return true;return false};t.componentDidUpdate=function e(){this.updateStatus()};t.updateStatus=function e(){this.getFlightStatus();if(window.flightStatusTimeout)clearInterval(window.flightStatusTimeout);window.flightStatusTimeout=setInterval(this.getFlightStatus,3e5)};t.getFlightStatus=function e(){var a=this;var t=this.props,r=t.flightData.flight,n=t.flightStatus;var i=b.a.alterDateByNumberOfDays(new Date,"+60");var o=new Date;var s="".concat(n.url).concat(r.code.toLowerCase(),"/?lang=de&siteCode=DE-HX&status=1&departDate=").concat(b.a.nativeDateToIso(o),"&returnDate=").concat(b.a.nativeDateToIso(i));v.a.get(s).end(function(e,t){if(e)return false;if(!t||t.status===404||!t.body)return false;if(!t.body[0]||!t.body[0].flightStats||!t.body[0].flightStats.flightStatuses)return false;a.setState({status:t.body[0].flightStats.flightStatuses[0].status})})};t.translateStatus=function e(t){switch(t){case"A":return"Unterwegs";case"C":return"Abgebrochen";case"NO":return"Nicht funktionsfähig";case"L":return"Gelandet";case"R":return"Weitergeleitet";case"U":return"Unbekannte";default:return"Planmäßig"}};t.render=function e(){var t=this.state.status,a=t.status,r=t.statusText;if(a==="hidden")return null;var n=this.translateStatus(r);var i=o()({label:true,flight:true,"label-success":a==="S"||a==="A"||a==="L","label-info":a==="R","label-danger":a==="U"||a==="C"||a==="NO"});if(!r)return null;return x.a.createElement("span",{className:i},n)};return e}(x.a.Component);var w=k;var D=function(e){function t(){return e.apply(this,arguments)||this}r()(t,e);var a=t.prototype;a.render=function e(){var t=this.props.flightData,a=t.flight,r=t.departure,n=t.arrival;var i=o()({jumbotron:true,"jumbotron-cover":true,"jumbotron-overlay":true});return x.a.createElement("div",{className:i},x.a.createElement("div",{className:"container-fluid"},x.a.createElement("div",{className:"col-lg-6 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 block-sm"},x.a.createElement("h1",null,a.carrier.name," Flugnummer ",a.code),x.a.createElement("p",{className:"lead"},"von ",h.a.displayCity(r),", ",r.country," nach ",h.a.displayCity(n),", ",n.country),x.a.createElement(w,{flightData:this.props.flightData,flightStatus:this.props.flightStatus})),x.a.createElement("div",{className:"col-lg-3 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 departureInfo"},x.a.createElement("div",{className:"col-lg-12 col-sm-4 block-sm"},x.a.createElement("h5",null,"Datum und Uhrzeit:"),x.a.createElement("h3",{className:"text-white"},h.a.formatDateToDMY(new Date(r.dateFull))," - ",r.time)),x.a.createElement("div",{className:"col-lg-6 col-sm-4 col-xs-6 block-sm"},x.a.createElement("h5",null,"von"),x.a.createElement("h3",{className:"text-white"},h.a.displayCity(r))),x.a.createElement("div",{className:"col-lg-6 col-sm-4 col-xs-6 block-sm"},x.a.createElement("h5",null,"nach"),x.a.createElement("h3",{className:"text-white"},h.a.displayCity(n))))))};return t}(x.a.Component);var A=D;var E=function(e){function t(){return e.apply(this,arguments)||this}r()(t,e);var a=t.prototype;a.generateFlightList=function e(){var t=this.props.allFlightData;var a=0;if(!t.length)return null;return t.map(function(e){var t=h.a.formatDateToDddMMyy(e);a++;if(a===1||a>6)return;return x.a.createElement("li",{key:a,className:"list-group-item list-group-item-lg"},x.a.createElement("span",null,t," - ",e.split("T")[1].split(":00.000")[0]))})};a.render=function e(){var t=this.props.flightCode;if(t==="")return null;return x.a.createElement("div",{className:"col-md-4"},x.a.createElement("ul",{className:"list-group bg-default"},x.a.createElement("li",{className:"list-group-item list-group-item-lg"},x.a.createElement("h3",{className:"list-group-item-heading"},"Anstehende ",t," Abflüge"),x.a.createElement("p",{className:"list-group-item-text"},"Klicke hier, um deine Flugabfrage zu starten:")),this.generateFlightList()))};return t}(x.a.Component);var C=E;var N=function(e){function t(){return e.apply(this,arguments)||this}r()(t,e);var a=t.prototype;a.render=function e(){var t=this.props.airlineInformation,a=t.name,r=t.checkedLuggageMaxSize,n=t.checkedLuggageMaxWeight,i=t.handLuggageMaxPerPerson,o=t.handLuggageMaxSize,s=t.handLuggageMaxWeight;return x.a.createElement("div",{className:"bg-default"},x.a.createElement("div",{className:"container block-lg"},x.a.createElement("div",{className:"col-xs-12"},x.a.createElement("div",{className:"page-header"},a&&x.a.createElement("h3",{className:"h2"},"Freigepäckbestimmungen für ",a),x.a.createElement("div",{className:"sub-heading"},"Bitte überprüfe immer die Gepäckbestimmungen bevor du deine Reise antrittst")),x.a.createElement("div",{className:"col-lg-12"},x.a.createElement("p",null,"Die Freigepäckmenge variiert je nach Strecke, Sitzklasse und Fluglinie und unterliegt den ständig wechselnden Luftverkehrsvorschriften. In der Regel können Übergepäck und Sondertransporte gegen einen Aufpreis mitgeführt werden."),x.a.createElement("ul",{className:"list-unstyled"},r&&x.a.createElement("li",{className:"block-xs"},x.a.createElement("h4",null,"Maße Reisegepäck:")," ",r),n&&x.a.createElement("li",{className:"block-xs"},x.a.createElement("h4",null,"Gewicht Reisegepäck:")," ",n),i&&x.a.createElement("li",{className:"block-xs"},x.a.createElement("h4",null,"Anzahl Handgepäckstücke pro Person:")," ",i),o&&x.a.createElement("li",{className:"block-xs"},x.a.createElement("h4",null,"Maße Handgepäck:")," ",o),s&&x.a.createElement("li",{className:"block-xs"},x.a.createElement("h4",null,"Gewicht Handgepäck:")," ",s)),x.a.createElement("p",null,"Bitte achte darauf, dass sich diese Informationen ändern können: Deshalb prüfe immer die Webseiten der Fluggesellschaften und der Flughäfen, bevor du mit dem Packen beginnst.")))))};return t}(x.a.Component);var P=N;var S=function(a){function e(e){var t;t=a.call(this,e)||this;t.state=t.reset();return t}r()(e,a);var t=e.prototype;t.componentDidMount=function e(){this.fetchAll(this.props)};t.componentDidUpdate=function e(t){var a=this.props,r=a.agentData,n=r===void 0?{}:r,i=a.flightData,o=i===void 0?{}:i;var s=t.agentData,l=s===void 0?{}:s;if(l.agent!==n.agent)return this.fetchAll(this.props);if(JSON.stringify(o)!==JSON.stringify(t.flightData)){this.setState(this.reset());this.fetchAll(this.props)}};t.reset=function e(){return{products:{cp:{state:"loading",count:0,cheapestPrice:0},ho:{state:"loading",count:0,cheapestPrice:0},hcp:{state:"loading",count:0,cheapestPrice:0},lo:{state:"loading",count:0,cheapestPrice:0}}}};t.fetchAll=function e(t){this.fetchProducts("cp",t);this.fetchProducts("hcp",t);this.fetchProducts("ho",t);this.fetchProducts("lo",t)};t.fetchProducts=function e(a,t){var r=t.flightData,n=r.departure,i=r.arrival,o=r.flight,s=t.agentData,l=s.agent,c=s.typeRID,u=s.groupCode,d=t.locations,p=t.settings;var m={selectProduct:a,startDate:n.date,agent:l,channel:c,agentgroup:u,Location:n.airport_iata,terminal:n.terminal?n.terminal:false,arrivalTime:i.time?i.time:"12:00",departureTime:n.time?n.time:"13:00",flightCode:o.code};console.log(d);if(!d[d.locationsMap[a]]||!d[d.locationsMap[a]].hasOwnProperty(n.airport_iata))return;var h={};var f=Object(g["buildHapiUrl"])(p,m);h.submitUrl=f.submitUrl;h.state="available";this.setState(function(e){var t=e.products;t[a]=h;return{products:t}})};t.render=function e(){var t=this.state.products,a=t.cp,r=t.ho,n=t.hcp,i=t.lo;var o=this.props,s=o.flightData.departure,l=o.locations,c=o.products;return x.a.createElement("div",{className:"col-md-8"},x.a.createElement("ul",{className:"list-group list-group-lg list-unstyled",id:"productList"},l.carParking[s.airport_iata]&&x.a.createElement("li",{className:"list-group-item-container bg-default"},x.a.createElement("div",{className:c.listItemClass[a.state]},x.a.createElement("div",{className:"row flight-product"},x.a.createElement("i",{className:c.iconClass[a.state]}),x.a.createElement("i",{className:"icon fas fa-parking left-icon hidden-xs"}),x.a.createElement("div",{className:"col-lg-6"},x.a.createElement("h3",{className:"list-group-item-heading"},s.airport," Parken am Flughafen")),a.state==="available"&&x.a.createElement("div",{className:"col-lg-4 product-price"},x.a.createElement("a",{href:a.submitUrl,className:"component-button small primary",target:"_blank"},x.a.createElement("i",{className:"icon icon--search"}),"Suchen"))))),l.lounges[s.airport_iata]&&x.a.createElement("li",{className:"list-group-item-container bg-default"},x.a.createElement("div",{className:c.listItemClass[i.state]},x.a.createElement("div",{className:"row flight-product"},x.a.createElement("i",{className:c.iconClass[i.state]}),x.a.createElement("i",{className:"icon fas fa-couch left-icon hidden-xs"}),x.a.createElement("div",{className:"col-lg-6"},x.a.createElement("h3",{className:"list-group-item-heading"},s.airport," Airport Lounges")),i.state==="available"&&x.a.createElement("div",{className:"col-lg-4 product-price"},x.a.createElement("a",{href:"https://www.holidayextras.com/de/airport-lounges.html",className:"component-button small primary",target:"_blank"},x.a.createElement("i",{className:"icon icon--search"}),"Suchen"))))),l.hotels[s.airport_iata]&&x.a.createElement("li",{className:"list-group-item-container bg-default"},x.a.createElement("div",{className:c.listItemClass[n.state]},x.a.createElement("div",{className:"row flight-product"},x.a.createElement("i",{className:c.iconClass[n.state]}),x.a.createElement("i",{className:"icon fas fa-suitcase left-icon hidden-xs"}),x.a.createElement("div",{className:"col-lg-6"},x.a.createElement("h3",{className:"list-group-item-heading"},s.airport," Hotels mit Parken")),n.state==="available"&&x.a.createElement("div",{className:"col-lg-4 product-price"},x.a.createElement("a",{href:"https://www.holidayextras.com/de/hotelmitundohneparken.html",className:"component-button small primary",target:"_blank"},x.a.createElement("i",{className:"icon icon--search"})," Suchen"))))),l.hotels[s.airport_iata]&&x.a.createElement("li",{className:"list-group-item-container bg-default"},x.a.createElement("div",{className:c.listItemClass[r.state]},x.a.createElement("div",{className:"row flight-product"},x.a.createElement("i",{className:c.iconClass[r.state]}),x.a.createElement("i",{className:"icon fas fa-suitcase left-icon hidden-xs"}),x.a.createElement("div",{className:"col-lg-6"},x.a.createElement("h3",{className:"list-group-item-heading"},s.airport," Hotels ohne Parken")),r.state==="available"&&x.a.createElement("div",{className:"col-lg-4 product-price"},x.a.createElement("a",{href:"https://www.holidayextras.com/de/hotelmitundohneparken.html",className:"component-button small primary",target:"_blank"},x.a.createElement("i",{className:"icon icon--search"})," Suchen")))))))};return e}(x.a.Component);var B=S;var F=function(e){function t(){return e.apply(this,arguments)||this}r()(t,e);var a=t.prototype;a.render=function e(){var t=this.props,a=t.flightData,r=t.flightStats,n=t.weatherData,i=t.arrivalInfo,o=t.flightLinks,s=t.terminalConvert;var l="http://www.lonelyplanet.com/searchResult?q="+a.arrival.city;return x.a.createElement("div",{className:"bg-primary"},x.a.createElement("div",{className:"container block-lg"},x.a.createElement("div",{className:"col-xs-12"},x.a.createElement("div",{className:"page-header"},x.a.createElement("h3",{className:"h2"},"Informationen zum Abflug- und Zielflughafen"),x.a.createElement("div",null,"Unsere nützlichen Links helfen dir am Flughafen weiter")),x.a.createElement("div",{className:"col-lg-6"},x.a.createElement("h4",null,h.a.displayCity(a.departure)),x.a.createElement("table",{className:"table"},x.a.createElement("thead",null),x.a.createElement("tbody",null,x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Abflughafen"),x.a.createElement("td",null,a.departure.airport_iata)),a.departure.terminal&&x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Terminal"),x.a.createElement("td",null,o.terminal&&s[a.departure.terminal]&&x.a.createElement("a",{href:o.terminal},s[a.departure.terminal]),!o.terminal&&s[a.departure.terminal])),x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Lage"),x.a.createElement("td",null,h.a.displayCity(a.departure),", ",a.departure.country," ")),x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Datum"),x.a.createElement("td",null,h.a.formatDateToDddMMyy(a.departure.dateFull))),x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Abflugzeit (Ortszeit)"),x.a.createElement("td",null,a.departure.time)),o.departures&&x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Abflüge"),x.a.createElement("td",null,x.a.createElement("a",{href:o.departures,title:a.departure.city+" "+a.departure.airport+" Departure Board"},a.departure.city," ",a.departure.airport," Abflüge"))),o.arrivals&&x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Ankünfte"),x.a.createElement("td",null,x.a.createElement("a",{href:o.arrivals,title:a.departure.city+" "+a.departure.airport+" Arrival Board"},a.departure.city," ",a.departure.airport," Ankünfte")))))),x.a.createElement("div",{className:"col-lg-6"},x.a.createElement("h4",null,h.a.displayCity(a.arrival)),x.a.createElement("table",{className:"table"},x.a.createElement("thead",null),x.a.createElement("tbody",null,x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Zielflughafen"),x.a.createElement("td",null,a.arrival.airport_iata)),x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Lage"),x.a.createElement("td",null,o.destination&&x.a.createElement("a",{href:o.destination},h.a.displayCity(a.arrival),", "),a.arrival.country)),x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Datum"),x.a.createElement("td",null,h.a.formatDateToDddMMyy(a.arrival.dateFull))),r&&r.flightStatuses&&r.flightStatuses[0]&&r.flightStatuses[0].arrivalDate&&r.flightStatuses[0].arrivalDate.dateLocal&&x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Ankunftszeit"),x.a.createElement("td",null,h.a.formatISOStringToDateTime(r.flightStatuses[0].arrivalDate.dateLocal))),n&&n.daily&&x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Wetter"),x.a.createElement("td",null,"Höchsttemperatur ",Math.floor(n.daily.data[0].temperatureMax),"℃, Tiefsttemperatur ",Math.floor(n.daily.data[0].temperatureMin),"℃ ")),i&&x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Währung"),x.a.createElement("td",null,i.currency_name," ",x.a.createElement("a",{target:"_blank",href:"/geld-wechseln.html?utm_medium=foc&utm_source=flightpage&utm_campaign=flymoney"},"Währung kaufen"))),i&&x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Sprache"),x.a.createElement("td",null,i.language)),x.a.createElement("tr",null,x.a.createElement("th",{scope:"row"},"Lonely Planet"),x.a.createElement("td",null,x.a.createElement("a",{href:l,target:"_blank"},"Reiseführer")," "))))))))};return t}(x.a.Component);var j=F;var T=t(10);var U=function(a){function e(e){var t;t=a.call(this,e)||this;t.state={allMarkers:[],markers:[],polyline:[]};t.createMarkersAndPolyline=t.createMarkersAndPolyline.bind(t);t.insertPolyline=t.insertPolyline.bind(t);t.insertMarkers=t.insertMarkers.bind(t);return t}r()(e,a);var t=e.prototype;t.componentDidMount=function e(){this.createMarkersAndPolyline()};t.createMarkersAndPolyline=function e(){this.setState({allMarkers:this.insertMarkers(true),markers:this.insertMarkers(),polyline:this.insertPolyline()})};t.insertPolyline=function e(){var t=this.props.airports;var a=t.reduce(function(e,t){var a=t.latitude,r=t.longitude;e.push({lat:a,lng:r});return e},[]);return[x.a.createElement(T["Path"],{key:"poly_"+Date.now(),points:a,weight:"2",color:"black",geodesic:true})]};t.insertMarkers=function e(a){var t=this.props.airports;var r=t.reduce(function(e,t){if(a){e.push({lat:t.latitude,lng:t.longitude,icao:t.icao});return e}e.push(x.a.createElement(T["Marker"],{key:"pin_"+t.icao+Date.now(),location:{lat:t.latitude,lng:t.longitude}}));return e},[]);return r};t.render=function e(){var t=this.state,a=t.markers,r=t.polyline;if(!a.length||!r.length)return null;return x.a.createElement("div",{id:"theMap"},x.a.createElement(T["StaticGoogleMap"],{scale:"2",size:"640x165",apiKey:"AIzaSyBABuXTOM9ZyVExDMrz748ooMMOIfzOlq0",style:{width:"100%"}},x.a.createElement(T["Marker"].Group,{label:"Airports",size:"tiny"},a),r))};return e}(x.a.PureComponent);var H=U;var _=t(3);var I=function e(t){return x.a.createElement("div",{className:"bg-default"},x.a.createElement("div",{className:"container block-lg"},x.a.createElement("div",{className:"col-xs-12"},x.a.createElement("div",{className:"page-header"},x.a.createElement("h3",{className:"h2"},t.title),x.a.createElement("div",{className:"sub-heading"},t.description)),x.a.createElement("div",{className:"col-lg-12",dangerouslySetInnerHTML:{__html:t.content}}))))};I.propTypes={title:_["string"],description:_["string"],content:_["string"]};var G=I;var R=function(e){function t(){return e.apply(this,arguments)||this}r()(t,e);var a=t.prototype;a.renderWeather=function e(){var t=this.props,r=t.weatherData,n=t.weatherIcons;return Object.keys(r.daily.data).map(function(e){var t=r.daily.data[e];if(e>5)return null;var a=new Date(t.time*1e3);return x.a.createElement("div",{className:"component-weather",key:t.time},x.a.createElement("div",{className:n[t.icon]},x.a.createElement("span",null,t.summary)),x.a.createElement("div",null,b.a.getFullDay(a.getDay(),"DE")),x.a.createElement("div",null,x.a.createElement("span",null,"High ",Math.floor(t.temperatureMax)),x.a.createElement("abbr",{title:"Degrees Celsuis"},"°C")))})};a.render=function e(){var t=this.props,a=t.city,r=t.country,n=t.weatherData;if(a===""||r===""||Object.keys(n).length===0||!n.daily)return null;var i=this.renderWeather();return x.a.createElement("section",{className:"trip-weather"},x.a.createElement("div",{className:"block-md bg-primary"},x.a.createElement("div",{className:"container"},x.a.createElement("div",{className:"col-sm-4 block-sm"},x.a.createElement("div",{className:"page-header"},x.a.createElement("h3",{className:"h1"},"Der Wetterbericht für deine Reise"),x.a.createElement("div",null,"Für die nächsten 6 Tage in ",a,", ",r,"."))),x.a.createElement("div",{className:"col-sm-8 block-sm"},x.a.createElement("div",{className:"weather-components col-xs-12"},i)))))};return t}(x.a.Component);R.getDefaultProps={city:"",country:""};var z=R;var V=function e(){return x.a.createElement("footer",{className:"footer bg-secondary hidden-print"},x.a.createElement("div",{className:"block-md bg-primary"},x.a.createElement("div",{className:"container"},x.a.createElement("div",{className:"row"},x.a.createElement("div",{className:"col-xs-12"},x.a.createElement("h5",null,"Haftungsausschluss"),x.a.createElement("p",{className:"small"},"Die Fluginformationen auf www.holidayextras.de werden von externen Quellen bereitgestellt, die sich unserer Kontrolle entziehen."),x.a.createElement("p",{className:"small"},"Wir empfehlen dir dringend, dich mit deiner Fluggesellschaft oder dem jeweiligen Flughafen in Verbindung zu setzen, um dir die Fluginformationen bestätigen zu lassen, bevor du reist oder deine Reise planst. Holiday Extras übernimmt keine Verantwortung für diese Informationen, garantiert nicht deren Richtigkeit und übernimmt keine Haftung für Schäden, die dadurch entstehen, dass du dich auf diese Informationen verlassen hast."))))),x.a.createElement("div",{className:"footer-bottom block-sm small"},x.a.createElement("div",{className:"container"},x.a.createElement("div",{className:"row"},x.a.createElement("div",{className:"col-sm-7"},x.a.createElement("ul",{className:"list-inline footer-links block-xs"},x.a.createElement("li",null,x.a.createElement("a",{href:"/datenschutz.html"},"Datenschutz")))),x.a.createElement("div",{className:"col-sm-5 block-xs text-sm-right"},x.a.createElement("span",null,"© ",(new Date).getFullYear()," Holiday Extras Ltd"))))))};var K=V;var M=function(a){function e(e){var t;t=a.call(this,e)||this;if(e.agentSetup)e.agentSetup();if(e.initialSetup)e.initialSetup();return t}r()(e,a);var t=e.prototype;t.componentDidUpdate=function e(t){if(!t.agentData.agent&&this.props.agentData.agent){this.initialLoad(this.props)}};t.initialLoad=function e(t){var a=t.agentData.agent,r=t.pageData,n=r===void 0?{}:r,i=t.group;var o=n.flightData,s=o===void 0?{}:o;var l=s.futureDepartures,c=l===void 0?[]:l;var u=t.settings.env;if(m.a.getParameterByName("data-pipeline-staging"))u="staging";if(m.a.getParameterByName("data-pipeline-production"))u="production";d.a.init({agent:a,environment:u,templateGroup:i,schemaVersions:{cache_primer:"v1.0.0",auto_capture:"v4.3.2",capture:"v4.3.2",click:"v4.4.1",load:"v3.5.1",search:"v4.0.1",focus:"v4.2.2",test:"v4.2.2"}});window.futureDepartures=c;window.universalJavascriptLoaded=true};t.render=function e(){var t=this.props,a=t.agentData,r=t.settings,n=t.pageData,i=n===void 0?{}:n,o=t.domainSettings,s=t.locations,l=t.products,c=t.weatherIcons,u=t.flightStatus,d=t.terminalConvert,p=t.allMenuData;var m=i.flightData,h=m===void 0?{}:m,f=i.flightContent,g=f===void 0?{}:f,v=i.flightStats,y=v===void 0?{}:v,b=i.arrivalInfo,k=b===void 0?{}:b,w=i.flightLinks,D=w===void 0?{}:w,E=i.weather,N=E===void 0?{}:E,S=i.airlineInfo,T=S===void 0?{}:S;console.log(u);var _=!!(Array.isArray(N)||N==="[]");return x.a.createElement("div",null,x.a.createElement(O,{domainSettings:o}),x.a.createElement(A,{flightData:h,flightStatus:u}),x.a.createElement("div",{className:"container block-sm"},x.a.createElement(B,{flightData:h,agentData:a,locations:s,products:l,settings:r}),h.flight&&h.flight.code&&x.a.createElement(C,{flightCode:h.flight.code,allFlightData:h.futureDepartures,settings:r})),Object.prototype.hasOwnProperty.call(y,"appendix")&&Object.prototype.hasOwnProperty.call(y.appendix,"appendix")&&x.a.createElement(H,{airports:y.appendix.airports}),x.a.createElement(j,{flightData:h,flightStats:y,weatherData:N,arrivalInfo:k,flightLinks:D,terminalConvert:d}),T&&x.a.createElement(P,{airlineInformation:T}),!_&&N&&h.arrival&&x.a.createElement(z,{weatherData:N,country:h.arrival.country,city:h.arrival.city,weatherIcons:c}),Object.keys(g).length!==0&&x.a.createElement(G,{title:g.title,description:g.description,content:g.content}),x.a.createElement(K,null))};return e}(x.a.Component);M.propTypes={agents:_["object"],dataSource:_["object"],domainSettings:_["object"],locations:_["object"],pageData:_["object"].isRequired,RoomTypes:_["object"],settings:_["object"],sortOptions:_["object"],flightStatus:_["object"],terminalConvert:_["object"]};var W=e["default"]=c()(M,["agents","login"])}]);