- WHAT'S ON
WHAT'S ON
Want to live life in the fast lane? We've got you covered at Yas Marina Circuit.
DISCOVER MOREYAS MARINA CIRCUIT MERCHANDISE
Elevate your style with Castore x Yas Marina Circuit's exclusive motorsports-inspired merchandise, seamlessly blending performance and style.
DISCOVER THE COLLECTION
YAS GIFT: NEW GIFT CARDS AT YAS MARINA CIRCUIT
Looking for a unique gift idea? Check out the cool new YAS Gift cards available for purchase at Yas Marina Circuit.
DISCOVER MORE - FORMULA 1®
VISIT THE OFFICIAL #AbuDhabiGP WEBSITE
Find out more about Formula 1® Etihad Airways Abu Dhabi Grand Prix 2026. Tickets available now!
EXPLORE NOWYAS MARINA CIRCUIT MERCHANDISE
Elevate your style with Castore x Yas Marina Circuit's exclusive motorsports-inspired merchandise, seamlessly blending performance and style!
DISCOVER THE COLLECTION
FORMULA 1® 2026
Get ready for on-track action & off-track entertainment at #AbuDhabiGP 2026
TICKETS ARE LIVE! - EXPERIENCES
TRACK DAYS
YOUR CAR. OUR TRACK.
From driving your car or bike on a Formula 1® track, to fierce drag races and drift sessions - it's time to experience the pure essence of your vehicle’s performance.
DISCOVER MORE
YAS GIFT: NEW GIFT CARDS AT YAS MARINA CIRCUIT
Looking for a unique gift idea? Check out the cool new YAS Gift cards available for purchase at Yas Marina Circuit.
DISCOVER MORE
YAS MARINA CIRCUIT MERCHANDISE
Elevate your style with Castore x Yas Marina Circuit's exclusive motorsports-inspired merchandise, seamlessly blending performance and style.
DISCOVER THE COLLECTION - HEALTH & FITNESS
GET FIT ON TRACK
Ready to get your fitness on track? Run, cycle, walk and more at Yas Marina Circuit and be part of a healthier UAE.
DISCOVER MOREYAS MARINA CIRCUIT MERCHANDISE
Elevate your style with Castore x Yas Marina Circuit's exclusive motorsports-inspired merchandise.
DISCOVER THE COLLECTION - MOTORSPORTS
UNLOCK ACCESS TO FREE MOTORSPORT EVENTS!
Join us at Yas Marina Circuit with our Free Motorsport Event Pass, granting you general admission entry to an exhilarating lineup of events this season!
DISCOVER MOREYAS MARINA CIRCUIT MERCHANDISE
Elevate your style with Castore x Yas Marina Circuit's exclusive motorsports-inspired merchandise, seamlessly blending performance and style.
DISCOVER THE COLLECTION
YAS HEAT
Yas heat is our official driver talent development programme, based in yas marina circuit.
DISCOVER MORE
VENUE & TRACK HIRE
Perfectly located, connected and serviced, hire our exhilarating track for motorsports events or manufacturer test days.
DISCOVER MORE - CORPORATE EVENTS & VENUE HIRE
HIRE OUR TRACK, VDA OR DRAG STRIP
Business moves as fast as motorsports. Book our venues, track, a driving experience or let us bring your event to life.
DISCOVER MORE
EVENT MANAGEMENT AGENCY
Celebrate your event in style with Yas Marina’s versatile events solutions.
DISCOVER MORE
TEAM-BUILDING AT KARTZONE
An exhilarating break from the office, Yas Kartzone is ideal for team-building and other corporate events.
DISCOVER MORE - YAS IN SCHOOLS
YAS MARINA CIRCUIT PREPARES TO HOST MILESTONE 15th EDITION OF THE #ABUDHABIGP
Yas Marina Circuit will be at its best thanks to dedicated team of maintenance crews, gardeners and technical experts ahead of the FORMULA 1 ETIHAD AIRWAYS ABU DHABI GRAND PRIX 2023
The last race of the 2023 F1® season, and 15th edition of this motorsports, music and family entertainment event, final preparations are under way to host fans from 23-26 November
Abu Dhabi, UAE, 20 November 2023: With the milestone 15th edition of the Abu Dhabi Grand Prix season finale just around the corner, Yas Marina Circuit is buzzing with activity as the world famous F1 landmark prepares to welcome more than a hundred thousand motorsports fans across the four day event.
To close out the 2023 calendar, hundreds of the 10 team’s officials along with 5 A-list musical artists VIP guests, celebrities, international media and, of course, the world’s best drivers will all be in attendance.
To ensure the circuit looks its best for the tens of thousands of fans and an estimated global TV audience of more than 100 million, a dedicated team of cleaning and maintenance specialists, painters, gardeners and skilled technical experts have been in action around the clock sprucing up the 5.28km track, Grandstands, the fan zones and hospitality spaces, and landscaped areas.
Before this year’s four-day weekend on Yas Island, a team of cleaners will be given the essential task of removing dust from existing and impressive new Grandstands. Equipped with high-pressure hoses, the team will set about tackling the Circuit’s 228 canopies over a mammoth 6,920 hours of non-stop cleaning work in order have the venue looking spick and span and ready to welcome spectators.
Newly installed this year, specialists have been hard at work setting up the circuit’s state-of-the-art LED lighting system, which will not only be 34 per cent more efficient, but reduce year-round electricity use by 24 per cent and save 30 per cent of carbon emissions annually across Yas Marina Circuit’s operations.
Yas Marina Circuit’s 88.4 acres of landscaped areas have been given extra care and attention as gardeners pruned and planted 2.52 acres of seasonal flowers and petunias, as well as more than 1,750 different kinds of foliage along with 886 varieties of Palms and 529 potted plants to bring a splash of natural colour and the wonderful, scented aroma of flowers to the venue.
In the pit lane and paddocks, teams of motor racing experts and logistics specialists manage the arrival of everything required for the FIA Formula 1 race, FIA F2 Championship races and the non-championship F4UAE sessions.
Squads of highly skilled technicians and safety experts will inspect every inch of the Circuit as part of intensive procedures to ensure the safety of the drivers, teams and the spectators watching the F1® action unfold.
With the huge to-do list slowly being completed job by job, the time arrives for the 26 F1, F2 and F4 UAE race teams to land in Abu Dhabi. The circuit’s logistics team have been planning and working constantly to prepare 227 rooms with more than 3,000 pieces of furniture, fittings or equipment, as well as inspected 65 forklift trucks and programmed more than 200 access cards ahead of the teams’ arrival from the season’s penultimate race in Las Vegas.
After 23 rounds of racing, the 2023 F1® season finale promises another incredible fan experience across the whole of Yas Island and Abu Dhabi.
ENDS
ABOUT ETHARA
Ethara is shaping the future of entertainment, sport, culture, event services, and asset management regionally and internationally. Headquartered on Abu Dhabi’s Yas Island, and with offices in Dubai and Riyadh, the company employs over 300 professionals who offer an unrivalled wealth of expertise, experience, knowledge and skills. Ethara, meaning ‘thrill’ in Arabic, operates an impressive portfolio of assets, including Yas Marina Circuit, Etihad Park, Etihad Arena and the Yas Conference Centre. The company works with leading events companies, IP owners, and entertainment partners locally and internationally to deliver world-class, first-to-market events and experiences. For further information, visit: www.ethara.com
Media contact: [email protected]
ABOUT YAS MARINA CIRCUIT
Yas Marina Circuit is the United Arab Emirates’ most exciting sporting and entertainment multi-purpose venue. Located on Yas Island, Abu Dhabi, the circuit is home to the annual FORMULA 1 ETIHAD AIRWAYS ABU DHABI GRAND PRIX and much more. In addition to the extensive year-round program of professional and grassroots motorsport events and experiences including Drag and Yas Track Nights, the circuit has emerged as a thriving hub for entertainment and community events in the UAE.
Yas Marina Circuit is also a champion of sustainability in motorsports, receiving the Three-Star Environmental Certification from the FIA, the governing body’s highest recognition of sustainability. The award is an acknowledgement of the circuit’s long-standing commitment to environmental management with the objective of standing with Formula One in becoming Net-Zero Carbon by 2030.
As the region’s most technologically advanced facility, the circuit is also a leading MICE venue, regularly hosting a diverse range of corporate meetings, conferences, and events. Whether you want to experience the thrill of karting at our Kartzone, driving an Aston Martin GT4 at over 200km/hour on an F1 circuit, work towards your racing license at the Yas Racing School, get fit at TrainYas, participate in one of our many sporting events, or simply catch up with friends at Yas Central, Yas Marina Circuit truly is The Meeting Place of Champions.
MORE STORIES
The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> The following has evaluated to null or missing:
==> serviceLocator [in template "20095#20121#2791328" at line 2, column 35]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign assetEntryLocalService = serv... [in template "20095#20121#2791328" at line 2, column 1]
---- 1<#assign articleId = .vars['reserved-article-id'].data /> 2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 4<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), articleId) /> 5<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) /> 6 7 8<#assign isArabic = locale.getLanguage() == "ar" /> 9 10<div class="booking-card-col"> 11 <div class="gift-card booking-card sold-out-prod-card"> 12 <span class="material-symbols-outlined ticket-info-icon">info_i</span> 13 14 <!-- Ticket Content Section --> 15 <div class="ticket-content"> 16 <p class="tag-line"> <#list asset.getCategories() as category> 17 ${category.getTitle(themeDisplay.getLocale())} 18</#list> </p> 19 <h3><#if (fheading32545.getData())??> 20 ${fheading32545.getData()} 21</#if></h3> 22 23 24 <!-- Hover content --> 25 <div class="hover-pera"> 26 <p><#if (MetaDescription.getData())??> 27 ${MetaDescription.getData()} 28</#if></p> 29 </div> 30 </div> 31 32 <#if (fcardimageurl32545.getData())?? && fcardimageurl32545.getData() != ""> 33 <img class="w-100" alt="${fcardimageurl32545.getAttribute("alt")}" data-fileentryid="${fcardimageurl32545.getAttribute("fileEntryId")}" src="${fcardimageurl32545.getData()}" /> 34</#if> 35 <!-- Gift Card Content Section --> 36 <div class="gift-card-content"> 37 <p class="tag-line"><#list asset.getCategories() as category> 38 ${category.getTitle(themeDisplay.getLocale())} 39</#list></p> 40 <h3><#if (fheading32545.getData())??> 41 ${fheading32545.getData()} 42</#if></h3> 43 44 <a href="${friendlyURL}" class="discover-more-cm-btn green-border left-btn"> <#if isArabic>اكتشف المزيد<#else>READ MORE</#if></a> 45 46 </div> 47 </div> 48</div> Keep updated with all the latest events at Yas Marina Circuit