CINXE.COM
United Airlines’ customer chief on ‘day of travel’ power of the airline app | Interview | Flight Global
<!DOCTYPE html> <html lang="en"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article","20240118193950","https://web.archive.org/","web","/_static/", "1705606790"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"> <link rel="preload" as="style" href="/web/20240118193950/https://www.flightglobal.com/Magazine/core.css?p=7266763911858126"> <link rel="preload" as="script" href="/web/20240118193950/https://www.flightglobal.com/Magazine/core.js?p=7266763911858126"> <link rel="preload" as="image" href="https://web.archive.org/web/20240118193950/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/480xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg" imagesrcset="https://d3lcr32v2pp4l1.cloudfront.net/Pictures/480xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg 480w,https://d3lcr32v2pp4l1.cloudfront.net/Pictures/600xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg 600w,https://d3lcr32v2pp4l1.cloudfront.net/Pictures/780xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg 780w" imagesizes="(max-width: 1023px) 100vw, 780px"/> <!-- FG Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://web.archive.org/web/20240118193950/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PQRKBK3');</script> <!-- End FG Google Tag Manager --> <title>United Airlines’ customer chief on ‘day of travel’ power of the airline app | Interview | Flight Global</title> <meta name="description" content="While United Airlines' customers are able to engage across a range of platforms and timeframes, for the carrier's chief customer officer Linda Jojo many of the advances with airline apps centre around their ability to support ‘day of travel’ functionality."/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="momentnowdate" content="2024-01-18 19:39:49.499"/> <meta name="momentlocale" content="en-gb"/> <meta name="momentlocaleformat" content="D MMM YYYY"/> <meta name="momentrelative" content="false"/> <meta name="momentrelativeformat" content="YYYY,MM,DD"/> <meta name="momentrelativemorethan" content="10"/> <meta name="robots" content="noarchive"/> <meta name="pubdate" content="Fri, 10 Nov 2023 15:57 GMT"/> <link rel="canonical" href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article"/> <meta name="blockthis" content="blockGA"/> <meta name="showwallpaper" content="true"/> <meta name="navcode" content="44"/> <meta name="primarynavigation" content="Airlines"/> <meta property="og:title" content="United Airlines’ customer chief on ‘day of travel’ power of the airline app"/> <meta property="og:type" content="Article"/> <meta property="og:url" content="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article"/> <meta property="og:site_name" content="Flight Global"/> <meta property="og:description" content="While United Airlines' customers are able to engage across a range of platforms and timeframes, for the carrier's chief customer officer Linda Jojo many of the advances with airline apps centre around their ability to support 'day of travel' functionality."/> <meta property="og:image:width" content="1024"/> <meta property="og:image:height" content="536"/> <meta property="og:image" content="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/1024x536/0/7/3/98073_unitedairlinesappfeatureiphone_641112.jpg"/> <meta property="og:image:alt" content="United Airlines App Feature - iPhone"/> <meta property="og:image" content="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/1024x536/9/2/3/97923_unitedairlineslindajojo_793813.jpg"/> <meta property="og:image:alt" content="United Airlines Linda Jojo"/> <meta property="twitter:card" content="summary_large_image"/> <meta property="twitter:title" content="United Airlines’ customer chief on ‘day of travel’ power of the ..."/> <meta property="twitter:description" content="While United Airlines' customers are able to engage across a range of platforms and timeframes, for the carrier's chief customer officer Linda Jojo many of the advances with airline apps centre around their ability to support 'day of travel' functionality."/> <meta property="twitter:image:src" content="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/1120xAny/0/7/3/98073_unitedairlinesappfeatureiphone_641112.jpg"/> <meta property="twitter:image:alt" content="United Airlines App Feature - iPhone"/> <link rel="icon" href="/web/20240118193950im_/https://www.flightglobal.com/magazine/dest/graphics/favicons/favicon-32x32.png"/> <!--[if IE]><link rel="shortcut icon" href="/magazine/dest/graphics/favicons/favicon.ico" /><![endif]--> <link rel="apple-touch-icon-precomposed" href="/web/20240118193950im_/https://www.flightglobal.com/magazine/dest/graphics/favicons/apple-touch-icon-precomposed.png"/> <meta name="msapplication-TileImage" content="/magazine/dest/graphics/favicons/mstile-144x144.png"/> <meta name="msapplication-TileColor" content="#ffffff"/> <link href="/web/20240118193950cs_/https://www.flightglobal.com/Magazine/core.css?p=7266763911858126" rel="stylesheet" type="text/css"> <link href="/web/20240118193950cs_/https://www.flightglobal.com/Magazine/print.css?p=7266763911858126" rel="stylesheet" type="text/css" media="print"> <script src="https://web.archive.org/web/20240118193950js_/https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script>var newLang={"more":{"default":"Show more","searchtype":"Show more","searchdates":"Show more"},"less":{"default":"Show fewer","searchtype":"Show fewer","searchdates":"Show fewer"},"show":{"default":"show"},"hide":{"default":"hide"},"caption":{"show":"show caption","hide":"hide caption"},"carousel":{"play":"play slideshow","pause":"pause slideshow"}};</script> <script type="text/javascript"> var IPState = { useripstate: false, useripname: '' }; </script> <script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.dataLayer.push({'StoryID':'155625'}); window.dataLayer.push({'StoryFormatProperty':'N'}); window.dataLayer.push({'StoryCategories':'|Strategy|United Airlines|North America|Airlines|'}); window.dataLayer.push({'StoryLayout':'Standard'}); window.dataLayer.push({'StoryWidth':'standard width'}); window.dataLayer.push({'StoryLayoutCode':'1'}); window.dataLayer.push({'StoryFormatCode':'1094'}); window.dataLayer.push({'StoryTypeCode':'1018'}); window.dataLayer.push({'StoryCategoriesCodes':'|12165|15790|163146|239105|'}); window.dataLayer.push({'StoryFullNavPath':'|1|44|'}); window.dataLayer.push({'UserID':undefined}); window.dataLayer.push({'NavCode':'44'}); window.dataLayer.push({'MicrositeNavCode':'-1'}); window.dataLayer.push({'NavKey':'44'}); window.dataLayer.push({'NavigationAreaNavCode':'44'}); </script> <script type="text/javascript"> window.dataLayer.push({'AccessQualificationTypeName':'Free access (anonymous users)'}); window.dataLayer.push({'AccessProductCode':'FGOR'}); window.dataLayer.push({'AccessProductName':'Flight Global Online Metered'}); window.dataLayer.push({'AccessCount':'1'}); </script> <script type="text/javascript"> //dataLayer array declaration window.dataLayer = window.dataLayer || []; window.dataLayer.push({'LoggedIn':'False'}); window.dataLayer.push({'AccessStatus':'Granted'}); window.dataLayer.push({'AccessDeniedStoryID':undefined}); window.dataLayer.push({'AccessDeniedTitle':undefined}); window.dataLayer.push({'Template':'Story'}); window.dataLayer.push({'Pubcode':'2'}); window.dataLayer.push({'PublicationName':'Flight Global'}); window.dataLayer.push({'Title':'United Airlines’ customer chief on ‘day of travel’ power of the airline app | Interview'}); window.dataLayer.push({'StoryAccessControl':'Private'}); window.dataLayer.push({'StoryFormat':'Article'}); window.dataLayer.push({'StoryType':'Interview'}); window.dataLayer.push({'Headline':'United Airlines’ customer chief on ‘day of travel’ power of the airline app'}); window.dataLayer.push({'LongHeadline':undefined}); window.dataLayer.push({'Intro':'While United Airlines customers are able to engage across a range of platforms and timeframes, for the carriers chief customer officer Linda Jojo many of the advances with airline apps centre around their ability to support ‘day of travel’ functionality.'}); window.dataLayer.push({'Catchline':undefined}); window.dataLayer.push({'Synopsis':undefined}); window.dataLayer.push({'Standfirst':undefined}); window.dataLayer.push({'Answer':undefined}); window.dataLayer.push({'Source':undefined}); window.dataLayer.push({'Refs':undefined}); window.dataLayer.push({'Class':undefined}); window.dataLayer.push({'Credits':undefined}); window.dataLayer.push({'Postscript':undefined}); window.dataLayer.push({'PrimaryNav':'|Main Navigation|Airlines|'}); window.dataLayer.push({'PrimaryNavCurrent':'Airlines'}); window.dataLayer.push({'PrimaryNavCode':'|1|44|'}); window.dataLayer.push({'PrimaryNavCodeCurrent':'44'}); window.dataLayer.push({'FullNavPath':'|1|44|'}); window.dataLayer.push({'CategoryCodes':'|12165|15790|163146|239105|'}); window.dataLayer.push({'Tags':undefined}); window.dataLayer.push({'Bylines':'|Graham Dunn|'}); window.dataLayer.push({'IssueDate':'01-01-2023'}); window.dataLayer.push({'IssueDateTime':'01-01-2023 00:00:00'}); window.dataLayer.push({'PublishDate':'10-11-2023'}); window.dataLayer.push({'PublishDateTime':'10-11-2023 15:57:00'}); window.dataLayer.push({'BrowseJobsURL':undefined}); window.dataLayer.push({'UserStateLoggedIn':'False'}); window.dataLayer.push({'FullNavPath':'|1|44|'}); </script> <link href="https://web.archive.org/web/20240118193950cs_/https://fonts.googleapis.com/css?family=Hind:400,600" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="https://web.archive.org/web/20240118193950cs_/https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.4.1/jquery.fancybox.min.css"/> <style> .ad-text{ background: #f0f2f2; font-size: 0.675rem; padding: 2px; color: #444; text-transform: uppercase; border-top: 4px solid #DCDCDC; } /*Fix CLS issues with wallpaper advertising*/ .masthead .mastheadSearch form button,.filteredSearch .facet-search button{text-indent:-10000px;} @media screen and (min-width: 1024px){ .rightcolumn {width: 300px !important;} } #wrapper_sleeve>.container .inner-sleeve { background-color: inherit !important; } .wallpaper-applied.site-width-1024 .ad-style1, .wallpaper-applied.site-width-1024 .container .inner-sleeve { max-width: 1220px !important; } .footer { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; } #storyAccess .access_denied_image { float: right; margin-left: 30px; margin-top: -45px; } </style> <!-- Temp fix:DVVMCS-638 START --> <style> @media screen and (max-width: 1023px){ #wrapper_sleeve.showMenuPushed{ transform: unset; transition: .2s; } .showMenu #wrapper_sleeve.showMenuPushed { transform: translateX(-280px); } } </style> <!-- Temp fix:DVVMCS-638 END --> <!-- Temp patch: DVVM-224 END --> <!--<style>@media screen and (min-width: 1024px) {.storyLayout.video~.videoTop { padding-top: 50px; margin-top: 10px !important;} } .ad-style1 { background-color: #fff; border-bottom: 0px solid #fff; } </style>--> <!-- Temp patch: DVVM-224 START --> <!-- <style> .desktopNavigation .dropdown.open, .desktopNavigation .menu.preJS>li:hover .dropdown {z-index: 999999 !important;} @media screen and (min-width: 1024px){ .masthead {margin-top: -26px !important;} .masthead .mast{padding: 40px 0 6px !important;}} .masthead+.ad {margin-bottom: 1.3% !important; margin-top: 20px !important;} @media screen and (min-width: 1024px){ #colwrapper { position: relative; max-width: 1024px; margin: 0 auto; }} </style> --> <!-- AC TEST START --> <!--<style>.storyLayout.standard~.headerWrapper{max-width: 1024px !important; margin: 0 auto !important;} #wrapper_sleeve>.container .inner-sleeve {Max-width: 1024px !important;} .contentWrapper {border-right: 0px !important;}</style>--> <!--<style> .vdContainerBlock {position: sticky !important;} #vdContainerBlock {position: sticky !important;} </style>--> <!--<style> @media screen and (min-width: 1280px){ .spin2scroller {width: 108%; margin-left: -3.5%; }} </style>--> <!-- CSS fixes for FGP launch start --> <style> #wrapper #access_promo.dynamic-content-wrapper .content .col-1 { margin-bottom: 0px; padding-bottom: 0px; } #wrapper #access_promo.dynamic-content-wrapper .content .col-1 img.mobile { display:none; min-width: 290px; } #wrapper #access_promo.dynamic-content-wrapper .content .col-1 p { margin: 15px 0px; } #wrapper #access_promo.dynamic-content-wrapper .content .col-1 ul li { line-height: 1.6rem; margin-bottom: 10px; } #wrapper #access_promo.dynamic-content-wrapper .content .col-2 { margin-bottom: 0px; padding-bottom: 0px; } #wrapper #access_promo.dynamic-content-wrapper .content .col-1 a.button { margin-top: 20px; display: inline-block; } @media only screen and (max-width: 768px) { #access_promo.dynamic-content-wrapper .col-2 { display: none; } #wrapper #access_promo.dynamic-content-wrapper .content .col-1 img.mobile { display:block; min-width: 280px; } #wrapper #access_promo.dynamic-content-wrapper .content .col-1 img.desktop { display:none; } } #cookiePolicy div p {text-align: left;} </style> <!-- CSS fixes for FGP launch end --> <!-- adding premium icons --> <style> .premium .masthead .mastheadLogo .logoIcon { background-image: url(https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/pictures/web/o/m/h/flightglobal_logo_desktop_premium_125170.svgz); width: 587px; height: 77px; background-position: initial; } .premium .masthead .mastheadMobileLogo .logoIcon{ background-image: url(https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/pictures/web/o/m/h/flightglobal_logo_mobile_premium_18824.svgz); width: 90px; height: 38px; background-position: initial; } .premium .masthead .mastNav>ul li.user>a:after { background-image: url(https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/pictures/web/l/f/j/premiumuseroff_66553.svgz); width: 39px; height: 34px; background-position: initial; } .premium .masthead .mastNav>ul li.user>a:hover::after, .premium .masthead .mastNav>ul li.user>a:focus::after { background-image: url(https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/pictures/web/l/f/j/premiumuseron_418773.svgz); width: 39px; height: 34px; background-position: initial; } .premium .masthead .mastNav > ul.user.hasSavedArticles > a:after { background-image: url(https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/pictures/web/l/f/j/premiumuserbookmarkoff_104721.svgz); width: 39px; height: 34px; background-position: initial; } .premium .masthead .mastNav > ul.user.hasSavedArticles:hover > a:after, .premium .masthead .mastNav > ul.user.hasSavedArticles > a:focus:after { background-image: url(https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/pictures/web/l/f/j/premiumuserbookmarkon_77440.svgz); width: 39px; height: 34px; background-position: initial; } .premium .masthead .mastNav .toggleIcon a { background-image: url(https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/pictures/web/l/f/j/premiummobileaccount_337723.svgz); width: 39px; height: 34px; background-position: initial; } @media screen and (min-width: 1024px){ .premium .masthead .mastNav>ul li.user>a { margin-right: 10px; } .premium .masthead .mastNav>ul li.user>a:before { right: 50px; } } </style> <!-- adding premium icons end --> <style> .adwrap_leader { height:250px; } @media screen and (min-width: 980px){ .adwrap_leader { height:250px; }} @media screen and (max-width: 980px) and (min-width: 750px) { .adwrap_leader { height: initial; min-height: 90px; }} @media screen and (max-width: 750px){ .adwrap_leader { height: initial; min-height: 100px; }} .adwrap_MPU {height: initial !important; min-height:250px; margin-bottom: 40px;} @media screen and (max-width: 750px){ .adwrap_MPU { height: initial !important; min-height:250px; margin-bottom: 40px;}} .footer .webvision {display: none;} </style> <style>.storyLayout.picture~.headerWrapper .inlineFull {margin-top: 0px;} .storyLayout.gallery~.headerWrapper .removeGapToMast, .storyLayout.picture~.headerWrapper .removeGapToMast {margin-top: 0px;} </style> <style> @media screen and (min-width: 1280px) .eme-htmlslideup .eme-footer .eme-image { display: block !important; position: absolute; right: 20px !important; width: 80px !important; bottom: 80px !important; height: 80px !important; opacity: 1; background: #F58C21; border-radius: 50%; padding: 16px !important; box-shadow: rgb(0 0 0 / 35%) 0px 5px 15px; } @media screen and (min-width: 1024px) .eme-htmlslideup .eme-footer .eme-image { display: block !important; position: absolute; right: 20px !important; width: 80px !important; bottom: 80px !important; height: 80px !important; opacity: 1; background: #F58C21; border-radius: 50%; padding: 16px !important; box-shadow: rgb(0 0 0 / 35%) 0px 5px 15px; } @media screen and (min-width: 768px) .eme-htmlslideup .eme-footer .eme-image { display: inline !important; position: absolute; right: 20px !important; width: 70px !important; bottom: 85px; height: 70px !important; opacity: 1; background: #F58C21; border-radius: 50%; padding: 13px !important; box-shadow: rgb(0 0 0 / 35%) 0px 5px 15px; } .eme-completed .eme-htmlslideup { max-width: 1024px; margin: auto; } .eme-htmlslideup .eme-main > .eme-headline { margin-bottom: 18px !important; } .eme-htmlslideup .eme-main { min-height: auto !important; padding: 10px 0 0 0; } @media screen and (min-width: 1024px) { .eme-htmlslideup .eme-button-container { order: 3; background-color: #002a63; margin-left: 0vw !important; margin-right: 0vw !important; padding-bottom: 10px; max-width: 1024px; } .eme-htmlslideup .eme-button-container .eme-button { margin-top: 10px; } } @media screen and (max-width: 767px){ .eme-htmlslideup .eme-main { padding: 10px 0px 0px; } } /* @media screen and (min-width: 1280px){ .eme-htmlslideup .eme-footer .eme-image { display: none !important; } } */ @media screen and (max-width: 767px) and (min-width: 481px) { .eme-htmlslideup .eme-content .eme-text { color: #DCDCDC; font-size: 1rem !important; line-height: 1.25rem !important; font-weight: normal; margin-bottom: 10px !important; height: auto; opacity: 1; margin-top: -30px !important; } .eme-htmlslideup .eme-main > .eme-headline { margin-bottom: 5px !important; } .eme-htmlslideup .eme-headline { color: #fff; font-size: 1.5rem !important; line-height: 1.8rem !important; font-weight: 400 !important; margin-bottom: 8px !important; height: auto; opacity: 1; order: 2; } } @media screen and (max-width: 480px){ .eme-htmlslideup .eme-content .eme-text { color: #DCDCDC; font-size: 0.85rem !important; line-height: 1.25rem !important; font-weight: normal; margin-bottom: 10px !important; height: auto; opacity: 1; }} .eme-htmlslideup .eme-main > .eme-headline { margin-bottom: 5px !important; } @media screen and (max-width: 480px){ .eme-htmlslideup .eme-headline { color: #fff; font-size: 1.25rem !important; line-height: 1.5rem !important; font-weight: 400 !important; margin-bottom: 8px !important; }} @media screen and (max-width: 480px){ .eme-htmlslideup .eme-main { background-color: #144696; padding: 20px 9px 0px !important; }} @media screen and (max-width: 480px){ .eme-htmlslideup .eme-button-container .eme-link { color: #fff; font-size: 0.85rem !important; line-height: 1.5rem !important; }} @media screen and (max-width: 480px){ .eme-htmlslideup .eme-button-container .eme-button { color: #fff; display: inline-block; background-color: #F58C21; border-radius: 6px; padding: 4px 8px 2px !important; font-weight: bold; text-transform: uppercase; text-decoration: none; text-align: center; transition: background-color .2s,color .2s; margin-top: 10px !important; margin-left: -20px; min-width: 134px; margin-bottom: -10px !important; } } header#masthead+.ad { display: flex !important; flex-wrap: wrap !important; align-content: center !important; justify-content: center !important; } </style> <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window,document,'script', 'https://web.archive.org/web/20240118193950/https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '526026152009400'); fbq('track', 'PageView'); </script> <noscript> <img height="1" width="1" src="https://web.archive.org/web/20240118193950im_/https://www.facebook.com/tr?id=526026152009400&ev=PageView&noscript=1"/> </noscript> <!-- End Facebook Pixel Code --> <!-- Don't remove this script used on story promo --> <script> function getDataLayerVal(keyVal) { for (var i = 0, iL = window.dataLayer.length; i < iL; i++) { if (dataLayer[i][keyVal] !== undefined) { return dataLayer[i][keyVal]; } } } function getFullNavPath(path) { if(getDataLayerVal(path) !== undefined) { getDataLayerVal(path).split('|').join(' ').trim(); } } // Function to extract values from <meta> elements function getMetaContentByName(name,content){ var content = (content==null)?'content':content; return document.querySelector("meta[name='"+name+"']").getAttribute(content); } </script> <script src="https://web.archive.org/web/20240118193950js_/https://unpkg.com/@ungap/url-search-params@0.2.2/min.js"></script> <!-- Begin of setting Premium user --> <script> $(document).ready(function() { var notSignedIn = getDataLayerVal('prodid') == undefined ? true : false ; if(!notSignedIn){ var splitthis = getDataLayerVal('prodid').split('|'); var premium = splitthis.filter(function(number) { return number == '24'; }); if(premium.length != 0){ document.querySelector('body').classList.add("premium"); } else{ if(document.querySelector('body').classList.contains("premium")){ document.querySelector('body').classList.remove("premium"); } } } }) </script> <!-- End of setting Premium user --> <!-- Begin comScore Tag --> <script> function readCookie(cName) { var i, x, y, arRcookies = document.cookie.split(";"); for (i = 0; i < arRcookies.length; i++) { x = arRcookies[i].substr(0, arRcookies[i].indexOf("=")); y = arRcookies[i].substr(arRcookies[i].indexOf("=") + 1); x = x.replace(/^\s+|\s+$/g, ""); if (x == cName) { return unescape(y); } } } var coms_ucfr = readCookie('rbi_cookies_accepted') == null ? 0 : 1; var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "32394014", cs_ucfr: coms_ucfr }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = (document.location.protocol == "https:" ? "https://web.archive.org/web/20240118193950/https://sb" : "http://b") + ".scorecardresearch.com/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="https://web.archive.org/web/20240118193950im_/https://sb.scorecardresearch.com/p?c1=2&c2=32394014&cs_ucfr&cv=2.0&cj=1"> </noscript> <!-- End comScore Tag --> <!-- Google Ad Manager --> <script async="async" src="https://web.archive.org/web/20240118193950js_/https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> var urlParams = new URLSearchParams(window.location.search); var pathname = window.location.pathname; var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; var showwallpaper; if(document.querySelector('meta[name="showwallpaper"]')) { showwallpaper = document.querySelector('meta[name="showwallpaper"]').content; } googletag.cmd.push(function() { var screenwidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var mapping1 = googletag.sizeMapping() .addSize([980, 0], [[970, 250], [970, 90]]) .addSize([750, 0], [[728, 90]]) .addSize([0, 0], [[320, 100], [320, 50]]) .build(); var mapping2 = googletag.sizeMapping() .addSize([980, 0], [[300, 600], [300, 250]]) .addSize([750, 0], [[300, 600], [300, 250]]) .addSize([0, 0], [[300, 250]]) .build(); var mapping3 = googletag.sizeMapping() .addSize([980, 0], [[300, 600], [300, 250]]) .addSize([750, 0], [[300, 600], [300, 250]]) .addSize([0, 0], [[300, 250]]) .build(); var mapWallpaper = googletag.sizeMapping() .addSize([0, 0], []) // 1220, 0 .addSize([1220, 0], [1, 1]) .build(); googletag.defineSlot('/13644946/FlightGlobal/topbanner', [[970,250]], 'div-gpt-ad-8826768-Topbanner-ad-1') .defineSizeMapping(mapping1) .addService(googletag.pubads()); googletag.defineSlot('/13644946/FlightGlobal/sidebar1', [[300,250]], 'div-gpt-ad-1707670-sidebar1-1') .defineSizeMapping(mapping2) .addService(googletag.pubads()); googletag.defineSlot('/13644946/FlightGlobal/sidebar2', [[300,250]], 'div-gpt-ad-1615375849628-0') .defineSizeMapping(mapping3) .addService(googletag.pubads()); googletag.defineSlot('/13644946/FlightGlobal/sidebar3', [[300,250]], 'div-gpt-ad-1669201998136-0') .defineSizeMapping(mapping3) .addService(googletag.pubads()); googletag.defineSlot('/13644946/FlightGlobal/Navigation_bar_MPU', [[300,250]], 'div-gpt-ad-9331961-1') .addService(googletag.pubads()); googletag.defineSlot('/13644946/FlightGlobal/ConferencesandEvents_MPU', [[300,250]], 'div-gpt-ad-7383182-1') .addService(googletag.pubads()); googletag.defineOutOfPageSlot('/13644946/FlightGlobal/outofpage', 'div-gpt-ad-249527336346462137-0-video-oop').addService(googletag.pubads()).setTargeting('pos', 'oop'); googletag.defineOutOfPageSlot('/13644946/FlightGlobal/outofpage', 'div-gpt-ad-249527336346462137-0-curtain-raiser-oop1').addService(googletag.pubads()).setTargeting('pos', 'oop1'); googletag.defineOutOfPageSlot('/13644946/FlightGlobal/outofpage', 'div-gpt-ad-249527336346462137-0-stayon-oop2').addService(googletag.pubads()).setTargeting('pos', 'oop2'); //mobile sticky (Mobile articles only) googletag.defineOutOfPageSlot('/13644946/FlightGlobal', 'div-gpt-ad-249527336346462137-0-interstitials-oop3').addService(googletag.pubads()).setTargeting('pos', 'oop3'); // Pass the dataLayer value element to DFP (to be used as a `key-value`) googletag.pubads().setTargeting("navcode",getMetaContentByName("navcode")); googletag.pubads().setTargeting("articleid",getDataLayerVal('StoryID')); googletag.pubads().setTargeting("jobrole",getDataLayerVal('jobr')); googletag.pubads().setTargeting("joblev",getDataLayerVal('jobl')); googletag.pubads().setTargeting("orgtype",getDataLayerVal('orgtype')); googletag.pubads().setTargeting("mainorgtype",getDataLayerVal('mainorgtype')); googletag.pubads().setTargeting("sec0",getDataLayerVal('PrimaryNavCurrent')); googletag.pubads().setTargeting("type",getDataLayerVal('Template')); googletag.pubads().setTargeting("LoggedInStatus",getDataLayerVal('LoggedIn')); googletag.pubads().setTargeting("AccessStatus",getDataLayerVal('AccessStatus')); googletag.pubads().setTargeting("prodid",getDataLayerVal('prodid')); googletag.pubads().setTargeting("usertype",getDataLayerVal('usertype')); googletag.pubads().setTargeting("ArticleName",getDataLayerVal('Headline')); //https://dvvfg.webvisioncloud.com/CMS/PageTextAddEdit.aspx?label=PageText&id=530&TB_iframe=true&width=800# googletag.pubads().setTargeting("Standfirst",getDataLayerVal('Standfirst')); googletag.pubads().setTargeting("StoryCategories",getDataLayerVal('StoryCategories')); googletag.pubads().setTargeting("fullnavpath", getFullNavPath('FullNavPath')); googletag.pubads().setTargeting("SearchKeyword", urlParams.get('qkeyword')); googletag.pubads().setTargeting("url",window.location.pathname); googletag.pubads().setTargeting('slug', document.location.pathname.substr(document.location.pathname.lastIndexOf('/'))); // wallpaper // check if wallpaper is defined, is set to be shown on this page and screen width is greater than 1220 if (document.querySelector('#div-gpt-ad-1581079248444-0') && showwallpaper && (window.innerWidth > 1220) && !dataLayer.some(function(el){return el&&'MicrositeNavCode' in el&&el.MicrositeNavCode=='200';})) { var wallpaperSlot = googletag.defineOutOfPageSlot('/13644946/FlightGlobal/Wallpaper', 'div-gpt-ad-1581079248444-0').defineSizeMapping(mapWallpaper).addService(googletag.pubads()).setTargeting('url', document.location.pathname); googletag.pubads().addEventListener('slotRenderEnded', function(event) { //if((event.slot.getSlotElementId() == wallpaperSlot.getSlotElementId()) && !event.isEmpty) { if((event.slot.getSlotElementId() == wallpaperSlot.getSlotElementId()) && !event.isEmpty) { if(document.querySelector('.wallpaper-ad[data-site-width-1024]')) { document.body.classList.add('site-width-1024'); } if(showwallpaper === "true") { document.body.classList.add('wallpaper-applied'); $(window).trigger('wallpaper:advert'); } } }); }; googletag.pubads().enableLazyLoad({ fetchMarginPercent: 5, // Fetch slots within 5 viewports. renderMarginPercent: 5, // Render slots within 2 viewports. mobileScaling: 0 // Double the above values on mobile. }); //googletag.pubads().enableAsyncRendering(); //googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); window.addEventListener('message', receiveMessage, false); function receiveMessage(event) { if(event.data == 'wallpaper-fireplace' || event.data == 'wallpaper-standard') { //if(event.data == 'wallpaper-standard') { document.body.classList.add(event.data); positionWallpaperFromTop(); wallpaperElement = document.querySelector('.wallpaper-ad').getElementsByTagName('div')[0]; wallpaperElement.style.top = document.querySelector('#masthead').getBoundingClientRect().bottom + 'px'; } } function positionWallpaperFromTop() { if(!window.IntersectionObserver) return; var observer = new IntersectionObserver(function(entries) { if (entries[0].isIntersecting) { var wallpaperElement = document.querySelector('.wallpaper-ad').getElementsByTagName('div')[0]; wallpaperElement.style.top = (document.querySelector('#masthead').getBoundingClientRect().bottom + window.scrollY) + 'px' } else { document.querySelector('#wrapper_sleeve').style.top = '0'; } }); observer.observe(document.querySelector('#masthead')); } /* window.addEventListener('message', receiveMessage, false); function receiveMessage(event) { if(event.data == 'wallpaper-standard') { document.body.className+=" wallpaper-standard"; wallpaperElement = document.querySelector('.wallpaper-ad').getElementsByTagName('div')[0]; wallpaperElement.style.top = document.querySelector('#masthead').getBoundingClientRect().top + 'px'; } } */ /* window.addEventListener('message', receiveMessage, false); function receiveMessage(event) { if(event.data == 'wallpaper-fireplace') document.body.className+=" wallpaper-fireplace"; if(document.body.className.match('wallpaper-fireplace')) { var mastHeight = document.querySelector('#masthead').offsetHeight, wallpaperElement = document.querySelector('.wallpaper-ad').getElementsByTagName('div')[0]; wallpaperElement.style.top = mastHeight + 'px'; } } */ </script> <!-- END Google Ad Manager --> <meta name="showwallpaper" content="true"> <meta name="google-site-verification" content="5c4xBgNLIRH38KmfNP1CK-Gkf8SpaKde3E7uEyiLV8U"/> <meta name="google-site-verification" content="bYUbjg-HKHXAQceTdE3EgN7dEtDGj-0UhYmY-LhfzdM"/> <meta name="robots" content="max-snippet:-1, max-image-preview:large, max-video-preview:-1"/> <script data-ad-client="ca-pub-7045852503918369" async src="https://web.archive.org/web/20240118193950js_/https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!---OKO Interstitial START-- <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> window.googletag = window.googletag || {cmd: []}; // GPT ad slots var interstitialSlot, staticSlot; googletag.cmd.push(function() { // Define a web interstitial ad slot. interstitialSlot = googletag.defineOutOfPageSlot( '/13644946/dvv_interstitials', googletag.enums.OutOfPageFormat.INTERSTITIAL); // Slot returns null if the page or device does not support interstitials. if (interstitialSlot) { interstitialSlot.addService(googletag.pubads()); console.log("Interstitial is loading..."); // Add event listener to enable navigation once the interstitial loads. // If this event doesn't fire, try clearing local storage and refreshing // the page. googletag.pubads().addEventListener('slotOnload', function(event) { if (interstitialSlot === event.slot) { document.getElementById('link').style.display = 'block'; } }); } // Define static ad slots. staticSlot = googletag.defineSlot( '/13644946/dvv_interstitials', 'static-ad-1') .addService(googletag.pubads()); // Enable SRA and services. googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> <style> #link { display: none; } div.content { position: fixed; top: 50%; } </style> <!--OKO Interstitial END--> <meta name="google-site-verification" content="ZO7jU7lHQGje6GaWB7_FG6S7nT47tc9ecF_zrjdIwzI"/> <script> var EnhancedAdvertisingConfig = {}; </script> <!--Global Enhanced Adverts JSON definition from PAGETEXT--> <script> EnhancedAdvertisingConfig = { "Refresh":false, "RefreshDelaySecondsDefaultDesktop":30, "RefreshDelaySecondsDefaultMobile":30, "StoryDynamicSlotsAddGroupsAll":"Ads,Widgets", "StoryDynamicSlotsAddGroupsInline":"", "StoryDynamicSlotsAddGroupsRHC":"", "StoryDynamicSlotsRemoveGroupsAll":"", "StoryDynamicSlotsRemoveGroupsInline":"", "StoryDynamicSlotsRemoveGroupsRHC":"", "StoryDynamicSlotsRepeat":true, "StoryDynamicSlotsDesktopMaxInlineSlots":6, "StoryDynamicSlotsMobileMaxInlineSlots":6, "StoryDynamicSlotsDesktopMaxRHCSlots":4, "StoryDynamicSlotsDesktopElementSpacingFirst":4, "StoryDynamicSlotsMobileElementSpacingFirst":3, "StoryDynamicSlotsDesktopElementSpacing":4, "StoryDynamicSlotsMobileElementSpacing":3, "GAMAdUnitSizesInlineMobileDefault":[[300,250]], "GAMAdUnitSizesInlineDesktopDefault":[[300,250]], "GAMAdUnitSizesRHCDefault":[[300,250],[300,600]], "RHCMinHeightForSlotInsert":250, "RHCAdContainerDefaultHeight":250, "RHCMinHeightForStickyAd":300, "RHCStickyAdThresholdHeight":300, "RHCAdSmallContainerDefaultHeight":300, "CollapseEmptyDivs":true, "Slots":[ { "Type":"GAMAdvert", "Position":"PreferRight", "Group":"Ads", "AdUnit":"/13644946/FlightGlobal/sidebar1", "RefreshDelaySeconds":30, "Sticky":false, "Repeat":false, "Refresh":false, "InsertIfNoRHCSpace":true, "NoBackfill":true, "AdUnitSizesInline":[[300,250]], //not required after hotfix "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,600],[300,250]], "AdUnitSizesRHC":[[300,600],[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, { "Type":"CustomContent", "Position":"Right", "Sticky":false, "Group":"Widgets", "Repeat":false, "InsertIfNoRHCSpace":true, "HTML":"<div class=\"tab-widget-5\" data-ajax-load-content=\"\" data-cache-bust=\"true\" data-url=\"/ajax/most\"></div>", "CustomEventName":"MostPopularWidgetInit", "Javascript":function(elem,container,slotconfig,adcounter,counter,repeat){ $(window).trigger("abacus:readjusrhcheight",[event, elem]); }, "CSSClass":"wvc-custom-widget-mostpopular", "MinHeight":600 }, { "Type":"GAMAdvert", "Position":"Right", "Group":"Ads", "AdUnit":"/13644946/FlightGlobal/sidebar2", "RefreshDelaySeconds":30, "Sticky":true, "Repeat":false, "Refresh":true, "NoBackfill":true, "InsertIfNoRHCSpace":true, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "AdUnitSizesRHC":[[300,600],[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, //repeating slots - 1 and 2 { "Type":"GAMAdvert", "Position":"Right", "Group":"Ads", "AdUnit":"/13644946/FlightGlobal/sidebar1", "RefreshDelaySeconds":30, "Sticky":true, "Repeat":true, "Refresh":true, "NoBackfill":true, "InsertIfNoRHCSpace":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "AdUnitSizesRHC":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, { "Type":"GAMAdvert", "Position":"Right", "Group":"Ads", "AdUnit":"/13644946/FlightGlobal/sidebar2", "RefreshDelaySeconds":30, "Sticky":true, "Repeat":true, "Refresh":true, "NoBackfill":true, "InsertIfNoRHCSpace":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "AdUnitSizesRHC":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":250 }, //inline repaeting slots { "Type":"GAMAdvert", "Position":"Inline", "Group":"Ads", "AdUnit":"/13644946/FlightGlobal/sidebar1", "RefreshDelaySeconds":30, "Repeat":true, "Refresh":true, "NoBackfill":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":269 }, { "Type":"GAMAdvert", "Position":"Inline", "Group":"Ads", "AdUnit":"/13644946/FlightGlobal/sidebar2", "RefreshDelaySeconds":30, "Repeat":true, "Refresh":true, "NoBackfill":false, "AdUnitSizesInlineDesktop":[[300,250]], "AdUnitSizesInlineMobile":[[300,250]], "ExtraHTML":"<div class=\"ad-text\">Advert</div>", "MinHeight":269 } ], "Overrides":[ { //If Type='Paid content' (1015) OR Type='Whitepapers' (1019) "Conditions":"StoryType-1015,StoryType-1019", "Operator":"Or", "Settings":{ "RemoveGroupsInline":"Ads" } }, { //If Category="Slots (all) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsAll":"Ads,Widgets" } }, { //If Category="Slots (RHC) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsRHC":"Ads,Widgets" } }, { //If Category="Slots (inline) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsInline":"Ads,Widgets" } }, { //If Category="Advert slots (all) - Off" OR Category="Safety" (12161) "Conditions":"StoryCategoriesCodes-239148,StoryCategoriesCodes-12161", "Settings":{ "RemoveGroupsAll":"Ads" } }, { //If Category="Advert slots (RHC) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsRHC":"Ads" } }, { //If Category="Advert slots (inline) - Off" "Conditions":"StoryCategoriesCodes-99999999", "Settings":{ "RemoveGroupsInline":"Ads", } } ] };</script> <script> $(window).trigger("wvcfe:globalenhancedadvertsinit", [event, EnhancedAdvertisingConfig]); (function(w, d) { if(window.NodeList && !NodeList.prototype.forEach) { NodeList.prototype.forEach = Array.prototype.forEach; } d.addEventListener('DOMContentLoaded', function(event) { if(EnhancedAdvertisingConfig.Slots) { var enhAdDebug = false; if( localStorage.getItem('enh-ads-debug') == 'true' ) enhAdDebug = true; var sp = 'story-inlinecontent-placeholder'; var supportedTypes = ['gamadvert', 'customcontent']; var supportedPositions = ['inline', 'preferright', 'right']; var isDesktopResolution = w.matchMedia("screen and (min-width: 1023px)").matches; var isStoryFullLayout = d.body.classList.contains('story-full-layout'); var inlineCounter = 1; var rhcCounter = 1; var inlineAdCounter = 1; var rhcAdCounter = 1; var ticking = false; $('#story.enhanced-advertising .storytext > div.webonly').each( function(){ var t = $(this); t.replaceWith( t.html() ); }); var storyCustomContentPlaceholders = d.querySelectorAll('#story.enhanced-advertising .storytext > *'); var maxRHCSlotsToFitIn = 0; var matches = function(el, selector) { return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector); }; var getClosestParent = function(elem, selector) { for(; elem && elem !== d; elem = elem.parentNode) { if(matches(elem, selector)) { return elem; } } return null; }; var storyType = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryTypeCode && el.StoryTypeCode != 'null'; }).map(function(el) { return 'StoryType-' + el.StoryTypeCode; }).join('') : ''; var storyFormat = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryFormatCode && el.StoryFormatCode != 'null'; }).map(function(el) { return 'StoryFormat-' + el.StoryFormatCode; }).join('') : ''; var storyLayout = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryLayoutCode && el.StoryLayoutCode != 'null'; }).map(function(el) { return 'StoryLayout-' + el.StoryLayoutCode; }).join('') : ''; //PWVD-780 var storyWidth = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryWidth && el.StoryWidth != 'null'; }).map(function(el) { return 'StoryWidth-' + el.StoryWidth; }).join('') : ''; var storyFullNavPath = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryFullNavPath && el.StoryFullNavPath != 'null'; }).map(function(el) { return el.StoryFullNavPath; }).join('').split('|').filter(function(el) { return el && el != 'null'; }).join('-') : ''; var storyCategoriesCodes = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryCategoriesCodes && el.StoryCategoriesCodes != 'null'; }).map(function(el) { return el.StoryCategoriesCodes; }).join('').split('|').filter(function(el) { return el && el != 'null'; }).map(function(el) { return 'StoryCategoriesCodes-' + el; }) : []; var storyID = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryID && el.StoryID != 'null'; }).map(function(el) { return 'StoryID-' + el.StoryID; }).filter(function(el) { return el && el != 'null' && el != 'StoryID-'; }).join('') : ''; storyFullNavPath = (storyFullNavPath ? 'StoryFullNavPath-' + storyFullNavPath : ''); var allDataLayerFilters = storyCategoriesCodes.concat([storyType, storyFormat, storyLayout, storyWidth, storyFullNavPath, storyID]).map(function(m) { return m.toLowerCase(); }); EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert = (EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert || 800); EnhancedAdvertisingConfig.RHCMinHeightForStickyAd = (EnhancedAdvertisingConfig.RHCMinHeightForStickyAd || 250); if('Overrides' in EnhancedAdvertisingConfig) { if(EnhancedAdvertisingConfig.Overrides) { var overrides = EnhancedAdvertisingConfig.Overrides; var andOperator = function() { return (override.Conditions.toLowerCase().split(',').filter(function(el) { return el && el; }).every(function(el) { return allDataLayerFilters.indexOf(el) != -1; })); }; var orOperator = function(el) { return (override.Conditions.toLowerCase().split(',').filter(function(el) { return el && el; }).some(function(el) { return allDataLayerFilters.indexOf(el) != -1; })); }; for(var i = 0, iL = overrides.length; i < iL; i++) { var override = overrides[i]; var operatorFilter; if(override.Operator && override.Operator.toLowerCase() == 'and') { operatorFilter = andOperator; } else { operatorFilter = orOperator; } if(operatorFilter()) { if('Settings' in override) { if(override.Settings) { var settings = override.Settings; if('AddGroupsAll' in settings && settings.AddGroupsAll && isString(settings.AddGroupsAll)) { if(settings.AddGroupsAll.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll += ',' + settings.AddGroupsAll.toLowerCase(); } } if('AddGroupsInline' in settings && settings.AddGroupsInline && isString(settings.AddGroupsInline)) { if(settings.AddGroupsInline.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline += ',' + settings.AddGroupsInline.toLowerCase(); } } if('AddGroupsRHC' in settings && settings.AddGroupsRHC && isString(settings.AddGroupsRHC)) { if(settings.AddGroupsRHC.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC += ',' + settings.AddGroupsRHC.toLowerCase(); } } if('RemoveGroupsAll' in settings && settings.RemoveGroupsAll && isString(settings.RemoveGroupsAll)) { if(settings.RemoveGroupsAll.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll += ',' + settings.RemoveGroupsAll.toLowerCase(); } } if('RemoveGroupsInline' in settings && settings.RemoveGroupsInline && isString(settings.RemoveGroupsInline)) { if(settings.RemoveGroupsInline.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline += ',' + settings.RemoveGroupsInline.toLowerCase(); } } if('RemoveGroupsRHC' in settings && settings.RemoveGroupsRHC && isString(settings.RemoveGroupsRHC)) { if(settings.RemoveGroupsRHC.toLowerCase().toLowerCase().indexOf('[all]') != -1) { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC = '[all]'; } else { EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC += ',' + settings.RemoveGroupsRHC.toLowerCase(); } } if('Repeat' in settings && isBoolean(settings.Repeat)) { EnhancedAdvertisingConfig.StoryDynamicSlotsRepeat = settings.Repeat; } if('DesktopMaxInlineSlots' in settings && isNumberPositiveOrZero(settings.DesktopMaxInlineSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxInlineSlots = settings.DesktopMaxInlineSlots; } if('MobileMaxInlineSlots' in settings && isNumberPositiveOrZero(settings.MobileMaxInlineSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxInlineSlots = settings.MobileMaxInlineSlots; } if('DesktopMinRHCSlots' in settings && isNumberPositiveOrZero(settings.DesktopMinRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMinRHCSlots = settings.DesktopMinRHCSlots; } if('MobileMinRHCSlots' in settings && isNumberPositiveOrZero(settings.MobileMinRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMinRHCSlots = settings.MobileMinRHCSlots; } if('DesktopMaxRHCSlots' in settings && isNumberPositiveOrZero(settings.DesktopMaxRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxRHCSlots = settings.DesktopMaxRHCSlots; } if('MobileMaxRHCSlots' in settings && isNumberPositiveOrZero(settings.MobileMaxRHCSlots)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxRHCSlots = settings.MobileMaxRHCSlots; } if('DesktopElementSpacingFirst' in settings && settings.DesktopElementSpacingFirst && isNumberPositive(settings.DesktopElementSpacingFirst)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacingFirst = settings.DesktopElementSpacingFirst; } if('MobileElementSpacingFirst' in settings && settings.MobileElementSpacingFirst && isNumberPositive(settings.MobileElementSpacingFirst)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacingFirst = settings.MobileElementSpacingFirst; } if('DesktopElementSpacing' in settings && settings.DesktopElementSpacing && isNumberPositive(settings.DesktopElementSpacing)) { EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacing = settings.DesktopElementSpacing; } if('MobileElementSpacing' in settings && settings.MobileElementSpacing && isNumberPositive(settings.MobileElementSpacing)) { EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacing = settings.MobileElementSpacing; } if('RHCMinHeightForSlotInsert' in settings && settings.RHCMinHeightForSlotInsert && isNumberPositive(settings.RHCMinHeightForSlotInsert)) { EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert = settings.RHCMinHeightForSlotInsert; } if('RHCMinHeightForStickyAd' in settings && settings.RHCMinHeightForStickyAd && isNumberPositive(settings.RHCMinHeightForStickyAd)) { EnhancedAdvertisingConfig.RHCMinHeightForStickyAd = settings.RHCMinHeightForStickyAd; } if('CollapseEmptyDivs' in settings && isBoolean(settings.CollapseEmptyDivs)) { EnhancedAdvertisingConfig.CollapseEmptyDivs = settings.CollapseEmptyDivs; } } } } } } } var paragraphThreshold = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacing : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacing; var paragraphFirstThreshold = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacingFirst : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacingFirst; var maxInlineSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxInlineSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxInlineSlots; var minRHCSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMinRHCSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMinRHCSlots; var maxRHCSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxRHCSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxRHCSlots; var allAddGroups = (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll : "").split(',').filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allAddInlineGroups = [].concat(allAddGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allAddRHCGroups = [].concat(allAddGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allRemoveGroups = (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll : "").split(',').filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allRemoveInlineGroups = [].concat(allRemoveGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); var allRemoveRHCGroups = [].concat(allRemoveGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; }); EnhancedAdvertisingConfig.Slots = EnhancedAdvertisingConfig.Slots.map(function(x, i) { x.Used = false; x.Index = i; if('Type' in x) { if(supportedTypes.indexOf(x.Type.toString().toLowerCase()) != -1) { x.Type = x.Type.toString().toLowerCase(); } else { x.Type = 'customcontent'; } } else { x.Type = 'customcontent'; } if('Position' in x) { if(supportedPositions.indexOf(x.Position.toString().toLowerCase()) != -1) { x.Position = x.Position.toString().toLowerCase(); } else { x.Position = 'inline'; } } else { x.Position = 'inline'; } if('CSSClass' in x) { x.CSSClass = x.CSSClass.toString().split(' ').join(',').split(',').filter(function(e) { return e && e; }).join(' '); } else { x.CSSClass = ''; } if('Group' in x) { x.Group = x.Group.toString().split(' ').join(',').split(',').filter(function(e) { return e && e; }).join(','); } else { x.Group = ''; } if('Sticky' in x) { if(x.Sticky.toString().toLowerCase() == 'true') { x.Sticky = true; } else { x.Sticky = false; } } else { x.Sticky = false; } if('InsertIfNoRHCSpace' in x) { if(x.InsertIfNoRHCSpace.toString().toLowerCase() == 'true') { x.InsertIfNoRHCSpace = true; } else { x.InsertIfNoRHCSpace = false; } } else { x.InsertIfNoRHCSpace = false; } if('MinHeight' in x) { x.MinHeight = parseInt(x.MinHeight.toString()); } else { x.MinHeight = 0; } if('NoBackfill' in x) { if(x.NoBackfill.toString().toLowerCase() == 'true') { x.NoBackfill = true; } else { x.NoBackfill = false; } } else { x.NoBackfill = false; } if('Refresh' in x) { if(x.Refresh.toString().toLowerCase() == 'true') { x.Refresh = true; } else { x.Refresh = false; } } else { x.Refresh = false; } if('ExtraHTML' in x) { if(x.ExtraHTML.toString()) { x.ExtraHTML = x.ExtraHTML.toString(); } else { x.ExtraHTML = ''; } } else { x.ExtraHTML = ''; } if('CustomEventName' in x) { if(x.CustomEventName.toString()) { x.CustomEventName = x.CustomEventName.toString(); } else { x.CustomEventName = ''; } } else { x.CustomEventName = ''; } if('Javascript' in x) { if(x.Javascript) { if(typeof x.Javascript === 'function') { x.Javascript = x.Javascript; } } else { x.Javascript = ''; } } else { x.Javascript = ''; } if('AdUnit' in x) { if(x.AdUnit.toString()) { x.AdUnit = x.AdUnit.toString(); } else { x.AdUnit = ''; } } else { x.AdUnit = ''; } if('AdUnitSizesInlineMobile' in x) { x.AdUnitSizesInlineMobile = x.AdUnitSizesInlineMobile; } else if('GAMAdUnitSizesInlineMobileDefault' in EnhancedAdvertisingConfig) { x.AdUnitSizesInlineMobile = EnhancedAdvertisingConfig.GAMAdUnitSizesInlineMobileDefault } if('AdUnitSizesInlineDesktop' in x) { x.AdUnitSizesInlineDesktop = x.AdUnitSizesInlineDesktop; } else if('GAMAdUnitSizesInlineDesktopDefault' in EnhancedAdvertisingConfig) { x.AdUnitSizesInlineDesktop = EnhancedAdvertisingConfig.GAMAdUnitSizesInlineDesktopDefault; } if('AdUnitSizesRHC' in x) { x.AdUnitSizesRHC = x.AdUnitSizesRHC; } else if('GAMAdUnitSizesRHCDefault' in EnhancedAdvertisingConfig) { x.AdUnitSizesRHC = EnhancedAdvertisingConfig.GAMAdUnitSizesRHCDefault; } if('RefreshDelaySeconds' in x) { x.RefreshDelaySeconds = parseInt(x.RefreshDelaySeconds.toString(), 10); } else { x.RefreshDelaySeconds = 30; } return x; }); var storyInlineContent = EnhancedAdvertisingConfig.Slots.filter(function(el) { return el && (el.Position.toLowerCase() == "inline" || ((!isDesktopResolution || isStoryFullLayout) && el.Position.toLowerCase() == "preferright")) && (el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allAddInlineGroups.indexOf(subel) != -1 || allAddInlineGroups.indexOf('[all]') != -1; }) && !(el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allRemoveInlineGroups.indexOf(subel) != -1 || allRemoveInlineGroups.indexOf('[all]') != -1; }); }); var storyRHCContent = isDesktopResolution ? EnhancedAdvertisingConfig.Slots.filter(function(el) { return el && (el.Position.toLowerCase() == "right" || (isDesktopResolution && !isStoryFullLayout && el.Position.toLowerCase() == "preferright")) && (el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allAddRHCGroups.indexOf(subel) != -1 || allAddRHCGroups.indexOf('[all]') != -1; }) && !(el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allRemoveRHCGroups.indexOf(subel) != -1 || allRemoveRHCGroups.indexOf('[all]') != -1; }); }) : []; storyInlineContent.forEach( (c, ix) => c.inlineIndex = ix ); storyRHCContent.forEach( (c, ix) => c.rhcIndex = ix ); var googletag = w.googletag || {}; googletag.cmd = googletag.cmd || []; if( isNumberPositive(maxInlineSlots) ){ //PWVD-781 for(var tmpCounter = 0, i = 0, eL = storyCustomContentPlaceholders.length, adThresholdCounter = 1; i < eL; i++) { var currentIsPara = matches(storyCustomContentPlaceholders[i], 'p:not([class])'); var nextIsPara = (i + 1 < eL) && matches(storyCustomContentPlaceholders[i + 1], 'p:not([class])'); if( currentIsPara && !nextIsPara ){ //PWVD-897 - count paragraphs followed by any other element if(adThresholdCounter < (tmpCounter == 0 ? paragraphFirstThreshold : paragraphThreshold)) { adThresholdCounter++; continue; } } else if( currentIsPara && nextIsPara ) { if(adThresholdCounter < (tmpCounter == 0 ? paragraphFirstThreshold : paragraphThreshold)) { adThresholdCounter++; continue; } tmpCounter++; adThresholdCounter = 1; storyCustomContentPlaceholders[i].outerHTML = storyCustomContentPlaceholders[i].outerHTML + "<div class=\"story-inlinecontent-placeholder story-inlinecontent-placeholder-init item-notin-viewport\" data-storyinlinecontainer=\"" + tmpCounter + "\"><div class=\"story-inlinecontent-placeholder-inner\" data-id=\"story-inline-item-" + tmpCounter + "\" data-storyinlineitem=\"" + tmpCounter + "\"></div></div>"; if(tmpCounter >= maxInlineSlots && maxInlineSlots) break; } } } if(d.querySelector('#story.enhanced-advertising:not(.story-full-layout) #rightcolumn_sleeve')) { if(!(d.body.id == "story" || d.body.id == "story_custom") && !d.querySelector('.storytext div.table-full:not(.initialized)')) { w.addEventListener("abacus:storytexttablefull:finished", function(e) { adjustRHCHeightAndInitialAds(); }, true); } else { adjustRHCHeightAndInitialAds(); } } if('IntersectionObserver' in w && 'IntersectionObserverEntry' in w && 'intersectionRatio' in w.IntersectionObserverEntry.prototype) { d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init').forEach(function(el) { if(el) { var inlineAdsObserver = new IntersectionObserver(function(entries) { return inlineAdsObserverCallback(entries); }, { root: null, rootMargin: "50px 0px 50px 0px", threshold: [0, 0.01, 0.99, 1] }); inlineAdsObserver.observe(el); } }); var inlineAdsObserverCallback = function(entries) { return entries.forEach(function(entry, i) { if(entry.isIntersecting) { entry.target.classList.remove('item-notin-viewport'); entry.target.classList.add('item-in-viewport'); } else { entry.target.classList.remove('item-in-viewport'); entry.target.classList.add('item-notin-viewport'); } }); }; d.querySelectorAll('.storytext-end, #rhcreflow-extra-end').forEach(function(el) { if(el) { var adsInViewportObserver = new IntersectionObserver(function(entries) { return adsInViewportObserverCallback(entries); }, { root: null, rootMargin: "0px 0px 200px 0px", threshold: [1] }); adsInViewportObserver.observe(el); } }); var adsInViewportObserverCallback = function(entries) { return entries.forEach(function(entry, i) { if(entry.isIntersecting) { if(entry.target.classList.contains('storytext-end') && d.body.classList.contains('enhanced-advertising-inline-init')) { d.body.classList.add('enhanced-advertising-storytext-endreached'); } // RHC is empty at load time so it always fires as in viewport, need to check whether rhc ads slots already init if(entry.target.classList.contains('rhcreflow-extra-end') && d.body.classList.contains('enhanced-advertising-rhc-init')) { d.body.classList.add('enhanced-advertising-rhc-endreached'); } /* if(entry.target.id === 'rhcreflow-extra'){ //Fix for issue when RHC is not in initial viewport if( location.host.indexOf('abasoftaws.co.uk') > 0 ) console.log('New observer callback'); readjusRHCHeight(); } */ } }); }; } var inlineEl = d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-placeholder-completed):not(.story-inlinecontent-placeholder-processing)'); if(inlineEl) { googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { d.body.classList.add('enhanced-advertising-inline-init'); insertInlineSlot(inlineEl); console.log('Init inline ad slot load'); }); } function slotRender(event){ var el, slot = event.slot, slotId = slot.getSlotElementId(); if(enhAdDebug) console.log('Slot render: ' + slotId); if(slotId == 'custom-inline'){ el = document.querySelector(`div.story-inlinecontent-placeholder-inner[data-id="story-inline-item-${event.dataId}"]`); //Get inline slot (does not have ID) //if(!el) // el = document.querySelector(`div.story-inlinecontent-placeholder-inner[data-id="story-inline-item-${event.inlineIndex+1}"]`); } else el = d.getElementById(slotId); if(el) { var minHeight = 0; var parentInlineNode = getClosestParent(el, '.story-inlinecontent-placeholder'); var parentRHCNode = getClosestParent(el, '.story-rhccontent-placeholder'); if(parentInlineNode || parentRHCNode) { var classList = el.classList; if(parentInlineNode) { parentInlineNode.classList.add('story-inlinecontent-placeholder-ad'); var index = parseInt(parentInlineNode.hasAttribute('data-index') ? parentInlineNode.getAttribute('data-index') : '0', 10); if(!event.isEmpty) { classList.add('ad'); classList.add('mob-ad-50'); classList.add('ad-story-inline'); classList.add('ad-story-inline-notempty'); parentInlineNode.classList.add('story-inlinecontent-placeholder-ad-size-' + event.size.join('x')); parentInlineNode.setAttribute('data-slot', slot.getAdUnitPath()); var currentInlineSlot = storyInlineContent.filter(function(e) { return e.Index == index; }); if(currentInlineSlot.length) { minHeight = currentInlineSlot[0].MinHeight; if(currentInlineSlot[0].Repeat == false) { currentInlineSlot[0].Used = true; } } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } parentInlineNode.classList.add('story-inlinecontent-placeholder-finished'); insertInlineSlot(d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)')); } else { classList.add('ad-story-inline-isempty'); var currentInlineSlot = storyInlineContent.filter(function(e) { return e.Index == index; }); if(currentInlineSlot.length) { minHeight = currentInlineSlot[0].MinHeight; currentInlineSlot[0].Used = true; } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } if(parentInlineNode && parentInlineNode.hasAttribute('data-nobackfill')) { if(parentInlineNode.getAttribute('data-nobackfill') == '1') { updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight); if(!storyInlineContent.some(function(el) { return el.Used == false; })) { finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true); } else { insertInlineSlot(d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)')); } initRHCHeightCalc(); return; } } // Move to next from the list if( storyInlineContent.some( function(e){ return e.Used == false; } ) ) { if(enhAdDebug) console.log('slotRender: parentInlineNode: Move to next from the list') var adRetryCssClass = 'ad-story-inline-retry'; var nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Index > index && e.Used == false; }); if(!nextInlineSlotList.length) { // select repeatable ads nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Used == false && e.Index > index && e.Repeat == true; }); if(!nextInlineSlotList.length) { // if no repeatable ads by indexed order then start from the beginning or just pick any existing nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); if(!nextInlineSlotList.length) { // no more ads to add d.body.classList.add('enhanced-advertising-inline-runoutofslots'); finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true); updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight); initRHCHeightCalc(); return; } } } var mapInlineAdItem = nextInlineSlotList[0]; var refresh = EnhancedAdvertisingConfig.Refresh; googletag.destroySlots([slot]); if(mapInlineAdItem.Refresh) { refresh = mapInlineAdItem.Refresh; } if(mapInlineAdItem.Repeat) { parentInlineNode.classList.remove('story-inlinecontent-placeholder-repeat-false'); parentInlineNode.classList.add('story-inlinecontent-placeholder-repeat-true'); } else { parentInlineNode.classList.remove('story-inlinecontent-placeholder-repeat-true'); parentInlineNode.classList.add('story-inlinecontent-placeholder-repeat-false'); } var mapInlineAdItemSlot = googletag.defineSlot(mapInlineAdItem.AdUnit, isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile, slotId); if(mapInlineAdItemSlot) { mapInlineAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapInlineAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads()); } else { console.warn('Something wrong with inline ad slot \'' + slotId + '\', size(s) \'' + (isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapInlineAdItem.AdUnit + '\''); } googletag.display(slotId); el.classList.add(adRetryCssClass); parentInlineNode.setAttribute('data-index', mapInlineAdItem.Index); if(mapInlineAdItem.ExtraHTML) { var extraHTMLEl = parentInlineNode.querySelector('.story-inlinecontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = mapInlineAdItem.ExtraHTML; } } else { var extraHTMLEl = parentInlineNode.querySelector('.story-inlinecontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = ''; } } } else { // no slots to add.. finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true); } } } else if(parentRHCNode) { parentRHCNode.classList.add('story-rhccontent-placeholder-ad'); var index = parseInt(parentRHCNode.hasAttribute('data-index') ? parentRHCNode.getAttribute('data-index') : '0', 10); if(!event.isEmpty) { classList.add('ad-rhc'); classList.add('ad-story-rhc'); classList.add('ad-story-rhc-notempty'); parentRHCNode.classList.add('story-rhccontent-placeholder-ad-size-' + event.size.join('x')); parentRHCNode.setAttribute('data-slot', slot.getAdUnitPath()); var currentRHCSlot = storyRHCContent.filter(function(e) { return e.Index == index; }); if(currentRHCSlot.length) { minHeight = currentRHCSlot[0].MinHeight; if(currentRHCSlot[0].Repeat == false) { currentRHCSlot[0].Used = true; } if(currentRHCSlot[0].InsertIfNoRHCSpace) { currentRHCSlot[0].InsertIfNoRHCSpace = false; } } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } parentRHCNode.classList.remove('story-rhccontent-placeholder-isempty'); parentRHCNode.classList.remove('story-rhccontent-placeholder-notempty'); parentRHCNode.classList.add((event.isEmpty ? 'story-rhccontent-placeholder-isempty' : 'story-rhccontent-placeholder-notempty')); parentRHCNode.classList.add('story-rhccontent-placeholder-ad-completed'); parentRHCNode.classList.add('story-rhccontent-placeholder-finished'); var canAddRHC = isStoryTextTallerThanRHC(); if( ( index > 0 && !d.body.classList.contains('enhanced-advertising-inline-completed') && parentRHCNode.classList.contains('story-rhccontent-placeholder-canbesticky') ) || ( canAddRHC.canAdd && parentRHCNode.classList.contains('story-rhccontent-placeholder-canbesticky') && canAddRHC.delta > EnhancedAdvertisingConfig.RHCMinHeightForStickyAd ) ){ parentRHCNode.classList.remove('story-rhccontent-placeholder-canbesticky'); parentRHCNode.classList.add('story-rhccontent-placeholder-sticky'); } } else { classList.add('ad-story-rhc-isempty'); var currentRHCSlot = storyRHCContent.filter(function(e) { return e.Index == index; }); if(currentRHCSlot.length) { currentRHCSlot[0].Used = true; } else { console.log('Slot with index [data-index="' + index + '"] was not found'); } if(parentRHCNode && parentRHCNode.hasAttribute('data-nobackfill')) { if(parentRHCNode.getAttribute('data-nobackfill') == '1') { updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty); if(!storyRHCContent.some(function(el) { return el.Used == false; })) { d.body.classList.add('enhanced-advertising-rhc-runoutofslots'); finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, true); } initRHCHeightCalc(); return; } } // Move to next from the list if(enhAdDebug){ console.log('slotRender: parentRHCNode: storyRHCContent: index: ' + index); console.log(storyRHCContent); } if(storyRHCContent.some(function(e) { return e.Used == false; })) { var adRetryCssClass = 'ad-story-rhc-retry'; var nextRHCSlotList = storyRHCContent.filter(function(e) { if(enhAdDebug) console.log('%c Current index: ' + e.Index + ', slot data index: ' + index, 'color: #0C6') return e.Index > index && e.Used == false; }); if(enhAdDebug){ console.log('%c slotRender: parentRHCNode: Moved to next from the list', 'color: #06C'); console.log(nextRHCSlotList); } if(!nextRHCSlotList.length) { // select repeatable ads nextRHCSlotList = storyRHCContent.filter(function(e) { return e.Used == false && e.Index > index && e.Repeat == true; }); if(!nextRHCSlotList.length) { // if no repeatable ads by indexed order then start from the beginning or just pick any existing nextRHCSlotList = storyRHCContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); if(!nextRHCSlotList.length) { // no more ads to add finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, false); //updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty, minHeight); updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty); initRHCHeightCalc(); return; } } } var mapRHCAdItem = nextRHCSlotList[0]; var refresh = EnhancedAdvertisingConfig.Refresh; googletag.destroySlots([slot]); if(mapRHCAdItem.Refresh) { refresh = mapRHCAdItem.Refresh; } if(mapRHCAdItem.Repeat) { parentRHCNode.classList.remove('story-rhccontent-placeholder-repeat-false'); parentRHCNode.classList.add('story-rhccontent-placeholder-repeat-true'); } else { parentRHCNode.classList.remove('story-rhccontent-placeholder-repeat-true'); parentRHCNode.classList.add('story-rhccontent-placeholder-repeat-false'); } if(mapRHCAdItem.Type == 'customcontent'){ //Custom content (RSCCS-540) if(enhAdDebug) console.log('Next RHC config item is custom content'); adjustRHCHeightAndInitialAds(); } else if(mapRHCAdItem.AdUnit){ //Google ad var mapInlineAdItemSlot = googletag.defineSlot(mapRHCAdItem.AdUnit, isDesktopResolution ? mapRHCAdItem.AdUnitSizesInlineDesktop : mapRHCAdItem.AdUnitSizesInlineMobile, slotId); if(mapInlineAdItemSlot) { mapInlineAdItemSlot.defineSizeMapping( googletag.sizeMapping().build() ).setTargeting( 'refresh', (refresh ? 'true' : 'false') ).setTargeting( 'refreshdelayseconds', mapRHCAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile) ).setCollapseEmptyDiv( EnhancedAdvertisingConfig.CollapseEmptyDivs, false ).addService( googletag.pubads() ); } else { console.warn('SlotRender: Something wrong with RHC ad slot \'' + slotId + '\', size(s) \'' + (isDesktopResolution ? mapRHCAdItem.AdUnitSizesInlineDesktop : mapRHCAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapRHCAdItem.AdUnit + '\''); } googletag.display(slotId); } el.classList.add(adRetryCssClass); parentRHCNode.setAttribute('data-index', mapRHCAdItem.Index); if(mapRHCAdItem.ExtraHTML) { var extraHTMLEl = parentRHCNode.querySelector('.story-rhccontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = mapRHCAdItem.ExtraHTML; } } else { var extraHTMLEl = parentRHCNode.querySelector('.story-rhccontent-placeholder-ad-extrahtml'); if(extraHTMLEl) { extraHTMLEl.innerHTML = ''; } } } else { // no slots to add.. finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, false); } } } if(parentInlineNode) { updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight); } else { //updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty, minHeight); updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty); } } } initRHCHeightCalc(); } googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRequested', function(event) { var slot = event.slot; var el = d.getElementById(slot.getSlotElementId()); if(el) { var parentInlineNode = getClosestParent(el, '.story-inlinecontent-placeholder'); var parentRHCNode = getClosestParent(el, '.story-rhccontent-placeholder'); if(parentInlineNode || parentRHCNode) { if(parentInlineNode) { parentInlineNode.classList.add('story-inlinecontent-placeholder-ad-init'); } else { parentRHCNode.classList.add('story-rhccontent-placeholder-ad-init'); } } } }); googletag.pubads().addEventListener('slotRenderEnded', function(event) { var sId = event.slot.getSlotElementId(); if( enhAdDebug && sId.includes('story-rhcad') || sId.includes('story-inlinead') ){ console.log(`%c Slot RENDER END (${sId})`, 'color: #FE2ACA'); console.log(event); //loadOrRender(sId, 'render', event); } slotRender(event); }); if(enhAdDebug){ //Track slot load events googletag.pubads().addEventListener('slotOnload', (evLoad) => { var sId = evLoad.slot.getSlotElementId(); if( sId.includes('story-rhcad') || sId.includes('story-inlinead') ){ console.log(`%c Slot LOAD (${ evLoad.slot.getSlotElementId() })`, 'color: #C00;'); console.log(event); //loadOrRender(sId, 'load'); } }); } googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { var slot = event.slot; if(slot.getTargeting('refresh').indexOf('true') > -1 && event.inViewPercentage > 0) { var el = d.getElementById(slot.getSlotElementId()); var parentStoryInlineNode = getClosestParent(el, '.ad-story-inline'); var parentStoryRHCNode = getClosestParent(el, '.ad-story-rhc'); if(parentStoryInlineNode || parentStoryRHCNode) { if(parentStoryInlineNode) { var inlineEl = getClosestParent(el, '.story-inlinecontent-placeholder'); if(inlineEl) { if(inlineEl.hasAttribute('data-shouldrefresh')) { var shouldRefresh = inlineEl.getAttribute('data-shouldrefresh'); if(shouldRefresh && shouldRefresh == '1') { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryInlineNode.classList; var cssClassName = 'ad-story-inline-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryInlineNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); classList.add('ad-story-inline-refreshed'); inlineEl.setAttribute('data-shouldrefresh', '0'); } } } } else { var rhcEl = getClosestParent(el, '.story-rhccontent-placeholder'); if(rhcEl) { if(rhcEl.hasAttribute('data-shouldrefresh')) { var shouldRefresh = rhcEl.getAttribute('data-shouldrefresh'); if(shouldRefresh && shouldRefresh == '1') { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryRHCNode.classList; var cssClassName = 'ad-story-rhc-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryRHCNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); classList.add('ad-story-rhc-refreshed'); rhcEl.setAttribute('data-shouldrefresh', '0'); } } } } } } }); googletag.pubads().addEventListener('impressionViewable', function(event) { var slot = event.slot; if(slot.getTargeting('refresh').indexOf('true') > -1) { var refreshdelayseconds = slot.getTargeting('refreshdelayseconds').length ? parseInt(slot.getTargeting('refreshdelayseconds')[0], 10) : 0; if(refreshdelayseconds) { setTimeout(function() { var el = d.getElementById(slot.getSlotElementId()); var parentStoryInlineNode = getClosestParent(el, '.ad-story-inline'); var parentStoryRHCNode = getClosestParent(el, '.ad-story-rhc'); if(parentStoryInlineNode) { var inlineEl = getClosestParent(el, '.story-inlinecontent-placeholder'); if(inlineEl) { if(inlineEl.classList.contains('item-in-viewport')) { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryInlineNode.classList; var cssClassName = 'ad-story-inline-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryInlineNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); inlineEl.setAttribute('data-shouldrefresh', '0'); } else { inlineEl.setAttribute('data-shouldrefresh', '1'); } } } else if(parentStoryRHCNode) { var rhcEl = getClosestParent(el, '.story-rhccontent-placeholder'); if(rhcEl) { if(rhcEl.classList.contains('item-in-viewport')) { googletag.cmd.push(function() { googletag.pubads().refresh([slot], { changeCorrelator: false }); }); var classList = parentStoryRHCNode.classList; var cssClassName = 'ad-story-rhc-refreshed-'; var cssClassCounter = 1; for(var i = 0, c = parentStoryRHCNode.className.split(' '), iL = c.length; i < iL; i++) { var v = c[i]; if(v.indexOf(cssClassName) != -1) { cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1; classList.remove(v); break; } } classList.add(cssClassName + cssClassCounter); rhcEl.setAttribute('data-shouldrefresh', '0'); } else { rhcEl.setAttribute('data-shouldrefresh', '1'); } } } }, refreshdelayseconds * 1000); } else { console.log('Ad refresh delay in seconds is incorrect (slot: ' + slot.getSlotElementId() + '): ', refreshdelayseconds); } } }); }); function isBoolean(n) { return !!n === n; } function isNumber(n) { return +n === n; } function isString(n) { return '' + n === n; } function isNumberPositive(n) { return +n === n && n > 0; } function isNumberPositiveOrZero(n) { return +n === n && n >= 0; } function isArrayOfArrays(a) { return a.every(function(x) { return Array.isArray(x); }); } function getAbsoluteHeight(element) { if(!element) return 0; var styles = w.getComputedStyle(element); var margin = parseFloat(styles['margin-top']) + parseFloat(styles['margin-bottom']); var minHeight = element.clientHeight; return Math.ceil(minHeight ? minHeight + margin : element.offsetHeight + margin); } function updateRHCContainerState() { var classList = d.body.classList; if(!d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder.story-rhccontent-placeholder-completed').length) { d.body.classList.add('enhanced-advertising-rhc-empty'); } else { d.body.classList.remove('enhanced-advertising-rhc-empty'); } } function insertRHCSlot(el) { if(el) { el.classList.add('story-rhccontent-placeholder-processing'); } if(el && storyRHCContent.some(function(e) { return e.Used == false; })) { var classList = el.classList; var placeholder = el.querySelector('[data-id]'); var tempFilteredRHCAds = storyRHCContent; if(placeholder) { var elemsIndexes = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed[data-index]'); var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1; tempFilteredRHCAds = storyRHCContent.filter(function(e) { return slotIndex < e.Index && e.Used == false; }); if(!tempFilteredRHCAds.length) { tempFilteredRHCAds = storyRHCContent.filter(function(e) { return e.Used == false && slotIndex < e.Index && e.Repeat == true; }); } if(!tempFilteredRHCAds.length) { tempFilteredRHCAds = storyRHCContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); } if(!tempFilteredRHCAds.length) { finalizeRemainingEmptyRHCSlotContainers(classList, false); return; } var mapRHCAdItem = tempFilteredRHCAds[0]; classList.remove('story-rhccontent-placeholder-init'); classList.remove('story-rhccontent-placeholder-processing'); classList.add('story-rhccontent-placeholder-completed'); if(mapRHCAdItem.CSSClass) { mapRHCAdItem.CSSClass.split(' ').forEach(function(elem) { if(elem) { classList.add(elem); } }); } if(mapRHCAdItem.Type == 'gamadvert') { if(placeholder) { var refresh = EnhancedAdvertisingConfig.Refresh; el.setAttribute('data-storycustomcontent', '0'); if(mapRHCAdItem.Sticky) { classList.add('story-rhccontent-placeholder-canbesticky'); placeholder.classList.add('sticky'); } if(mapRHCAdItem.NoBackfill) { el.setAttribute('data-nobackfill', '1'); } else { el.setAttribute('data-nobackfill', '0'); } if(mapRHCAdItem.Refresh) { refresh = mapRHCAdItem.Refresh; } var mapRHCAdItemSlot = googletag.defineSlot(mapRHCAdItem.AdUnit, mapRHCAdItem.AdUnitSizesRHC, 'story-rhcad-' + rhcAdCounter); if(mapRHCAdItemSlot) { mapRHCAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapRHCAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads()); } else { console.warn('Something wrong with rhc ad slot \'' + 'story-rhcad-' + rhcAdCounter + '\', size(s) \'' + mapRHCAdItem.AdUnitSizesRHC.join('x') + '\', path \'' + mapRHCAdItem.AdUnit + '\''); } if(refresh) { el.setAttribute('data-shouldrefresh', '0'); classList.add('story-rhccontent-placeholder-refresh-true'); } else { classList.add('story-rhccontent-placeholder-refresh-false'); } classList.add('story-rhccontent-placeholder-ad'); placeholder.id = 'story-rhcad-' + rhcAdCounter; placeholder.outerHTML = '<div class="story-rhccontent-placeholder-ad-extrahtml">' + mapRHCAdItem.ExtraHTML + '</div>' + placeholder.outerHTML; el.setAttribute('data-slot', mapRHCAdItem.AdUnit); googletag.display('story-rhcad-' + rhcAdCounter); $(w).trigger("wvcfe:storyrhcaditeminit", [$(el), $(placeholder), mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); if(mapRHCAdItem.CustomEventName) { $(w).trigger(mapRHCAdItem.CustomEventName, [el, placeholder, mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); } if(mapRHCAdItem.Javascript) { if(typeof mapRHCAdItem.Javascript === 'function') { mapRHCAdItem.Javascript.call(this, el, placeholder, mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type); } } rhcAdCounter++; } } else if(mapRHCAdItem.Type == 'customcontent') { el.setAttribute('data-storycustomcontent', '1'); classList.add('story-rhccontent-placeholder-customcontent'); if(placeholder) { placeholder.innerHTML = mapRHCAdItem.HTML; classList.add('story-rhccontent-placeholder-notempty'); $(w).trigger("wvcfe:storyrhcitemajaxinit", [$(el), $(placeholder), mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); if(mapRHCAdItem.CustomEventName) { $(w).trigger(mapRHCAdItem.CustomEventName, [$(el), $(placeholder), mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type]); } if(mapRHCAdItem.Javascript) { if(typeof mapRHCAdItem.Javascript === 'function') { mapRHCAdItem.Javascript.call(this, el, placeholder, mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type); } } el.classList.add('story-rhccontent-placeholder-finished'); } } el.setAttribute('data-index', mapRHCAdItem.Index); rhcCounter++; } else { console.log('Missing placeholder: [data-id="story-rhc-item-' + rhcCounter + '"]'); } } else if(el) { // All slots are used, mark current slot placeholder and the rest ones as completed and used var classList = el.classList; finalizeRemainingEmptyRHCSlotContainers(classList, false); } else { console.log('Missing RHC element'); } } function insertInlineSlot(el) { if(el) { el.classList.add('story-inlinecontent-placeholder-processing'); } if(el && storyInlineContent.some(function(e) { return e.Used == false; })) { var classList = el.classList; var placeholder = el.querySelector('[data-id]'); var tempFilteredInlineAds = storyInlineContent; if(placeholder) { var elemsIndexes = d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-completed[data-index]'); var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1; tempFilteredInlineAds = storyInlineContent.filter(function(e){ return slotIndex < e.Index && e.Used == false; }); if(!tempFilteredInlineAds.length) { tempFilteredInlineAds = storyInlineContent.filter(function(e) { return e.Used == false && slotIndex < e.Index && e.Repeat == true; }); if(!tempFilteredInlineAds.length) { // start from the first repeatable ad index tempFilteredInlineAds = storyInlineContent.filter(function(e) { return e.Used == false && e.Repeat == true; }); if(!tempFilteredInlineAds.length) { finalizeRemainingEmptyInlineSlotContainers(classList, true); return; } } } var mapInlineAdItem = tempFilteredInlineAds[0]; classList.remove('story-inlinecontent-placeholder-init'); classList.remove('story-inlinecontent-placeholder-processing'); classList.add('story-inlinecontent-placeholder-completed'); if(mapInlineAdItem.CSSClass) { mapInlineAdItem.CSSClass.split(' ').forEach(function(elem) { if(elem) { classList.add(elem); } }); } if(mapInlineAdItem.Type == 'gamadvert') { var refresh = EnhancedAdvertisingConfig.Refresh; el.setAttribute('data-storycustomcontent', '0'); el.classList.add('story-inlinecontent-placeholder-ad'); if(mapInlineAdItem.Sticky) { classList.add('story-inlinecontent-placeholder-sticky'); placeholder.classList.add('sticky'); } if(mapInlineAdItem.NoBackfill) { el.setAttribute('data-nobackfill', '1'); } else { el.setAttribute('data-nobackfill', '0'); } if(mapInlineAdItem.Repeat) { classList.add('story-inlinecontent-placeholder-repeat-true'); } else { classList.add('story-inlinecontent-placeholder-repeat-false'); } if(mapInlineAdItem.Refresh) { refresh = mapInlineAdItem.Refresh; } var mapInlineAdItemSlot = googletag.defineSlot(mapInlineAdItem.AdUnit, isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile, 'story-inlinead-' + inlineAdCounter); if(mapInlineAdItemSlot) { mapInlineAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapInlineAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads()); } else { console.warn('Something wrong with inline ad slot \'' + 'story-inlinead-' + inlineAdCounter + '\', size(s) \'' + (isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapInlineAdItem.AdUnit + '\''); } if(refresh) { el.setAttribute('data-shouldrefresh', '0'); classList.add('story-inlinecontent-placeholder-refresh-true'); } else { classList.add('story-inlinecontent-placeholder-refresh-false'); } placeholder.id = 'story-inlinead-' + inlineAdCounter; placeholder.outerHTML = '<div class="story-inlinecontent-placeholder-ad-extrahtml">' + mapInlineAdItem.ExtraHTML + '</div>' + placeholder.outerHTML; el.setAttribute('data-slot', mapInlineAdItem.AdUnit); googletag.display('story-inlinead-' + inlineAdCounter); $(w).trigger("wvcfe:storyinlineaditeminit", [$(el), $(placeholder), mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type]); if(mapInlineAdItem.CustomEventName) { $(w).trigger(mapInlineAdItem.CustomEventName, [el, placeholder, mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type]); } if(mapInlineAdItem.Javascript) { if(typeof mapInlineAdItem.Javascript === 'function') { mapInlineAdItem.Javascript.call(this, el, placeholder, mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type); } } inlineAdCounter++; } else if(mapInlineAdItem.Type == 'customcontent') { el.setAttribute('data-storycustomcontent', '1'); el.classList.add('story-inlinecontent-placeholder-customcontent'); placeholder.innerHTML = mapInlineAdItem.HTML; $(w).trigger("wvcfe:storyinlineitemajaxinit", [$(el), $(placeholder), mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type]); if(mapInlineAdItem.CustomEventName) { $(w).trigger(mapInlineAdItem.CustomEventName, [$(el), $(placeholder), mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type]); } if(mapInlineAdItem.Javascript) { if(typeof mapInlineAdItem.Javascript === 'function') { mapInlineAdItem.Javascript.call(this, el, placeholder, mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type.toLowerCase()); } } el.classList.add('story-inlinecontent-placeholder-finished'); var inlineCustomEvent = { dataId: (mapInlineAdItem.Index+1), slot: { getSlotElementId: function(){ return 'custom-inline'; }, getAdUnitPath: function(){return 'custom-inline'} }, isEmpty: false, size:[0,0] }; el.setAttribute('data-index', mapInlineAdItem.Index); slotRender(inlineCustomEvent); //$(w).trigger('abacus:inlinecontentrender', inlineCustomEvent); } el.setAttribute('data-index', mapInlineAdItem.Index); //el.setAttribute('data-index', inlineCounter); inlineCounter++; } else { console.log('Missing placeholder: [data-id="story-inline-item-' + inlineCounter + '"]'); } } else if(el) { // All slots are used, mark current slot placeholder and the rest ones as completed and used var classList = el.classList; finalizeRemainingEmptyInlineSlotContainers(classList, true); } else { console.log('Missing inline element'); } } function finalizeRemainingEmptyRHCSlotContainers(classList, processremaining) { classList.remove('story-rhccontent-placeholder-init'); classList.remove('story-rhccontent-placeholder-processing'); classList.add('story-rhccontent-placeholder-completed'); classList.add('story-rhccontent-placeholder-isempty'); classList.add('story-rhccontent-placeholder-runoutofslots'); classList.add('story-rhccontent-placeholder-finished'); if(processremaining) { for(var i = 0, elems = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-processing)'), iL = elems.length; i < iL; i++) { var e = elems[i]; if(e) { var c = e.classList; c.remove('story-rhccontent-placeholder-init'); c.add('story-rhccontent-placeholder-completed'); c.add('story-rhccontent-placeholder-isempty'); c.add('story-rhccontent-placeholder-runoutofslots'); c.add('story-rhccontent-placeholder-finished'); } } } } function finalizeRemainingEmptyInlineSlotContainers(classList, processremaining) { classList.remove('story-inlinecontent-placeholder-init'); classList.remove('story-inlinecontent-placeholder-processing'); classList.add('story-inlinecontent-placeholder-completed'); classList.add('story-inlinecontent-placeholder-isempty'); classList.add('story-inlinecontent-placeholder-runoutofslots'); classList.add('story-inlinecontent-placeholder-finished'); if(processremaining) { for(var i = 0, elems = d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-placeholder-processing)'), iL = elems.length; i < iL; i++) { var e = elems[i]; if(e) { var c = e.classList; c.remove('story-inlinecontent-placeholder-init'); c.add('story-inlinecontent-placeholder-completed'); c.add('story-inlinecontent-placeholder-isempty'); c.add('story-inlinecontent-placeholder-runoutofslots'); c.add('story-inlinecontent-placeholder-finished'); } } } } function updateInlinePlaceholderClasses(node, status, minHeight) { node.classList.remove('story-inlinecontent-placeholder-isempty'); node.classList.remove('story-inlinecontent-placeholder-notempty'); node.classList.add((status ? 'story-inlinecontent-placeholder-isempty' : 'story-inlinecontent-placeholder-notempty')); node.classList.add('story-inlinecontent-placeholder-ad-completed'); if(!status) { var computedMinHeightValue = w.getComputedStyle(node).minHeight || 0; var computedMinHeight = parseInt(computedMinHeightValue, 10); if(minHeight > computedMinHeight) { node.style.minHeight = minHeight + 'px'; } } } function updateRHCPlaceholderClasses(node, status) { node.classList.remove('story-rhccontent-placeholder-ad-init'); node.classList.remove('story-rhccontent-placeholder-isempty'); node.classList.remove('story-rhccontent-placeholder-notempty'); node.classList.add((status ? 'story-rhccontent-placeholder-isempty' : 'story-rhccontent-placeholder-notempty')); node.classList.add('story-rhccontent-placeholder-ad-completed'); } function initRHCHeightCalc() { updateRHCFirstandLastItemStyles(); // readjust height if no in progress/loading ads as the height might change on storytext or RHC if(!d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder.story-rhccontent-placeholder-completed.story-rhccontent-placeholder-ad-init').length) { readjusRHCHeight(); } else { setTimeout(function() { initRHCHeightCalc(); }, 0); } } function isInViewport(element) { var rect = element.getBoundingClientRect(); var height = w.innerHeight || d.documentElement.clientHeight; var width = w.innerWidth || d.documentElement.clientWidth; return ( rect.right >= 0 && rect.bottom >= 0 && rect.left <= width && rect.top <= height ); } function processElementsInViewport() { var adsInlinePlaceholders = d.querySelectorAll('.storytext .story-inlinecontent-placeholder'); //PWVD-893 : change from rhccontent var adsRHCPlaceholders = d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder'); if(adsInlinePlaceholders || adsRHCPlaceholders) { if(adsInlinePlaceholders) { adsInlinePlaceholders.forEach(function(el) { var classList = el.classList; if(!isInViewport(el)) { classList.remove('story-inlinecontent-placeholder-isinviewport'); classList.add('story-inlinecontent-placeholder-isnotinviewport'); } else { classList.remove('story-inlinecontent-placeholder-isnotinviewport'); classList.add('story-inlinecontent-placeholder-isinviewport'); } }); } else { adsRHCPlaceholders.forEach(function(el) { var classList = el.classList; if(!isInViewport(el)) { classList.remove('story-rhccontent-placeholder-isinviewport'); classList.add('story-rhccontent-placeholder-isnotinviewport'); } else { classList.remove('story-rhccontent-placeholder-isnotinviewport'); classList.add('story-rhccontent-placeholder-isinviewport'); } }); } } } function adjustRHCHeightAndInitialAds() { var output = []; var googletag = w.googletag || {}; var rhcreflowExtra = d.querySelector('#rhcreflow-extra'); if(rhcreflowExtra) { rhcreflowExtra.innerHTML = ''; minRHCSlotsToFitIn = (minRHCSlots > 0 ? minRHCSlots : 2); maxRHCSlotsToFitIn = (maxRHCSlots > 0 ? maxRHCSlots : 0); for(var i = 0, iL = Math.max(storyRHCContent.length, maxRHCSlotsToFitIn); i < iL; i++) { rhcCounter = i + 1; output.push("<div class=\"story-rhccontent-placeholder story-rhccontent-placeholder-init item-notin-viewport\" data-storyrhccontainer=\"" + rhcCounter + "\"><div class=\"story-rhccontent-placeholder-inner\" data-id=\"story-rhc-item-" + rhcCounter + "\" data-storyrhcitem=\"" + rhcCounter + "\"></div></div>"); if(rhcCounter >= maxRHCSlotsToFitIn) break; } d.querySelector('#rhcreflow-extra').innerHTML = output.join(''); if('IntersectionObserver' in w && 'IntersectionObserverEntry' in w && 'intersectionRatio' in w.IntersectionObserverEntry.prototype) { d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-init').forEach(function(el) { if(el) { observer = new IntersectionObserver(function(entries) { return observerCallback(entries); }, { root: null, rootMargin: "50px 0px 50px 0px", threshold: [0, 0.01, 0.99, 1] }); observer.observe(el); } }); var observerCallback = function(entries) { return entries.forEach(function(entry, i) { if(entry.isIntersecting) { entry.target.classList.remove('item-notin-viewport'); entry.target.classList.add('item-in-viewport'); } else { entry.target.classList.remove('item-in-viewport'); entry.target.classList.add('item-notin-viewport'); } }); } } googletag.cmd = googletag.cmd || []; googletag.cmd.push(function() { var rhcEl = d.querySelector('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-completed):not(.story-rhccontent-placeholder-processing)'); var hasAnyRHCLoadedBefore = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed'); if(rhcEl && !hasAnyRHCLoadedBefore.length) { insertRHCSlot(rhcEl); d.body.classList.add('enhanced-advertising-rhc-init'); } }); updateRHCContainerState(); } } function isStoryTextTallerThanRHC() { var calcHeight = 0; if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) { var h = 0, colmain = d.getElementById('colmain').clientHeight; d.querySelectorAll('#rightcolumn_sleeve > *:not(#rhcreflow-extra)').forEach(function(item) { h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); d.querySelectorAll('#rhcreflow-extra > *').forEach(function(item) { h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); return { "canAdd": colmain > calcHeight, "delta": colmain - calcHeight }; } else { return { "canAdd": false, "delta": 0 }; } } function canAddRHCItem() { // check whether inline and RHC ads finished loading, otherwise ignore var storyRHCSlotHeight = EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert; var calcHeight = 0; if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) { var h = 0, innerChild = 0; d.querySelectorAll('#rightcolumn_sleeve > *:not(#rhcreflow-extra)').forEach(function(item) { h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); d.querySelectorAll('#rhcreflow-extra > *').forEach(function(item) { //innerChild = (item || item.querySelector('.story-rhccontent-placeholder-inner') || item.firstChild); //h = getAbsoluteHeight(innerChild); //if (h == 0) { // h = getAbsoluteHeight(item); //} h = getAbsoluteHeight(item); item.setAttribute('data-height', h); calcHeight += h; }); var result = { "canAddRHCItem": d.getElementById('colmain').clientHeight > calcHeight + storyRHCSlotHeight, "colmainTaller": d.getElementById('colmain').clientHeight > calcHeight }; return result; } else { return { "canAddRHCItem": false, "colmainTaller": false }; } } function readjusRHCHeight() { if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) { d.getElementById('rightcolumn_sleeve').style.minHeight = d.getElementById('colmain').clientHeight + 'px'; } var elemsIndexes = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed[data-index]'); var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1; var rhcEl = d.querySelector('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-completed):not(.story-rhccontent-placeholder-processing)'); var canAdd = canAddRHCItem(); var hasInsertIfNoRHCSpace = storyRHCContent.some(function(e) { return e.InsertIfNoRHCSpace == true && e.Used == false && e.Index > slotIndex; }); if(!rhcEl || (!canAdd.canAddRHCItem && !hasInsertIfNoRHCSpace && !d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)').length)) { d.body.classList.add('enhanced-advertising-rhc-completed'); } else { d.body.classList.remove('enhanced-advertising-rhc-completed'); } //var rhcElementsInitialised = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-finished)'); var rhcElementsInitialised = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-finished):not(.story-rhccontent-placeholder-isempty)'); //var rhcElemInit = $('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed'); //PWVD-749 //var classesToExclude = ['init', 'processing', 'finished'].map( cls => '.story-rhccontent-placeholder-' + cls); //, 'isempty' //rhcElemInit = rhcElemInit.find( classesToExclude.join(',') ).remove(); if(rhcEl && (canAdd.canAddRHCItem || hasInsertIfNoRHCSpace) && rhcElementsInitialised.length == 0) { insertRHCSlot(rhcEl); } } function updateRHCFirstandLastItemStyles() { d.querySelectorAll('#rhcreflow-extra > *:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-isempty)').forEach(function(item, index, data) { item.classList.remove('story-rhccontent-placeholder-first'); item.classList.remove('story-rhccontent-placeholder-last'); if(index == 0) { item.classList.add('story-rhccontent-placeholder-first'); } if(index == data.length - 1) { item.classList.add('story-rhccontent-placeholder-last'); } }); if((d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-completed').length == d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-finished').length) && !d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-init').length) { d.body.classList.add('enhanced-advertising-inline-completed'); } else { d.body.classList.remove('enhanced-advertising-inline-completed'); } } w.addEventListener('scroll', function(e) { if(!ticking) { w.requestAnimationFrame(function() { processElementsInViewport(); readjusRHCHeight(); ticking = false; }); ticking = true; } }, true); w.addEventListener('resize', function(e) { if(!ticking) { w.requestAnimationFrame(function() { processElementsInViewport(); readjusRHCHeight(); ticking = false; }); ticking = true; } }, true); w.addEventListener("abacus:loadcontent:complete", function(evt, context) { readjusRHCHeight(); }, true); if(d.querySelector('#story .storytext img.lazyload')) { d.addEventListener('lazyloaded', function(e) { if(w.googletag && googletag.apiReady) { if(getClosestParent(e.target, '.storytext')) { readjusRHCHeight(); } } }); } w.addEventListener("abacus:advertb:loaded", function(evt, context) { readjusRHCHeight(); }, true); w.addEventListener("abacus:gamadvert:loaded", function(evt, context) { readjusRHCHeight(); }, true); w.addEventListener("abacus:readjusrhcheight", function(evt, context) { readjusRHCHeight(); }, true); //w.addEventListener('abacus:inlinecontentrender', function(customEvent) { // slotRender(customEvent); //}, true); } }); })(window, document); </script> <!-- AB Google Tag Manager (noscript) --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://web.archive.org/web/20240118193950/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T4GDCNK');</script> <!-- AB End Google Tag Manager (noscript) --> </head> <body id="story" class="M1-master js-disabled story-style-1 story-format-1018 story-type-1094 enhanced-advertising enhanced-advertising-rhc-empty"> <!-- AB Google Tag Manager original (noscript) --> <noscript><iframe src="https://web.archive.org/web/20240118193950if_/https://www.googletagmanager.com/ns.html?id=GTM-T4GDCNK" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- AB End Google Tag Manager (noscript) --> <!-- FG Google Tag Manager (noscript) --> <noscript><iframe src="https://web.archive.org/web/20240118193950if_/https://www.googletagmanager.com/ns.html?id=GTM-PQRKBK3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End FG Google Tag Manager (noscript) --> <!--[if lte IE 10]> <link rel="stylesheet" href="/CSS/dest/notsupported.css"> <div class="notSupported"> <div class="sleeve"> <span id="logo" class="vector-icon i-brand-logo i-brand-logo-dims"></span> <h2> Your browser is not supported </h2> <p> Sorry but it looks as if your browser is out of date. To get the best experience using our site we recommend that you upgrade or switch browsers. </p> <p class="buttonContainer"> <a class="button" href="https://www.google.co.uk/webhp?ion=1&espv=2&ie=UTF-8#q=update+my+browser" target="_blank">Find a solution</a> </p> </div> </div> <![endif]--> <script type="text/javascript">document.body.className = document.body.className.replace('js-disabled', ''); document.cookie = "_js=1; path=/";</script> <div id="wrapper"> <ul id="skiplinks"><li><a href="#wrapper_sleeve">Skip to main content</a></li><li><a href="#mainnav">Skip to navigation</a></li></ul> <header id="masthead" class="masthead"> <div class="htmlContent"> <div id="div-gpt-ad-249527336346462137-0-interstitials-oop3"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-249527336346462137-0-interstitials-oop3'); }); </script> </div> <div id="div-gpt-ad-249527336346462137-0-video-oop"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-249527336346462137-0-video-oop'); }); </script> </div> <div id="div-gpt-ad-249527336346462137-0-curtain-raiser-oop1"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-249527336346462137-0-curtain-raiser-oop1'); }); </script> </div> <div id="div-gpt-ad-249527336346462137-0-stayon-oop2"> <script type="text/javascript"> googletag.cmd.push(function() { googletag.display('div-gpt-ad-249527336346462137-0-stayon-oop2'); }); </script> </div> <!--wallpaper--> <div id="div-gpt-ad-1581079248444-0" class="wallpaper-ad" data-site-width-1024> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1581079248444-0'); }); </script> </div> <!---OKO Interstitial test for TNUK--> <script> googletag.cmd.push(function() { // Ensure the first call to display comes after static ad slot // divs are defined. googletag.display(staticSlot); }); </script> </div> <div class="hot-topics-container container showMenuPushed"><div class="inner-sleeve"><ul><li class="hot-topics-item"><svg id="hot-topics-icon" viewbox="0 0 15 15" xmlns="http://www.w3.org/2000/svg"><title>hot-topics</title><path d="M.31,7.44,7.56,14.7A1,1,0,0,0,9,14.7H9L14.7,9h0a1,1,0,0,0,0-1.45L7.44.31A1,1,0,0,0,6.79,0H1A.92.92,0,0,0,.27.27h0A.92.92,0,0,0,0,1V6.65a1,1,0,0,0,0,.14H0A1,1,0,0,0,.31,7.44ZM2.39,5.3a2.07,2.07,0,1,1,2.93,0A2.07,2.07,0,0,1,2.39,5.3Z" fill="#ababab"/></svg><span>Trending now</span></li><li class="first"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/airline-business-covid-19-recovery-tracker-january-2024-update/156492.article">Airline Business Covid-19 recovery tracker</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/reports/2024-world-air-forces-directory/156008.article">2024 World Air Forces directory</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business/podcast">Airline Business podcast</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/guide-to-business-aviation-training-and-safety-2023">Guide to Business Aviation Training and Safety 2023</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/programmes/last-of-the-jumbos-boeing-closes-chapter-with-final-747-delivery/151856.article">Final Boeing 747 delivery</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/aerospace/what-lies-in-store-for-the-aviation-industry-in-2023/151124.article">2023 Industry forecast</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/how-year-of-conflict-affected-world-air-forces-inventory/151113.article">2023 World Air Forces directory</a></li><li><a href="https://web.archive.org/web/20240118193950/https://account.flightglobal.com/register">Sustainable Aviation newsletter</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/nbaa-2022">NBAA 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/airline-business-covid-19-recovery-tracker-october-2022-update/150478.article">Covid-19 recovery tracker</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/farnborough-2022">Farnborough 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/iata-agm-2022">IATA AGM 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/shell-aviation-what-will-it-take-to-decarbonise-aviation">What will it take to Decarbonise Aviation?</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/farnborough-2022#live-blog-heading_1762">Order tracker</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/aix/95.tag">AIX 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/ebace-2022">EBACE 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/guide-to-business-aviation-training-and-safety-2022">Guide to Business Aviation Training and Safety 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/88.tag">Ukraine crisis</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/singapore-2022">Singapore Airshow 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/jobs/the-flightglobal-pilot-survey-2022/147230.article">The Pilot Survey 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/aerospace/what-awaits-the-aviation-sector-in-2022/146889.article">What does the future of aviation look like in 2022?</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/reports/world-air-forces-directory-2022/146695.article">World Air Forces directory 2022</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/shell-aviation-what-will-it-take-to-decarbonise-aviation">Shell Aviation: What will it take to Decarbonise Aviation?</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/dubai-2021">Dubai 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/edge-a-new-global-force-in-aerospace-and-defence">EDGE: A new global force in aerospace and defence</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/nbaa-2021">NBAA 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/world-airline-rankings-how-deeply-the-crisis-hit-the-industry-in-2020/145186.article">World Airline Rankings 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/iata-agm-2021">IATA AGM 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/top-100-aerospace-companies-ranked-by-revenue/145146.article">Top 100 aerospace companies</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/dsei-2021">DSEI 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/shows/maks-2021">MAKS 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/paid-content/defending-across-the-domains/143815.article">Defending across the domains</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flightglobal-guide-to-business-aviation-training-and-safety-2021">FlightGlobal Guide to Business Aviation Training and Safety 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airline-business-special-ceos-to-watch-in-2021">Airline Business special: CEOs to watch in 2021</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/737-max-two-years-on">737 Max: Two years on</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/women-in-aviation/66.tag">Women in Aviation</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/the-pilot-survey-2021-report">The Pilot Survey 2021 Report</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/helicopter-report">Helicopter Report</a></li><li class="last"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/">Sustainability at Paris</a></li></ul></div></div> <div class="mast container full" role="banner" data-multi-toggle-menu> <div class="inner-sleeve" data-menu-open-pushed> <div class="mastheadLogo"> <a href="/web/20240118193950/https://www.flightglobal.com/"> <span class="logoIcon"> <span class="assistive">Site name</span> </span> </a> </div> <div id="print_logo"> <img src="/web/20240118193950im_/https://www.flightglobal.com/magazine/dest/graphics/logo/print_logo.png" alt=""/> </div> <div class="mastheadMobileLogo"> <a href="/web/20240118193950/https://www.flightglobal.com/"> <span class="logoIcon"> <span class="assistive">Site name</span> </span> </a> </div> <div class="mastControls"> <nav data-multi-toggle-item="" class="mastNav loggedout hide"><span class="toggleIcon"><a href="#mastnav" data-toggle-button=""><span class="assistive">Mast navigation</span></a></span><ul id="mastnav" data-toggle-element=""><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/subscribe?campaigncode=fgsubusernav">Subscribe</a></li><li><a href="https://web.archive.org/web/20240118193950/https://account.flightglobal.com/register?campaigncode=fgregusernav&returl=https://www.flightglobal.com">Register</a></li><li><a href="https://web.archive.org/web/20240118193950/https://account.flightglobal.com/register?campaigncode=fgregusernav&returl=https://www.flightglobal.com">Newsletters</a></li><li><a class="popup signIn" href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/sign-in">Sign In</a></li></ul></nav> <div class="mastheadSearch hide" data-multi-toggle-item=""> <span class="toggleIcon"> <a href="#search" data-toggle-button=""> <span class="assistive">Search our site</span> </a> </span> <form action="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/searchresults" method="get" id="mastsearch" data-toggle-element=""> <fieldset> <div> <label for="search">Search our site</label> <input type="text" id="search" value="" name="qkeyword" class="text" placeholder="Search our site"/> <button class="mastSearch" type="submit">Search</button> </div> </fieldset> </form> </div> <div class="menuToggle"> <span class="toggleIcon"><a href="#mobilemenu" data-menu-toggle-button=""><span class="assistive">Menu</span></a></span> </div> </div> </div> </div> <div class="menuContainer"> <div class="mobileMenu" id="mobilemenu"> <div class="sleeve"> <a class="menuClose" href="#wrapper"> <span>Close<span class="assistive"> menu</span></span> </a> <ul class="main"> <li class="home-icon"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/"> <span>Home</span> </a> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news" aria-expanded="false"> <span>News</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news"> <span>News</span> </a> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace" aria-expanded="false"> <span>Aerospace</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace"> <span>Aerospace</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/mro"> <span>MRO</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/systems-and-interiors"> <span>Systems & Interiors</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/helicopters"> <span>Helicopters</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/space"> <span>Space</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/civil-uavs"> <span>Civil UAVs</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport" aria-expanded="false"> <span>Air transport</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport"> <span>Air transport</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/airframers"> <span>Airframers</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/engines"> <span>Engines</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/programmes"> <span>Programmes</span> </a> </li> <li class="break"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/orders-and-deliveries"> <span>Orders & Deliveries</span> </a> </li> </ul> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/safety"> <span>Safety</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/business-aviation"> <span>Business aviation</span> </a> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region" aria-expanded="false"> <span>Region</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region"> <span>Region</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/europe"> <span>Europe</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/africa"> <span>Africa</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/north-america"> <span>North America</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/latin-america"> <span>Latin America</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/asia-pacific"> <span>Asia Pacific</span> </a> </li> <li class="break"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/middle-east"> <span>Middle East</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business" aria-expanded="false"> <span>Airline Business</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business"> <span>Airline Business</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business/podcast"> <span>Podcast</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business/digital-issues-of-airline-business"> <span>Digital issues of Airline Business</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/airline-business-index-surges-towards-2019-baseline-as-travel-demand-returns/149972.article"> <span>Airline Business Index</span> </a> </li> </ul> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/analysis"> <span>Analysis</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/interviews"> <span>Interviews</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/opinion"> <span>Opinion</span> </a> </li> <li class="break"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/in-depth"> <span>In depth</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines" aria-expanded="false"> <span>Airlines</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines"> <span>Airlines</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/strategy"> <span>Strategy</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/networks"> <span>Networks</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/fleets"> <span>Fleets</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/airline-business-covid-19-recovery-tracker-august-2022-update/149787.article"> <span>Airline Covid-19 recovery tracker</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence" aria-expanded="false"> <span>Defence</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence"> <span>Defence</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence/helicopters"> <span>Helicopters</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence/fixed-wing"> <span>Fixed-Wing</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence/military-uavs"> <span>Military UAVs</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/reports/2024-world-air-forces-directory/156008.article"> <span>2024 World Air Forces directory</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international" aria-expanded="false"> <span>Flight International</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international"> <span>Flight International</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/subscribe" class="newWindow"> <span>Subscribe to Flight International</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/flight-international-opinion"> <span>Flight International Opinion</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/110-years-of-flight"> <span>110 years of Flight</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/airbus-at-50"> <span>Airbus at 50</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/honeywell-shaping-the-future"> <span>Honeywell: Shaping the Future</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/cae-skys-no-limit"> <span>CAE: Sky's no limit</span> </a> </li> </ul> </li> <li class="hasChildren "> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/events-and-webinars" aria-expanded="false"> <span>Events and webinars</span> </a> <ul aria-hidden="true" class="subMenu hide"> <li class="parentBack"> <a class="toolbar" href="#"> <span class="header">Back<span class="assistive"> to parent navigation item</span></span> <span class="btn backBtn"> <i></i> </span> </a> </li> <li class="parentNav"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/events-and-webinars"> <span>Events and webinars</span> </a> </li> <li class=""> <span>Upcoming events</span> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/events-and-webinars/upcoming-webinars"> <span>Upcoming webinars</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/events-and-webinars/on-demand-webinars"> <span>On demand webinars</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.a4eaviationsummit.eu/2023/en/page/home" class="newWindow"> <span>A4E Aviation Summit 2023</span> </a> </li> </ul> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://jobs.flightglobal.com/?utm_source=FlightGlobal&utm_medium=website&utm_campaign=navbar " class="newWindow"> <span>Jobs</span> </a> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/subscribe?campaigncode=fgsubmast" class="newWindow"> <span>Subscribe</span> </a> </li> </ul> </div> </div> <div class="mobileMenuClose"></div> <div id="mainnav" class="desktopNavigation container" data-menu-open-pushed=""><div class="dropdown vanityPanel"><div class="inner-sleeve"></div></div><div class="inner-sleeve"><ul class="main preJS"><li data-navcode="2" data-rootnavcode="2" class="home-icon"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/"><span>Home</span></a></li><li data-navcode="31" data-rootnavcode="31" class="hasChildren threeSubNav"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news"><span>News</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="43" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace"><span>Aerospace</span></a><ul><li data-navcode="82" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/mro"><span>MRO</span></a></li><li data-navcode="83" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/systems-and-interiors"><span>Systems & Interiors</span></a></li><li data-navcode="84" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/helicopters"><span>Helicopters</span></a></li><li data-navcode="85" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/space"><span>Space</span></a></li><li data-navcode="86" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/aerospace/civil-uavs"><span>Civil UAVs</span></a></li></ul></li><li data-navcode="46" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport"><span>Air transport</span></a><ul><li data-navcode="118" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/airframers"><span>Airframers</span></a></li><li data-navcode="119" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/engines"><span>Engines</span></a></li><li data-navcode="120" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/programmes"><span>Programmes</span></a></li><li data-navcode="121" data-rootnavcode="31" class="break"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/air-transport/orders-and-deliveries"><span>Orders & Deliveries</span></a></li></ul></li></ul></li><li class="subnav"><ul><li data-navcode="47" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/safety"><span>Safety</span></a></li><li data-navcode="114" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/business-aviation"><span>Business aviation</span></a></li><li data-navcode="69" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region"><span>Region</span></a><ul><li data-navcode="70" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/europe"><span>Europe</span></a></li><li data-navcode="71" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/africa"><span>Africa</span></a></li><li data-navcode="72" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/north-america"><span>North America</span></a></li><li data-navcode="73" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/latin-america"><span>Latin America</span></a></li><li data-navcode="74" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/asia-pacific"><span>Asia Pacific</span></a></li><li data-navcode="75" data-rootnavcode="31" class="break"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/region/middle-east"><span>Middle East</span></a></li></ul></li></ul></li><li class="subnav"><ul><li data-navcode="35" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business"><span>Airline Business</span></a><ul><li data-navcode="127" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business/podcast"><span>Podcast</span></a></li><li data-navcode="222" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/airline-business/digital-issues-of-airline-business"><span>Digital issues of Airline Business</span></a></li><li data-navcode="332" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/airline-business-index-surges-towards-2019-baseline-as-travel-demand-returns/149972.article"><span>Airline Business Index</span></a></li></ul></li><li data-navcode="100" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/analysis"><span>Analysis</span></a></li><li data-navcode="102" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/interviews"><span>Interviews</span></a></li><li data-navcode="98" data-rootnavcode="31" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/opinion"><span>Opinion</span></a></li><li data-navcode="101" data-rootnavcode="31" class="break"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/in-depth"><span>In depth</span></a></li></ul></li></ul></div></div></li><li data-navcode="44" data-rootnavcode="44" class="current hasChildren oneSubNav"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines"><span>Airlines</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="79" data-rootnavcode="44" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/strategy"><span>Strategy</span></a></li><li data-navcode="233" data-rootnavcode="44" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/networks"><span>Networks</span></a></li><li data-navcode="132" data-rootnavcode="44" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/fleets"><span>Fleets</span></a></li><li data-navcode="321" data-rootnavcode="44" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/airline-business-covid-19-recovery-tracker-august-2022-update/149787.article"><span>Airline Covid-19 recovery tracker</span></a></li></ul></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/airlines/regulatory-issues-prompt-air-france-klm-and-cma-cgm-to-scrap-cargo-pact-and-seek-fresh-co-operation/156498.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/4/4/0/99440_klmcargoonboardapril2020_695297.jpg" loading="lazy" class="lazyloaded" alt="KLM Cargo onboard April 2020"></div><div class="captionBlock"><span class="title">Regulatory issues prompt Air France-KLM and CMA CGM to scrap cargo pact and seek fresh co-operation</span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/airlines/vietnam-dpm-calls-on-government-lenders-to-help-bamboo-airways/156304.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/1/2/6/99126_bambooairwayse175_650070.jpg" loading="lazy" class="lazyloaded" alt="Bamboo Airways E190"></div><div class="captionBlock"><span class="title">Vietnam DPM calls on government, lenders to help Bamboo Airways</span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/airlines/bulk-aircraft-orders-continue-as-airlines-stock-up-for-future-growth/156282.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/0/7/7/99077_airlinebusinessweeklybriefinglogoweb2_889218.jpg" loading="lazy" class="lazyloaded" alt="Airline Business Weekly Briefing Logo WEB2"></div><div class="captionBlock"><span class="title">Bulk aircraft orders continue as airlines stock up for future growth</span></div></a></li></ul></div></div></li><li data-navcode="45" data-rootnavcode="45" class="hasChildren oneSubNav"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence"><span>Defence</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="116" data-rootnavcode="45" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence/helicopters"><span>Helicopters</span></a></li><li data-navcode="115" data-rootnavcode="45" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence/fixed-wing"><span>Fixed-Wing</span></a></li><li data-navcode="117" data-rootnavcode="45" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/defence/military-uavs"><span>Military UAVs</span></a></li><li data-navcode="315" data-rootnavcode="45" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/reports/2024-world-air-forces-directory/156008.article"><span>2024 World Air Forces directory</span></a></li></ul></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/fixed-wing/b-21-completes-second-test-flight/156544.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/5/1/7/99517_b21side_865854.jpg" loading="lazy" class="lazyloaded" alt="B-21 side"></div><div class="captionBlock"><span class="title">B-21 completes second test flight</span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/fixed-wing/lockheed-completes-assembly-of-1000th-f-35/156540.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/5/0/9/99509_f35factory_93351.jpg" loading="lazy" class="lazyloaded" alt="F-35 factory"></div><div class="captionBlock"><span class="title">Lockheed completes assembly of 1000th F-35</span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/helicopters/bell-secures-16bn-contract-for-canadian-ch-146-sustainment/156527.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/4/8/6/99486_canadach146_513990.jpg" loading="lazy" class="lazyloaded" alt="Canada CH-146"></div><div class="captionBlock"><span class="title">Bell secures $1.6bn contract for Canadian CH-146 sustainment</span></div></a></li></ul></div></div></li><li data-navcode="245" data-rootnavcode="245" class="hasChildren oneSubNav"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international"><span>Flight International</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="67" data-rootnavcode="245" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/subscribe" class="newWindow"><span>Subscribe to Flight International</span></a></li><li data-navcode="153" data-rootnavcode="245" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/flight-international-opinion"><span>Flight International Opinion</span></a></li><li data-navcode="113" data-rootnavcode="245" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/110-years-of-flight"><span>110 years of Flight</span></a></li><li data-navcode="140" data-rootnavcode="245" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/airbus-at-50"><span>Airbus at 50</span></a></li><li data-navcode="148" data-rootnavcode="245" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/honeywell-shaping-the-future"><span>Honeywell: Shaping the Future</span></a></li><li data-navcode="159" data-rootnavcode="245" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/flight-international/cae-skys-no-limit"><span>CAE: Sky's no limit</span></a></li></ul></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/defence/why-lockheed-martins-f-16-remains-a-prize-fighter-50-years-after-flight-debut/156291.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/0/6/1/99061_yf16debutclockheedmartin_800216_crop.jpg" loading="lazy" class="lazyloaded" alt="YF-16 official debut"></div><div class="captionBlock"><span class="title">Why Lockheed Martin’s F-16 remains a prize fighter 50 years after flight debut</span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/aerospace/aviation-industry-rallies-behind-saf-in-decarbonisation-push/156271.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/9/9/6/98996_saftruckcairbp_48575.jpg" loading="lazy" class="lazyloaded" alt="Air bp SAF truck"></div><div class="captionBlock"><span class="title">Aviation industry rallies behind SAF in decarbonisation push</span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/flight-international/how-american-airlines-rachael-mcmahon-thrives-as-an-unseen-crewmember/156054.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/6/4/0/98640_rachael_mcmahoncamericanairlines_78122_crop.jpg" loading="lazy" class="lazyloaded" alt="Rachael McMahon"></div><div class="captionBlock"><span class="title">How American Airlines’ Rachael McMahon thrives as an unseen crewmember</span></div></a></li></ul></div></div></li><li data-navcode="110" data-rootnavcode="110" class="hasChildren oneSubNav"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/events-and-webinars"><span>Events and webinars</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="50" data-rootnavcode="110" class=""><span>Upcoming events</span></li><li data-navcode="162" data-rootnavcode="110" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/events-and-webinars/upcoming-webinars"><span>Upcoming webinars</span></a></li><li data-navcode="164" data-rootnavcode="110" class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/events-and-webinars/on-demand-webinars"><span>On demand webinars</span></a></li><li data-navcode="96" data-rootnavcode="110" class=""><a href="https://web.archive.org/web/20240118193950/https://www.a4eaviationsummit.eu/2023/en/page/home" class="newWindow"><span>A4E Aviation Summit 2023</span></a></li></ul></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/on-demand-webinars/is-saf-up-to-the-sustainability-challenge/155988.article" class="image layoutIcon videoLayout"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/5/3/1/98531_fi2023038_disruptivetech_v1_webinar_banners1376x928px_302820.jpg" loading="lazy" class="lazyloaded" alt="Fi2023-038_Disruptivetech_v1_webinar_banners1376x928px"></div><div class="captionBlock"><span class="title">Is SAF up to the sustainability challenge?</span><span class="author">Exclusive partner <span class="noLink">Pratt & Whitney</span></span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/on-demand-webinars/business-aviation-rising-to-the-sustainability-challenge/155003.article" class="image layoutIcon videoLayout"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/9/2/1/96921_fi2023038_disruptivetech_v1_webinar_banners1376x928px_302820.jpg" loading="lazy" class="lazyloaded" alt="Fi2023-038_Disruptivetech_v1_webinar_banners1376x928px"></div><div class="captionBlock"><span class="title">Business Aviation rising to the sustainability challenge</span><span class="author">Exclusive partner <span class="noLink">Pratt & Whitney</span></span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/on-demand-webinars/place-your-bets-on-the-disruptive-technologies-for-advanced-air-mobility/153137.article" class="image layoutIcon videoLayout"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/0/3/5/94035_fi2023038_disruptivetech_v1_webinar_banners1376x928px_302820.jpg" loading="lazy" class="lazyloaded" alt="Fi2023-038_Disruptivetech_v1_webinar_banners1376x928px"></div><div class="captionBlock"><span class="title">Place your bets on the Disruptive Technologies for Advanced Air Mobility</span><span class="author">Exclusive partner <span class="noLink">Pratt & Whitney</span></span></div></a></li></ul></div></div></li><li data-navcode="130" data-rootnavcode="130" class="hasChildren"><a href="https://web.archive.org/web/20240118193950/https://jobs.flightglobal.com/?utm_source=FlightGlobal&utm_medium=website&utm_campaign=navbar " class="newWindow"><span>Jobs</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/reports/the-flightglobal-pilot-survey-2023/151572.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/5/6/2/91562_genericpilotscreditskycolorsshutterstock_711278.jpg" loading="lazy" class="lazyloaded" alt="Generic pilots credit Skycolors Shutterstock"></div><div class="captionBlock"><span class="title">The FlightGlobal Pilot Survey 2023</span><span class="author">In association with <span class="noLink">GOOSE Recruitment</span></span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/jobs/the-flightglobal-pilot-survey-2022/147230.article" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/5/8/9/84589_genericpilotscreditskycolorsshutterstock_25292.jpg" loading="lazy" class="lazyloaded" alt="Generic pilots credit Skycolors Shutterstock"></div><div class="captionBlock"><span class="title">The FlightGlobal Pilot Survey 2022</span><span class="author">In association with <span class="noLink">GOOSE Recruitment</span></span></div></a></li><li class="promotedStory"><a href="/web/20240118193950/https://www.flightglobal.com/the-pilot-survey-2021-report" class="image"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/5/0/7/76507_thepilotsurvey2021_cover_631359.jpg" loading="lazy" class="lazyloaded" alt="The Pilot Survey 2021_cover"></div><div class="captionBlock"><span class="title">The Pilot Survey 2021 Report</span><span class="author">In association with <span class="noLink">GOOSE Recruitment</span></span></div></a></li><li class="promotedStory"><a class="image" href="https://web.archive.org/web/20240118193950/https://jobs.flightglobal.com/careers/?utm_source=FlightGlobal&utm_medium=website&utm_campaign=navbarboxcareers" data-story="136321"><div class="image"><img src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/274x183/6/6/2/67662_thelatestaviationcareersnewsnew_121564.png" loading="lazy" class="lazyloaded" alt="The latest aviation careers news - NEW"></div><div class="captionBlock"><span class="title">The latest careers advice & news</span></div></a></li></ul></div></div></li><li data-navcode="229" data-rootnavcode="229"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/subscribe?campaigncode=fgsubmast" class="newWindow"><span>Subscribe</span></a></li><li class="more hide"><a href="#mobilemenu" data-menu-toggle-button="" aria-expanded="false"><span> More from<span class="assistive"> navigation items</span></span></a></li></ul></div></div><div class="desktopNavigationSpace"></div> </div> </header> <div class="adwrap_leader ad showMenuPushed"> <div class="" data-a-menu-open-pushed="true"> <div id="div-gpt-ad-8826768-Topbanner-ad-1"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-8826768-Topbanner-ad-1'); }); </script> </div> </div></div> <!--style="position: relative; margin-top: 30px; margin-bottom: 30px;"--> <div id="wrapper_sleeve" data-menu-open-pushed> <div class="storyLayout standard"></div> <div class="headerWrapper"> <div class="container titleByline"> <div class="inner-sleeve"> <div class="storyPrimaryNav"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines">Airlines</a></div> <div class="story_title"> <h1>United Airlines’ customer chief on ‘day of travel’ power of the airline app</h1> </div> <p class="byline meta"> <span class="author">By <a href="/web/20240118193950/https://www.flightglobal.com/graham-dunn/20.bio" rel="author">Graham Dunn</a></span>, Lisbon<span class="date" data-date-timezone="{"publishdate": "2023-11-10T15:57:00","format": "D MMMM YYYY"}">2023-11-10T15:57:00+00:00</span></p> </div> </div> </div> <div id="columns" class="container"> <div id="colwrapper" class="inner-sleeve"> <div id="colmain" role="main" class="restrictedcontent"> <div id="content"> <div id="content_sleeve"> <div class="contentWrapper"> <div class="storyContentWrapper"> <div class="pageOptions"> <ul> <!--<li> <a data-facebook-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="facebook" title="Share this on Facebook"></a> </li> <li> <a data-twitter-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="twitter" title="Share this on Twitter"></a> </li> <li> <a data-linkedin-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="linkedin" title="Share this on Linked in"></a> </li> <li> <a data-whatsapp-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="whatsapp" title="Share this on Whatsapp"></a> </li> --> <!--facebook--> <li> <a href="https://web.archive.org/web/20240118193950/https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fwww.flightglobal.com%2fairlines%2funited-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app%2f155625.article&e=United+Airlines%e2%80%99+customer+chief+on+%e2%80%98day+of+travel%e2%80%99+power+of+the+airline+app" class="facebook" title="Share this on Facebook" target="_blank"></a> </li> <!-- twitter--> <li> <a href="https://web.archive.org/web/20240118193950/https://twitter.com/intent/tweet?text=United+Airlines%e2%80%99+customer+chief+on+%e2%80%98day+of+travel%e2%80%99+power+of+the+airline+app&url=https%3a%2f%2fwww.flightglobal.com%2fairlines%2funited-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app%2f155625.article" class="twitter" title="Share this on Twitter" target="_blank"></a> </li> <!--linked in--> <li> <a href="https://web.archive.org/web/20240118193950/https://www.linkedin.com/cws/share?url=https%3a%2f%2fwww.flightglobal.com%2fairlines%2funited-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app%2f155625.article" class="linkedin" title="Share this on Linked in" target="_blank"></a> </li> <li><a href="https://web.archive.org/web/20240118193950/mailto:/?subject=United Airlines%E2%80%99 customer chief on %E2%80%98day of travel%E2%80%99 power of the airline app&body=https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article" class="email" title="Email this article"></a></li> </ul> <ul class="pageOptions_right"> <li class=" last" aria-live="polite" data-cache-bust="true" data-ajax-load-content="" data-url="/155625/bookmark"> </li> </ul> </div> <div class="articleWrapper"> <div class="articleContent"> <div class="storytext"><p>While <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/united-airlines/15790.subject" rel="intextlink_0">United Airlines</a>' customers are able to engage across a range of platforms and timeframes, for the carrier's chief customer officer Linda Jojo many of the advances with airline apps centre around their ability to support ‘day of travel’ functionality.</p> <p>Airline apps have become an increasingly prominent tool in helping passengers through airports, a development further accelerated by greater deployment of self-service functionality through the pandemic. </p> <div class="inline_image image_size_full" data-attachment="97923" data-sequence="1"> <p class="picture"><img alt="United Airlines Linda Jojo" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/480xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/480xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg 480w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/600xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg 600w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/780xany/9/2/3/97923_unitedairlineslindajojo_793813.jpg 780w" loading="eager" class="lazyloaded" width="3028" height="1703"></p> <div class="inline_meta"><p class="inline_source"><cite>Source: United Airlines</cite></p><p class="inline_caption">Linda Jojo, chief customer officer, United Airlines</p></div></div> <p>However, while app functionality is most evident in supporting day-of-travel functions like check-in, Jojo notes that for airlines it must address point of sale as well.</p> <p>"Airlines are one of those unique places where you have to do both,” Jojo told FlightGlobal during an interview at the World Aviation Festival in Lisbon in late September. </p> <p>"When we first built the website, it was really about searching for and buying a ticket. And when we first built the app, it was about checking into your flight and day of travel.</p> <p>"What we have realised is those lines are blurring, and we really want customers to be able to do everything, everywhere," she says. "[So] we are really thinking about how the customer can do everything in the end, from researching and booking their flight, through getting ready for their trip, checking in. But the real power comes on day of travel."</p> <p>On the latter, Jojo says the airline has been working to ensure the app mirrors what a passenger sees while navigating their way through the airport. "So we use the same icons and colours on the signs at the airport as we do on the phone," she says.</p> <p>Many airlines have found apps a particularly powerful tool for resolving issues for passegners when travel plans are disrupted, without requiring staff intervention. United in June rolled out a self-service tool within its app to automatically provide rebooking options, bag tracking information, as well as meal and hotel vouchers where necessary.</p> <p>"We are not all the way there yet, but it’s way over 85-90% of the things you can do in the app of all that you can do. So we are constantly looking at why people call our contact centre and say ‘why can’t they do that in the app’.”</p> <p>She notes that a natural advantage of the app over call centres is that the basic information is already there. “So we can personalise it a lot more, instead of a customer service agent asking 'what’s your name, where are you going?' On your app we already know,” she says.</p> <h3>PERSONALISING THE TRAVEL EXPERIENCE</h3> <p>"Technology allows you to do that, because once you log in to your app on the phone, we now know how you have interacted with us in the past, how much you use the app. So the more that happens, the more we know what your expectations are.”</p> <div class="inline_image image_size_full" data-attachment="98073" data-sequence="2"> <p class="picture"><img alt="United Airlines App Feature - iPhone" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/480xany/0/7/3/98073_unitedairlinesappfeatureiphone_641112.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/480xany/0/7/3/98073_unitedairlinesappfeatureiphone_641112.jpg 480w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/600xany/0/7/3/98073_unitedairlinesappfeatureiphone_641112.jpg 600w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/780xany/0/7/3/98073_unitedairlinesappfeatureiphone_641112.jpg 780w" loading="lazy" class="lazyloaded" width="4049" height="2700"></p> <div class="inline_meta"><p class="inline_source"><cite>Source: United Airlines</cite></p><p class="inline_caption">United this summer rolled out a new rebooking, bag tracking and voucher availability functionality to its app to help passengers to resolve themselves disrupted travel plans </p></div></div> <p>That personalisation is key given the different preferences and interactions of passengers.</p> <p>"You don’t want to think of our customers or society as one homogeneous group,” Jojo says. ”There are some customers that are maybe still concerned about privacy with their personal data… and really don’t want to give us any more than they are required.</p> <p>"But there are other customers, who tend to be a different generation to that group, that expect that we know everything about you and expect that we are looking at how you travelled with us last time and want you to make it a better experience as a result.”</p> <p>Meeting customer expectations across multiple smartphone platforms provides a further challenges for airlines. Jojo cites the example of Apple’s Live Activities functionality, which is embedded in the iPhone’s operating system and provides travel information – such as gate or boarding time details – within 3h or travel.</p> <blockquote> <p>We really want customers to be able to do everything, everywhere</p> </blockquote> <p>"It’s really simple, you don’t have to open the app or unlock your phone. And the customer response has been incredible,” says Jojo. ”This started as something we heard Apple was developing, and it's now hugely successful.</p> <p>"But for customers with Android phones, they want it. So we are trying to figure out how we can build this idea into our app that works with Android phones so that all our customers can enjoy it and that’s kind of how we evolve. Were customers asking for this? No. But once you’ve had it, how did we not have this forever.”</p> <p>A further challenge comes from customers that are not regular or exclusive United customers. "That’s one of the biggest things that we want to do, is how do we get all of our customers understanding what they can do in the app on the day of the travel, because there is so much more [they can do]," she says.</p></div><div id="storytext-end" class="storytext-end"></div> </div> </div> <div class="htmlContent"> </div> </div> <div class="topics"><div class="sleeve"><span class="topicsLabel"></span><h2>Topics</h2><ul class="topicsList"><li><a href="/web/20240118193950/https://www.flightglobal.com/airlines/239105.subject">Airlines</a></li><li><a href="/web/20240118193950/https://www.flightglobal.com/north-america/163146.subject">North America</a></li><li><a href="/web/20240118193950/https://www.flightglobal.com/strategy/12165.subject">Strategy</a></li><li><a href="/web/20240118193950/https://www.flightglobal.com/united-airlines/15790.subject">United Airlines</a></li></ul></div></div> <div class="pageOptions"> <ul> <!--<li> <a data-facebook-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="facebook" title="Share this on Facebook"></a> </li> <li> <a data-twitter-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="twitter" title="Share this on Twitter"></a> </li> <li> <a data-linkedin-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="linkedin" title="Share this on Linked in"></a> </li> <li> <a data-whatsapp-share="true" data-share-url='https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article' data-share-title="United Airlines’ customer chief on ‘day of travel’ power of the airline app" href="javascript:void(0)" class="whatsapp" title="Share this on Whatsapp"></a> </li> --> <!--facebook--> <li> <a href="https://web.archive.org/web/20240118193950/https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fwww.flightglobal.com%2fairlines%2funited-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app%2f155625.article&e=United+Airlines%e2%80%99+customer+chief+on+%e2%80%98day+of+travel%e2%80%99+power+of+the+airline+app" class="facebook" title="Share this on Facebook" target="_blank"></a> </li> <!-- twitter--> <li> <a href="https://web.archive.org/web/20240118193950/https://twitter.com/intent/tweet?text=United+Airlines%e2%80%99+customer+chief+on+%e2%80%98day+of+travel%e2%80%99+power+of+the+airline+app&url=https%3a%2f%2fwww.flightglobal.com%2fairlines%2funited-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app%2f155625.article" class="twitter" title="Share this on Twitter" target="_blank"></a> </li> <!--linked in--> <li> <a href="https://web.archive.org/web/20240118193950/https://www.linkedin.com/cws/share?url=https%3a%2f%2fwww.flightglobal.com%2fairlines%2funited-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app%2f155625.article" class="linkedin" title="Share this on Linked in" target="_blank"></a> </li> <li><a href="https://web.archive.org/web/20240118193950/mailto:/?subject=United Airlines%E2%80%99 customer chief on %E2%80%98day of travel%E2%80%99 power of the airline app&body=https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article" class="email" title="Email this article"></a></li> </ul> <ul class="pageOptions_right"> <li class=" last" aria-live="polite" data-cache-bust="true" data-ajax-load-content="" data-url="/155625/bookmark"> </li> </ul> </div> </div> </div> </div> </div> <div id="rightcolumn" class="fixedrightcolumn rightcolumn restrictedcontent"> <div id="rightcolumn_sleeve"> <!-- BELOW NOT SUPPORT Instructions for implementation depending on right or bottom. If this in the bottom position then we might need to wrap the code with ` <div class="container"> <div class="inner-sleeve"> // taxanomy-list to go here </div> </div> ` --> <div data-mpu1-reflow></div> <div id="rhcreflow-tabletlandscape"></div> <div id="rhcreflow-desktop" class="rhc-mostpopular-desktop"> </div> <div id="rhcreflow-extra"></div> <div id="rhcreflow-extra-end" class="rhcreflow-extra-end"></div> <!-- Marketplace Recommendations SRCE--> <script type="text/javascript" src="https://web.archive.org/web/20240118193950js_/https://hb.volantisdigital.com/nativead/nativead.min.js" id="vd_native_ad"></script> </div> </div> </div> </div> <div class="container bottomAdContainer restrictedcontent"> <div class="inner-sleeve"> <div class="bottomAd"> <div id="dynamic-content"></div> <script> var LoggedIn = getDataLayerVal('LoggedIn') == 'True' ? true : false; if(!LoggedIn) { $.get('https://web.archive.org/web/20240118193950/https://www.flightglobal.com/Uploads/i/g/m/advertstorybottom_anonuser_859404.html', function(data) { $("#dynamic-content").html(data); }) } var notSignedIn = getDataLayerVal('prodid') == undefined ? true : false ; if(!LoggedIn){ console.log("i am not signed in"); } if(notSignedIn && LoggedIn){ $.get('https://web.archive.org/web/20240118193950/https://www.flightglobal.com/Uploads/i/g/m/advertstorybottom_registereduser_841211.html', function(data) { $("#dynamic-content").html(data); }) } if(!notSignedIn){ var splitthis = getDataLayerVal('prodid').split('|'); var premium = splitthis.filter(function(number) { return number == '24'; }); if(premium.length == 0){ $.get('https://web.archive.org/web/20240118193950/https://www.flightglobal.com/Uploads/i/g/m/advertstorybottom_registereduser_841211.html', function(data) { $("#dynamic-content").html(data); }) } } // if user login = true - then check if they are NOT subscriber - i.e. activeProductID doe NOT contaion |24| // show premiumn HTML code from media library </script> </div> </div> </div> <div class="container relatedVideos restrictedcontent"> <div class="inner-sleeve"> <div id="videosreflow-tabletportrait"></div> <div id="videosreflow-mobile"></div> </div> </div> <div class="container relatedArticles" id="relatedArticles"> <div class="inner-sleeve"> <div class="extras relatedarticles restrictedcontent"> <div class="relatedarticles_sleeve"> <div class="extras_heading"> <h3>Related articles</h3> </div> <div class="extrasStory listBlocks"> <div class="contentWrapper loadMoreItems" data-load-more-ajax=""> <ul data-load-more-context=""> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/safety/ethiopian-dash-8-400-suffers-apparent-gear-collapse-during-mekele-excursion/156545.article" class="image"> <img alt="Ethiopian Dash 8-c-Bombardier" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/5/1/8/99518_ethiopiandash8cbombardier_796017.jpg" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/5/1/8/99518_ethiopiandash8cbombardier_796017.jpg 100w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/172x115/5/1/8/99518_ethiopiandash8cbombardier_796017.jpg 172w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/220x148/5/1/8/99518_ethiopiandash8cbombardier_796017.jpg 220w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/280x188/5/1/8/99518_ethiopiandash8cbombardier_796017.jpg 280w" width="100" height="67" class="lazyloaded"/> </a> <div class="storyDetails"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/1013.type" class="storyType">News</a> <h3> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/safety/ethiopian-dash-8-400-suffers-apparent-gear-collapse-during-mekele-excursion/156545.article">Ethiopian Dash 8-400 suffers apparent gear collapse during Mekele excursion</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{"publishdate": "2024-01-18T19:15:00Z","format": "D MMMM YYYY HH:mm"}">2024-01-18T19:15:00Z</span> <span class="author">By <span class="noLink">David Kaminski-Morrow</span></span> </p> <p>One of Ethiopian Airlines’ De Havilland Dash 8-400s appeared to have suffered a landing-gear collapse during a runway excursion, following a domestic flight.</p> </div> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/fixed-wing/b-21-completes-second-test-flight/156544.article" class="image"> <img alt="B-21 side" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/5/1/7/99517_b21side_865854.jpg" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/5/1/7/99517_b21side_865854.jpg 100w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/172x115/5/1/7/99517_b21side_865854.jpg 172w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/220x148/5/1/7/99517_b21side_865854.jpg 220w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/280x188/5/1/7/99517_b21side_865854.jpg 280w" width="100" height="67" class="lazyloaded"/> </a> <div class="storyDetails"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/1013.type" class="storyType">News</a> <h3> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/fixed-wing/b-21-completes-second-test-flight/156544.article">B-21 completes second test flight</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{"publishdate": "2024-01-18T19:12:00Z","format": "D MMMM YYYY HH:mm"}">2024-01-18T19:12:00Z</span> <span class="author">By <a rel="author" href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/ryan-finnerty/1104.bio">Ryan Finnerty</a></span> </p> <p>The next-generation US Air Force stealth bomber being developed by Northrop Grumman made its first flight in November from a test centre in Palmdale, California.</p> </div> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/networks/frontier-to-bolster-puerto-rican-presence-with-planned-crew-base-in-san-juan/156529.article" class="image"> <img alt="201909-frontier-woodson-1318" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/4/9/1/99491_201909frontierwoodson1318_491484.jpg" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/4/9/1/99491_201909frontierwoodson1318_491484.jpg 100w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/172x115/4/9/1/99491_201909frontierwoodson1318_491484.jpg 172w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/220x148/4/9/1/99491_201909frontierwoodson1318_491484.jpg 220w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/280x188/4/9/1/99491_201909frontierwoodson1318_491484.jpg 280w" width="100" height="67" class="lazyloaded"/> </a> <div class="storyDetails"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/1013.type" class="storyType">News</a> <h3> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/networks/frontier-to-bolster-puerto-rican-presence-with-planned-crew-base-in-san-juan/156529.article">Frontier to bolster Puerto Rican presence with planned crew base in San Juan</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{"publishdate": "2024-01-18T19:08:00Z","format": "D MMMM YYYY HH:mm"}">2024-01-18T19:08:00Z</span> </p> <p>Frontier Airlines is planning to open a crew base at Luis Munoz Marin International airport in San Juan, Puerto Rico starting this Northern Hemisphere summer. </p> </div> </li> </ul> <div class="loadMoreButtonWrapper" data-load-more-button-wrapper=""> <button type="button" class="button" data-load-more-button="" data-items-offset="3" data-ajax-url="https://www.flightglobal.com/155625/loadmore?code=ARTICLES" data-items-to-load="8" data-loading-more-text="Loading more articles"> Load more articles </button> </div> </div> </div> <div class="fixedrightcolumn rightcolumn"> <!-- Marketplace Recommendations --> <!--<div class="ad"> <div id='div-gpt-ad-7135676-1'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-7135676-1'); }); </script> </div> </div>--> <!-- Marketplace Recommendations --> <!--sidebar2 Ad--> <!-- /13644946/FlightGlobal/sidebar2 --> <!--<div class="adwrap_MPU"><div class="ad"> <div id='div-gpt-ad-1615375849628-0'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1615375849628-0'); }); </script> </div> </div></div>--> <!-- End AdSlot 2 --> </div> </div> </div> </div> </div> <div class="container commentContainer restrictedcontent"> <div class="inner-sleeve"> <div class=" extras"> <div class="extrasStory"> <div class="contentWrapper"></div> </div></div> </div> </div> <div class="container relatedArticles" id="moreArticles"> <div class="inner-sleeve"> <div class="extras relatedarticles restrictedcontent"> <div class="relatedarticles_sleeve"> <div class="extras_heading"> <h3>More from Airlines</h3> </div> <div class="extrasStory listBlocks"> <div class="contentWrapper loadMoreItems" data-load-more-ajax=""> <ul data-load-more-context=""> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/what-next-for-jetblue-and-spirit-after-collapse-of-deal/156537.article" class="image"> <img alt="Airline Business Weekly Briefing Logo WEB2" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/5/0/4/99504_airlinebusinessweeklybriefinglogoweb2_889218.jpg" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/5/0/4/99504_airlinebusinessweeklybriefinglogoweb2_889218.jpg 100w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/172x115/5/0/4/99504_airlinebusinessweeklybriefinglogoweb2_889218.jpg 172w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/220x148/5/0/4/99504_airlinebusinessweeklybriefinglogoweb2_889218.jpg 220w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/280x188/5/0/4/99504_airlinebusinessweeklybriefinglogoweb2_889218.jpg 280w" width="100" height="67" class="lazyloaded"/> </a> <div class="storyDetails"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/newsletter/1028.type" class="storyType">Newsletter</a> <h3> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/what-next-for-jetblue-and-spirit-after-collapse-of-deal/156537.article">What next for JetBlue and Spirit after collapse of deal?</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{"publishdate": "2024-01-18T16:15:00Z","format": "D MMMM YYYY HH:mm"}">2024-01-18T16:15:00Z</span> <span class="author">By <a rel="author" href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/lewis-harper/415.bio">Lewis Harper</a></span> </p> <p>Whatever comes next, the court’s assertion that the ruling represents a “victory for consumers” will be tested</p> </div> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/akasa-air-orders-150-737-max-jets/156532.article" class="image"> <img alt="Akasa Air Boeing 737-8-200" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/4/9/6/99496_akasaairboeing7378200_710941.jpg" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/4/9/6/99496_akasaairboeing7378200_710941.jpg 100w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/172x115/4/9/6/99496_akasaairboeing7378200_710941.jpg 172w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/220x148/4/9/6/99496_akasaairboeing7378200_710941.jpg 220w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/280x188/4/9/6/99496_akasaairboeing7378200_710941.jpg 280w" width="100" height="67" class="lazyloaded"/> </a> <div class="storyDetails"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/1013.type" class="storyType">News</a> <h3> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/akasa-air-orders-150-737-max-jets/156532.article">Akasa Air orders 150 737 Max jets</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{"publishdate": "2024-01-18T07:18:00Z","format": "D MMMM YYYY HH:mm"}">2024-01-18T07:18:00Z</span> <span class="author">By <a rel="author" href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/alfred-chua/443.bio">Alfred Chua</a></span> </p> <p>Indian carrier Akasa Air has ordered 150 Boeing 737 Max aircraft, landing Boeing its first major commitment for the type weeks after a door plug blow-out accident.</p> </div> </li> <li class=""> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/virgin-australia-taps-regional-operator-link-airways-in-network-boost/156531.article" class="image"> <img alt="FC_Link Airways_Saab 340B Plus_2" loading="lazy" sizes="(max-width:767px) 100px, (max-width: 1179px) 220px, 280px" src="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/4/9/3/99493_fc_linkairways_saab340bplus_2_831067.jpeg" srcset="https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/100x67/4/9/3/99493_fc_linkairways_saab340bplus_2_831067.jpeg 100w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/172x115/4/9/3/99493_fc_linkairways_saab340bplus_2_831067.jpeg 172w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/220x148/4/9/3/99493_fc_linkairways_saab340bplus_2_831067.jpeg 220w, https://web.archive.org/web/20240118193950im_/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/280x188/4/9/3/99493_fc_linkairways_saab340bplus_2_831067.jpeg 280w" width="100" height="67" class="lazyloaded"/> </a> <div class="storyDetails"> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/news/1013.type" class="storyType">News</a> <h3> <a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/virgin-australia-taps-regional-operator-link-airways-in-network-boost/156531.article">Virgin Australia taps regional operator Link Airways in network boost</a> </h3> <p class="meta"> <span class="date" data-date-timezone="{"publishdate": "2024-01-18T02:53:00Z","format": "D MMMM YYYY HH:mm"}">2024-01-18T02:53:00Z</span> <span class="author">By <a rel="author" href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/alfred-chua/443.bio">Alfred Chua</a></span> </p> <p>Virgin Australia has inked a new codeshare partnership with regional operator Link Airways, in a move that will see its regional network significantly grow. </p> </div> </li> </ul> <div class="loadMoreButtonWrapper" data-load-more-button-wrapper=""> <button type="button" class="button" data-load-more-button="" data-items-offset="3" data-ajax-url="https://www.flightglobal.com/155625/loadmore?code=MORE" data-items-to-load="8" data-loading-more-text="Loading more articles"> Load more articles </button> </div> </div> </div> <div class="fixedrightcolumn rightcolumn"> <!-- /13644946/FlightGlobal/sidebar3 --> <div class="ad"> <div id="div-gpt-ad-1669201998136-0" style="min-width: 160px; min-height: 250px;"> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1669201998136-0'); }); </script> </div></div> </div> </div> </div> </div> </div> <div class="container"><div class="inner-sleeve"><div id="rhcreflow-tabletportrait"></div><div id="rhcreflow-mobile"></div></div></div><div id="mobile-drop-zone"></div> <div class="container storyBottomMostPopularContainer"> <div class="inner-sleeve"> <div class="extrasStory"> <div class="contentWrapper"> <div class="tab-widget-10" data-ajax-load-content="" data-url="/web/20240118193950oe_/https://www.flightglobal.com/ajax/most?bottom=1&storypage=1"></div> </div> </div> <div class="fixedrightcolumn rightcolumn"> </div> </div> </div> <div class="footer_ad"> <div class="footer_ad_strip"> <div class="ad"> </div> </div> </div> <div id="footer" class="footer" role="contentinfo"> <div class="container footerTopNavPageText"> <div class="inner-sleeve"> <div class="nav topNav"><ul><li class="first"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/contact-us/">Contact us</a></li><li class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/about-us">About us</a></li><li class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/media-centre/">Advertise with us</a></li><li class=""><a href="https://web.archive.org/web/20240118193950/https://jobs.flightglobal.com/" class="newWindow">Jobs</a></li><li class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/conferences-and-events">Conferences and Events</a></li><li class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/134637.article">Newsletters</a></li><li class=""><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/paid-content">Paid content</a></li><li class="last"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/reports">Reports</a></li></ul></div><div class="footer-col-1"> <header> <svg xmlns="http://www.w3.org/2000/svg" width="279" height="70.626" viewbox="0 0 279 70.626"> <g id="FlightGlobalLogo" transform="translate(-128 -3411.612)"> <path id="Path_1" data-name="Path 1" d="M26.722,5.271v6.505H38.161V23.215h6.505V5.271Z" transform="translate(131.339 3406.341)" fill="#1cb8ff"/> <path id="Path_2" data-name="Path 2" d="M31.34,35.452H13.012V22.7H31.327V16.18L6.493,16.2V57.614h6.519V41.971H31.34Z" transform="translate(121.507 3411.643)" fill="#fff"/> <g id="Group_1" data-name="Group 1" transform="translate(258.955 3427.941)"> <path id="Path_3" data-name="Path 3" d="M131.291,54.427a33.633,33.633,0,0,1-16.108,3.849,22.779,22.779,0,0,1-8.277-1.456A18.556,18.556,0,0,1,96.158,46.29a21.6,21.6,0,0,1-1.54-8.3,22.536,22.536,0,0,1,1.54-8.494,19.039,19.039,0,0,1,4.262-6.516,18.7,18.7,0,0,1,6.486-4.15,22.779,22.779,0,0,1,8.277-1.458,31.437,31.437,0,0,1,8.356,1.073,17.192,17.192,0,0,1,6.983,3.822l-5.113,5.168a12.817,12.817,0,0,0-4.535-2.806,16.079,16.079,0,0,0-5.636-.99,13.483,13.483,0,0,0-5.47,1.073,12.5,12.5,0,0,0-4.207,2.969,13.458,13.458,0,0,0-2.721,4.425,15.142,15.142,0,0,0-.961,5.443,16.691,16.691,0,0,0,.961,5.773,13.522,13.522,0,0,0,2.721,4.564,12.621,12.621,0,0,0,4.207,3.024,13.176,13.176,0,0,0,5.47,1.1,23.973,23.973,0,0,0,4.975-.5,14.111,14.111,0,0,0,4.152-1.54V40.792h-7.973V34.524h14.9Z" transform="translate(-94.618 -15.72)" fill="#fff"/> <path id="Path_4" data-name="Path 4" d="M122.539,16.259h6.6V57.826h-6.6Z" transform="translate(-81.048 -16.259)" fill="#fff"/> <path id="Path_5" data-name="Path 5" d="M129.2,39.883a13.945,13.945,0,0,1,1.128-5.69,13.256,13.256,0,0,1,3.051-4.372,13.447,13.447,0,0,1,4.564-2.8,16.381,16.381,0,0,1,11.215,0,13.453,13.453,0,0,1,4.565,2.8,13.3,13.3,0,0,1,3.051,4.372,14.92,14.92,0,0,1,0,11.381,13.278,13.278,0,0,1-3.051,4.37,13.453,13.453,0,0,1-4.565,2.8,16.381,16.381,0,0,1-11.215,0,13.447,13.447,0,0,1-4.564-2.8,13.234,13.234,0,0,1-3.051-4.37A13.952,13.952,0,0,1,129.2,39.883Zm6.6,0a8.538,8.538,0,0,0,.523,2.971,7.418,7.418,0,0,0,1.538,2.528,7.8,7.8,0,0,0,11.381,0,7.445,7.445,0,0,0,1.54-2.528,8.692,8.692,0,0,0,0-5.94,7.466,7.466,0,0,0-1.54-2.529,7.8,7.8,0,0,0-11.381,0,7.439,7.439,0,0,0-1.538,2.529A8.536,8.536,0,0,0,135.8,39.883Z" transform="translate(-77.809 -11.512)" fill="#fff"/> <path id="Path_6" data-name="Path 6" d="M150.6,16.259h6.6V34.788h.165a9.382,9.382,0,0,1,1.265-1.346,10.05,10.05,0,0,1,1.868-1.291,11.287,11.287,0,0,1,2.531-.99,12.7,12.7,0,0,1,3.3-.386,12.37,12.37,0,0,1,5.17,1.073,12.052,12.052,0,0,1,4.04,2.941,13.576,13.576,0,0,1,2.611,4.4,15.6,15.6,0,0,1,.935,5.443,16.451,16.451,0,0,1-.88,5.445,12.567,12.567,0,0,1-2.584,4.4,12.188,12.188,0,0,1-4.122,2.941,13.3,13.3,0,0,1-5.443,1.071,12.456,12.456,0,0,1-5.223-1.1,8.481,8.481,0,0,1-3.85-3.519h-.108v3.959H150.6ZM172.483,44.63a8.569,8.569,0,0,0-.523-2.969,7.464,7.464,0,0,0-1.54-2.529,7.8,7.8,0,0,0-11.381,0,7.466,7.466,0,0,0-1.539,2.529,8.692,8.692,0,0,0,0,5.94,7.445,7.445,0,0,0,1.539,2.528,7.8,7.8,0,0,0,11.381,0,7.443,7.443,0,0,0,1.54-2.528A8.571,8.571,0,0,0,172.483,44.63Z" transform="translate(-67.411 -16.259)" fill="#fff"/> <path id="Path_7" data-name="Path 7" d="M188.849,49.45h-.166a8.505,8.505,0,0,1-3.627,3.272,11.4,11.4,0,0,1-4.84,1.016,12.841,12.841,0,0,1-3.546-.495,9.569,9.569,0,0,1-3.079-1.485,7.618,7.618,0,0,1-2.173-2.474,7.017,7.017,0,0,1-.825-3.464,7.965,7.965,0,0,1,.77-3.656,7.517,7.517,0,0,1,2.063-2.529,10.483,10.483,0,0,1,3-1.623,20.476,20.476,0,0,1,3.547-.906,31.3,31.3,0,0,1,3.711-.385q1.87-.082,3.519-.083h1.651v-.715a4.287,4.287,0,0,0-1.706-3.711,7.207,7.207,0,0,0-4.344-1.238,10.217,10.217,0,0,0-3.9.743,9.924,9.924,0,0,0-3.134,2.006L172.3,30.261a12.777,12.777,0,0,1,5.142-3.244,18.92,18.92,0,0,1,6.076-.99,15.276,15.276,0,0,1,4.727.633,10.44,10.44,0,0,1,3.19,1.621,7.2,7.2,0,0,1,1.951,2.283,10.613,10.613,0,0,1,.99,2.611,14.592,14.592,0,0,1,.358,2.557q.053,1.237.055,2.171V53.078h-5.938Zm-.385-8.192h-1.376c-.915,0-1.944.037-3.078.11a16.2,16.2,0,0,0-3.217.523,7.373,7.373,0,0,0-2.557,1.21,2.64,2.64,0,0,0-1.043,2.228,2.81,2.81,0,0,0,.412,1.566,3.7,3.7,0,0,0,1.073,1.071,4.465,4.465,0,0,0,1.483.633,7.181,7.181,0,0,0,1.65.192q3.408,0,5.032-1.621a5.985,5.985,0,0,0,1.623-4.427Z" transform="translate(-57.693 -11.512)" fill="#fff"/> <path id="Path_8" data-name="Path 8" d="M189.8,16.259h6.6V57.826h-6.6Z" transform="translate(-48.357 -16.259)" fill="#fff"/> </g> <rect id="Rectangle_1" data-name="Rectangle 1" width="6.505" height="41.371" transform="translate(156.567 3427.857)" fill="#fff"/> <rect id="Rectangle_2" data-name="Rectangle 2" width="6.505" height="26.022" transform="translate(168.354 3443.206)" fill="#fff"/> <path id="Path_9" data-name="Path 9" d="M62.468,30.647h-.11a8.374,8.374,0,0,0-3.794-3.468,12.316,12.316,0,0,0-5.151-1.085,13.067,13.067,0,0,0-5.394,1.057,12.123,12.123,0,0,0-4.039,2.9,12.4,12.4,0,0,0-2.547,4.338,16.233,16.233,0,0,0-.868,5.366,14.591,14.591,0,0,0,.921,5.206,12.405,12.405,0,0,0,2.629,4.229,12.752,12.752,0,0,0,4.094,2.846,13,13,0,0,0,5.313,1.057,12.589,12.589,0,0,0,4.77-.948A8.6,8.6,0,0,0,62.035,49.3h.107v1.9a14.459,14.459,0,0,1-.406,3.552,6.853,6.853,0,0,1-1.355,2.736,6.35,6.35,0,0,1-2.549,1.789,10.45,10.45,0,0,1-3.931.651,11.52,11.52,0,0,1-4.879-.975,15.96,15.96,0,0,1-4.066-2.765l-3.9,5.314a15.367,15.367,0,0,0,6.017,3.36,25.106,25.106,0,0,0,6.885.921,17.986,17.986,0,0,0,6.559-1.083A12.094,12.094,0,0,0,65.1,61.631,12.351,12.351,0,0,0,67.779,56.8a21.811,21.811,0,0,0,.868-6.369V26.745H62.468Zm-.542,11.982a6.823,6.823,0,0,1-1.545,2.412,7.443,7.443,0,0,1-2.44,1.6,8.325,8.325,0,0,1-3.225.6,7.7,7.7,0,0,1-3.036-.6,7.527,7.527,0,0,1-2.44-1.627,7.352,7.352,0,0,1-1.6-2.384,7.457,7.457,0,0,1-.569-2.927,8.516,8.516,0,0,1,.569-3.171,6.914,6.914,0,0,1,3.984-4.011,8.276,8.276,0,0,1,3.144-.571,7.188,7.188,0,0,1,7.7,7.643A8.433,8.433,0,0,1,61.926,42.629Z" transform="translate(138.067 3416.462)" fill="#fff"/> <path id="Path_10" data-name="Path 10" d="M85.765,34.046a8.353,8.353,0,0,0-2.954-2.277,10.2,10.2,0,0,0-4.418-.868,8.553,8.553,0,0,0-4.962,1.329,7.59,7.59,0,0,0-2.682,2.954h-.108V16.206l-12.96,0v6.482h6.454V57.574h6.506V43.37a9.438,9.438,0,0,1,.325-2.5,5.832,5.832,0,0,1,1.057-2.113A5.289,5.289,0,0,1,73.867,37.3a6.194,6.194,0,0,1,2.737-.542,4.121,4.121,0,0,1,2.656.786A4.677,4.677,0,0,1,80.7,39.495a8.653,8.653,0,0,1,.569,2.492c.073.887.108,1.69.108,2.412V57.574H87.88V41.146a14.9,14.9,0,0,0-.489-3.847A8.611,8.611,0,0,0,85.765,34.046Z" transform="translate(146.385 3411.655)" fill="#fff"/> <path id="Path_11" data-name="Path 11" d="M99.725,34.53V29H92.57V21.455H86.064V29h-7.5a13.074,13.074,0,0,1,2.45,5.529h5.052V46.457a19.963,19.963,0,0,0,.369,4.012,6.273,6.273,0,0,0,1.3,2.905,5.63,5.63,0,0,0,2.6,1.736,13.534,13.534,0,0,0,4.25.563,20.671,20.671,0,0,0,2.624-.195,8.3,8.3,0,0,0,2.514-.673V49.321a3.76,3.76,0,0,1-1.626.629,10.2,10.2,0,0,1-1.887.195A3.224,3.224,0,0,1,93.307,49a5.722,5.722,0,0,1-.737-3.079V34.53Z" transform="translate(156.533 3414.207)" fill="#fff"/> </g> </svg> </header> <div class="content"> <p>FlightGlobal is the global aviation community’s primary source of news, data, insight, knowledge and expertise. We provide news, data, analytics and advisory services to connect the aviation community globally and help organisations shape their business strategies, identify new opportunities and make better decisions faster.</p> </div> </div> <div class="footer-col-2"> <div> <!-- newsletter start --> <div class="newsletterSignup" data-cache-bust="true" data-ajax-load-content="" data-url="/web/20240118193950oe_/https://www.flightglobal.com/newslettersignup?wid=12&navcode=33" data-cache-bust="true"> <header><![CDATA[Never miss a beat with FlightGlobal newsletters]></header> <intro><![CDATA[Get news and analysis direct to your inbox by selecting from our portfolio of newsletters.]></intro> <newsletter><![CDATA[FGABWB]></newsletter> <newsletter><![CDATA[FGAE]></newsletter> <newsletter><![CDATA[FGDE]></newsletter> <newsletter><![CDATA[FGFIWB]></newsletter> <newsletter><![CDATA[FGJ]></newsletter> <newsletter><![CDATA[FGSI]></newsletter> <newsletter><![CDATA[FGEU]></newsletter> <senttotext><![CDATA[Sent to:]></senttotext> <editlinktext><![CDATA[Edit details]></editlinktext> </div> <!-- newsletter end --> </div> </div> </div> </div> <div class="container bottomNav"><div class="inner-sleeve"><ul><li class="first"><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/announcements">Announcements</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/faqs-flightglobal-premium/138587.article">FAQs</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/topics-a-z">Topics A-Z</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/134641.article">Terms and conditions</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/134640.article">Cookie policy</a></li><li><a href="https://web.archive.org/web/20240118193950/https://www.flightglobal.com/134639.article">Privacy policy</a></li><li class="last"><a href="https://web.archive.org/web/20240118193950/https://www.dvvmediainternational.com/" class="newWindow">© DVV Media International Limited</a></li></ul></div></div> <div class="bottom"> <div class="container footerBottomNavPageText"> <div class="inner-sleeve"> <div class="footerSocial"> <span class="footerSocialText">Follow us on social media</span> <ul> <li class="footerSocialFacebook"> <a href="https://web.archive.org/web/20240118193950/https://www.facebook.com/flightglobal" title="Connect with us on Facebook">Connect with us on Facebook</a> </li> <li class="footerSocialTwitter" title="Connect with us on Twitter"> <a href="https://web.archive.org/web/20240118193950/https://twitter.com/FlightGlobal">Connect with us on Twitter</a> </li> <li class="footerSocialLinkedin" title="Connect with us on Linked In"> <a href="https://web.archive.org/web/20240118193950/https://www.linkedin.com/company/flightglobal/">Connect with us on Linked in</a> </li> <li class="footerSocialEmail" title="Email us"> <a href="https://web.archive.org/web/20240118193950/mailto:info@flightglobal.com">Email us</a> </li> <li class="footerSocialYoutube" title="Connect with us on Youtube"> <a href="https://web.archive.org/web/20240118193950/https://www.youtube.com/user/Flightglobal/">Connect with us on Youtube</a> </li> </ul> </div> <p class="webvision">Site powered by <a href="https://web.archive.org/web/20240118193950/https://www.abacusemedia.com/webvisioncloud">Webvision Cloud</a></p> </div> </div> </div> </div> </div> </div> <script src="/web/20240118193950js_/https://www.flightglobal.com/Magazine/core.js?p=7266763911858126" defer></script> <!--EME Script--> <div id="GlobalEME"></div> <script>(function(w,d,t,u,c,b,m,s,n,i,e,p){(w[n]=w[n]||[]).push(arguments);e=d.createElement(t);p=d.getElementsByTagName(t)[0];e.async=1;e.src=u+'/scripts/eme.js';p.parentNode.insertBefore(e,p);})(window,document,'script','https://web.archive.org/web/20240118193950/https://emeapi.abacusemedia.com','DVVFG','FG','GlobalSlideUp','#GlobalEME','EMEObject','FullNavPath,engaged,UserID,conv_region');</script> <script src="https://web.archive.org/web/20240118193950js_/https://code.jquery.com/jquery-3.3.1.min.js"></script> <script src="https://web.archive.org/web/20240118193950js_/https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.4.1/jquery.fancybox.min.js"></script> <script> $('[data-fancybox]').fancybox({ toolbar: false, smallBtn: true, iframe: { preload: false } }) </script> <!-- DVV FG - fill firstname and message with data from dataLayer --> <script> $(window).on("eme:itemapplied", function(evt) { //var data = evt && evt.detail || {}; $('#EMEFirstName').html(myData.firstname); $('#EMECats').html(convMessageText.split('|').filter(function(el){return el && el!=undefined;})); }); </script> <!-- START SLIDE UP MESSAGE <div id="htmlslideupmessage" data-message="htmlslideupmessage" data-client="CoreTest" data-brand="CAT" class="eme-static-htmlslideupmessage eme-init"> <div class="eme-htmlslideup"> <div class="eme-htmlslideup-overlay"></div> <div class="eme-htmlslideup-wrapper"> <style> .eme-htmlslideup{ position:fixed; width:100%; height:auto; min-height:63px; z-index: 32768; box-shadow:0 -5px 5px 1px rgba(0, 0, 0, 0.1); visibility:hidden; transform:translateY(140%); opacity:0; right:0; left:0; transition:transform 1.0s,opacity 1.0s; } .eme-htmlslideup *{ box-sizing:border-box; } .eme-htmlslideup a{ color:#fff; } .eme-completed .eme-htmlslideup{ bottom:0; transform:translateY(0); opacity:1; visibility:visible; } .eme-toggle .eme-htmlslideup .eme-button-container{ padding-top:15px; } .eme-toggle .eme-htmlslideup .eme-toggle-button .eme-link{ padding:10px 15px 14px; } .eme-htmlslideup .assistive{ position:absolute!important; height:1px; width:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); } .eme-htmlslideup .eme-header{ background-color: #1cafe5; position: relative; height: 9px; display:block; } .eme-toggle .eme-htmlslideup .eme-header { height: 0; padding: 0; margin: 0; } .eme-htmlslideup .eme-header .eme-trigger-action-toggle{ display:inline-block; } .eme-htmlslideup .eme-toggle-button{ position:absolute; top: -17px; right: 10px; } .eme-toggle .eme-htmlslideup .eme-toggle-button{ top:-22px; } .eme-htmlslideup .eme-toggle-button .eme-link{ background-color: #F58C21; width:46px; height:46px; display:inline-block; border-radius:23px; box-shadow:0 0 5px 1px rgba(0, 0, 0, .5); padding:14px 15px 18px; transition: box-shadow 150ms ease-in, background-color 150ms ease-in; } .eme-htmlslideup .eme-toggle-button .eme-link:hover { box-shadow: 0 0 5px 1px rgba(0, 0, 0, .85); background-color: #1cafe5; } .eme-toggle .eme-htmlslideup .eme-trigger-action-toggle .eme-toggle-button-icon{ opacity:1; transform:rotate(180deg); } .eme-htmlslideup .eme-main{ background-color: #144696; padding: 50px 9px 0; text-align:center; display: flex; flex-direction: column; } .eme-toggle .eme-htmlslideup .eme-main{ min-height:63px; padding:0; } .eme-toggle .eme-htmlslideup .eme-main .eme-headline,.eme-toggle .eme-htmlslideup .eme-main .eme-text{ display:none; } .eme-htmlslideup .eme-headline{ color:#fff; font-size:1.802rem; line-height:2.027rem; font-weight:bold; margin-bottom:17px; height:auto; opacity:1; order:2; } .eme-htmlslideup .eme-headline span{ color:#F58C21; } .eme-htmlslideup .eme-headline .eme-link{ color:#006CB8; text-decoration:underline; } .eme-htmlslideup .eme-headline .eme-link:hover{ color:#fff; } .eme-htmlslideup .eme-content{ padding:0 2px; order:1; } .eme-htmlslideup .eme-content .eme-text{ color:#DCDCDC; font-size:1.125rem; line-height:1.75rem; font-weight:normal; margin-bottom:20px; height:auto; opacity:1; } .eme-htmlslideup .eme-content .eme-text .eme-link:hover{ color:#fff; } .eme-htmlslideup .eme-button-container{ order:3; background-color: #002a63; margin-left: -50vw; margin-right: -50vw; padding-bottom: 15px; } .eme-htmlslideup .eme-button-container .eme-button{ color:#fff; display:inline-block; background-color:#F58C21; border-radius:6px; padding:6px 28px 6px; font-size:1rem; line-height:1.602rem; font-weight:bold; text-transform:uppercase; text-decoration:none; text-align:center; transition:background-color .2s,color .2s; margin-top:15px; margin-left:-20px; min-width:134px; } .eme-toggle .eme-htmlslideup .eme-button-container .eme-button{ margin-top:0; } .eme-htmlslideup .eme-button-container .eme-link{ color:#fff; font-size:1rem; line-height:1.602rem; } .eme-htmlslideup .eme-button-container .eme-button.eme-button-secondary{ background-color:#F58C21; } .eme-htmlslideup .eme-button-container .eme-button+.eme-link{ margin-left:20px; } .eme-htmlslideup .eme-button-container .eme-button:hover{ background-color:#1cafe5; color:#fff; } .eme-htmlslideup .eme-text{ } .eme-htmlslideup .eme-text-uppercase{ text-transform:uppercase; } .eme-htmlslideup .eme-ribbon-text-separator{ top:-15px; } .eme-htmlslideup .eme-inline{ display:inline-block; } .eme-htmlslideup .eme-block{ display:block; } .eme-htmlslideup .eme-footer{ display:block; height: auto; } .eme-toggle .eme-htmlslideup .eme-footer{ height:0; } .eme-htmlslideup .eme-footer .eme-image{ display:none; } .eme-htmlslideup .eme-link{ color:#fff; } .eme-htmlslideup .eme-button{ } @media screen and (min-width: 768px){ .eme-htmlslideup{ } .eme-htmlslideup .eme-image{ } .eme-htmlslideup .eme-toggle-button{ top:-23px; right:16px; } .eme-htmlslideup .eme-main{ padding: 24px 70px 0; text-align:left; } .eme-toggle .eme-htmlslideup .eme-main{ height:67px; min-height:67px; } .eme-htmlslideup .eme-headline{ font-size:2.027rem; line-height:2.027rem; font-weight:bold; margin-bottom: 48px; } .eme-htmlslideup .eme-content{ padding:0; } .eme-htmlslideup .eme-content .eme-text{ font-weight:normal; margin-bottom: 15px; } .eme-htmlslideup .eme-button-container{ text-align:center; } .eme-htmlslideup .eme-button-container .eme-button{ padding:6px 28px 6px; font-size:1rem; line-height:1.602rem; font-weight:bold; margin-top:15px; } .eme-htmlslideup .eme-button-container .eme-link.eme-link-primary,.eme-htmlslideup .eme-content .eme-button-container .eme-link.eme-link-secondary{ display:inline-block; } } @media screen and (min-width: 1280px){ .eme-htmlslideup{ min-height:63px; } .eme-htmlslideup .eme-toggle-button{ top:-12px; right:35px; z-index:1; } .eme-toggle .eme-htmlslideup .eme-toggle-button{ top:-12px; } .eme-htmlslideup .eme-main{ text-align: left; min-height: 200px; padding: 22px 0 0 0; } .eme-toggle .eme-htmlslideup .eme-main{ height:63px; } .eme-htmlslideup .eme-content .eme-button-container .eme-button{ padding:6px 28px 6px; } .eme-htmlslideup .eme-footer .eme-image{ display:inline; position:absolute; right:89px; width:223px; bottom:58px; height:auto; opacity:1; } .eme-toggle .eme-htmlslideup .eme-footer .eme-image{ height:0; opacity:0; } .eme-htmlslideup .eme-ribbon-decorations, .eme-htmlslideup .eme-footer{ max-width:1280px; margin:0 auto; position:relative; } .eme-htmlslideup .eme-content .eme-text{ margin-bottom: 8px; } .eme-toggle .eme-htmlslideup .eme-header,.eme-toggle .eme-htmlslideup .eme-footer{ margin:0 auto; } .eme-toggle .eme-htmlslideup .eme-main:after{ display:none; } .eme-htmlslideup .eme-content .eme-button-container .eme-link{ font-size:1rem; } .eme-htmlslideup .eme-main > .eme-headline, .eme-htmlslideup .eme-main > .eme-content{ max-width:1280px; width:100%; margin:0 auto; padding:0 15px; } .eme-htmlslideup .eme-main > .eme-headline{ margin-bottom:48px; } .eme-htmlslideup .eme-main .eme-content .eme-button-container{ position:absolute; bottom:13px; } } </style> <header class="eme-header"> <div class="eme-ribbon-decorations"> <div class="eme-toggle-button"> <a href="#toggle" class="eme-trigger eme-link eme-trigger-action-toggle" data-eme-target="clicktoggle" title="Toggle"><span class="assistive">Toggle</span> <svg class="eme-toggle-button-icon" xmlns="http://www.w3.org/2000/svg" width="15" height="8" viewBox="0 0 15 8"> <path class="eme-toggle-button-icon-path" data-name="Path 740" d="M7.5,8,0,0H2.5l5,5.333L12.5,0H15Z" fill="#fff"/></svg></a> </div> </div> </header> <main class="eme-main"> <h2 class="eme-headline"><a href="https://account.flightglobal.com/subscribe?sourcecode=FGRibbon&campaigncode=FGRibbonMessage">Unlock our take on the stories that matter for just <span> £22 </span> a month </a></h2> <div class="eme-content"> <p class="eme-text">Breaking news, expert analysis, member-first insights and commentary on the global aviation industry.</p> </div> <div class="eme-button-container"> <a href="https://account.flightglobal.com/subscribe?sourcecode=FGRibbon&campaigncode=FGRibbonMessage" data-eme-target="clicksubscribelink" class="eme-trigger eme-link eme-button eme-button-secondary">Subscribe</a> <a href="/sign-in" data-eme-target="clicksigninlink" class="popup signIn eme-trigger eme-link eme-link-primary">or Sign In</a> </div> </main> <footer class="eme-footer"> <div class="eme-image"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="258" height="138" viewBox="0 0 258 138"> <defs> <clipPath id="clip-path"> <rect id="Rectangle_1723" data-name="Rectangle 1723" width="258" height="138" transform="translate(1051 772)" fill="none"/> </clipPath> </defs> <g id="Mask_Group_8" data-name="Mask Group 8" transform="translate(-1051 -772)" clip-path="url(#clip-path)"> <path id="Path_1917" data-name="Path 1917" d="M26.722,5.271V78.778h129.25V208.026h73.505V5.271Z" transform="translate(1266.966 982.623) rotate(-135)" fill="#fff" opacity="0.35"/> <path id="Path_1918" data-name="Path 1918" d="M26.722,5.271V21.138h27.9v27.9H70.49V5.271Z" transform="translate(1166.387 915.591) rotate(-135)" fill="#fff" opacity="0.995"/> <path id="Path_1920" data-name="Path 1920" d="M26.722,5.271V21.138h27.9v27.9H70.49V5.271Z" transform="translate(1213.387 915.591) rotate(-135)" fill="#fff" opacity="0.995"/> <path id="Path_1922" data-name="Path 1922" d="M26.722,5.271V21.138h27.9v27.9H70.49V5.271Z" transform="translate(1258.387 915.591) rotate(-135)" fill="#fff" opacity="0.995"/> </g> </svg> </div> </footer> </div> </div> </div> <script> (function(){ var navPathListToExclude = ['200','179','44']; if(!dataLayer.some(function(el){return el.UserID && el.UserID !== undefined;}) && !dataLayer.filter(function(el){return el.FullNavPath && el.FullNavPath.split('|').filter(function(x){return navPathListToExclude.indexOf(x)!=-1;}).length}).length){ $(document).ready(function(){ $('.eme-static-htmlslideupmessage').addClass('eme-completed'); }); $('.eme-trigger-action-toggle').on('click',function(evt){ evt.preventDefault(); $(this).parents('.eme-static-htmlslideupmessage').toggleClass('eme-toggle'); }); } })() </script> --> <!-- END SLIDE UP MESSAGE --> <script type="application/ld+json">{ "@context": "https://web.archive.org/web/20240118193950/https://schema.org", "@type": "Article", "description": "While United Airlines' customers are able to engage across a range of platforms and timeframes, for the carrier's chief customer officer Linda Jojo many of the advances with airline apps centre around their ability to support ‘day of travel’ functionality.", "image": "https://web.archive.org/web/20240118193950/https://d3lcr32v2pp4l1.cloudfront.net/Pictures/2000xAny/0/7/3/98073_unitedairlinesappfeatureiphone_641112.jpg", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://web.archive.org/web/20240118193950/https://www.flightglobal.com/airlines/united-airlines-customer-chief-on-day-of-travel-power-of-the-airline-app/155625.article" }, "author": { "@type": "Person", "name": "Graham Dunn" }, "dateCreated": "2023-11-01", "dateModified": "2023-11-10", "datePublished": "2023-11-10", "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".restrictedcontent" }, "headline": "United Airlines’ customer chief on ‘day of travel’ power of the airline app", "isAccessibleForFree": false, "publisher": { "@type": "Organization", "name": "Flight Global", "logo": { "@type": "ImageObject", "url": "https://web.archive.org/web/20240118193950/https://www.flightglobal.com/magazine/dest/graphics/logo/logo.png" } } }</script> </body> </html><!-- FILE ARCHIVED ON 19:39:50 Jan 18, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 13:54:35 Nov 28, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 1.039 exclusion.robots: 0.062 exclusion.robots.policy: 0.045 esindex: 0.017 cdx.remote: 16.825 LoadShardBlock: 222.141 (3) PetaboxLoader3.datanode: 149.638 (4) load_resource: 258.1 PetaboxLoader3.resolve: 159.337 -->