An error occurred while processing the template.
Syntax error in template "85082426756241#20119#996991" in line 184, column 138:
You can't use ${...} (an interpolation) here as you are already in FreeMarker-expression-mode. Thus, instead of ${myExpression}, just write myExpression. (${...} is only used where otherwise static text is expected, i.e., outside FreeMarker tags and interpolations, or inside string literals.)
1<#macro childNavigation portletDisplay navItem level> 
2    <#if navItem?? && navItem.getChildren()??> 
3        <#list navItem.getChildren() as childItem> 
4            <#local isSubmenu = !childItem.getLayout()?? /> 
5            <#local isBrowsable = childItem.isBrowsable() /> 
6 
7            <#if !isSubmenu || isBrowsable> 
8                <#local nav_child_css_class = "dc-nav-item" /> 
9                <#if childItem.isChildSelected() || childItem.isSelected()> 
10                    <#local nav_child_css_class = "${nav_child_css_class} selected" /> 
11                </#if> 
12                <#local showChildrenNavItems = childItem.hasBrowsableChildren() /> 
13                <#local itemHref = childItem.getURL() /> 
14                <#local css_if_has_child = "" /> 
15                <#if showChildrenNavItems> 
16                    <#local nav_child_css_class = "${nav_child_css_class} nav-trigger" /> 
17                    <#local css_if_has_child = "dc-nav-item--parent" /> 
18                </#if> 
19 
20                <li class="dc-nav-item ${css_if_has_child} dc-nav-item--level-${level} dc-flex dc-justify-between dc-items-center focus:dc-bg-gray-200 mt-0" id="layout_${level}_${portletDisplay.getId()}_${childItem.getLayoutId()}" 
21                    data-nav="nav_${portletDisplay.getId()}_${childItem.getLayoutId()}" role="presentation"> 
22                    <a class="dc-text-s dc-text-s-rtl" href="${itemHref}" ${childItem.getTarget()} role="menuitem"> 
23                        ${childItem.getName()} 
24                    </a> 
25                    <#if (showChildrenNavItems && level < 2)> 
26                        <div class="dc-flex dc-items-center dc-justify-center"> 
27                            <span class="dc-nav-arrow dc-nav-arrow--right"></span> 
28                        </div> 
29												<ul class="dc-hidden dc-col__inner level-${level+1} desktop-nav-menu" id="children_layout_${level}_${portletDisplay.getId()}_${childItem.getLayoutId()}"> 
30														<div class="dc-layer-top-back"></div> 
31														<@childNavigation portletDisplay childItem level+1 /> 
32												</ul> 
33                    </#if> 
34                </li> 
35			     
36            </#if> 
37        </#list> 
38    </#if> 
39</#macro> 
40 
41<#macro webContentNavigation portletDisplay navItem> 
42    <#if (navItem?? && navItem.getChildren()?? && navItem.getChildren()?size > 0)> 
43        <div id="child_content_layout_1_${portletDisplay.getId()}_${navItem.getLayoutId()}" class="dc-hidden"> 
44            <#list navItem.getChildren() as childItem> 
45                <#if dcSiteNavigationJournalArticles?? && dcSiteNavigationJournalArticles?has_content> 
46                    <#assign layoutId = childItem.getLayoutId()/> 
47                    <#if (layoutId?? && layoutId > 0 && dcSiteNavigationJournalArticles[layoutId?string]??)> 
48                        <#assign dcSiteNavigationJournalArticle = dcSiteNavigationJournalArticles[layoutId?string]/> 
49                        <#if dcSiteNavigationJournalArticle??> 
50                            <@liferay_journal["journal-article"] 
51                            articleId=dcSiteNavigationJournalArticle.articleId 
52                            ddmTemplateKey=DC_NAV_CONTENT_TEMPLATE 
53                            groupId=dcSiteNavigationJournalArticle.groupId 
54                            /> 
55                        </#if> 
56                    </#if> 
57                </#if> 
58            </#list> 
59        </div> 
60    </#if> 
61</#macro> 
62 
63<#macro childNavigationMobile portletDisplay navItem level> 
64    <#if navItem?? && navItem.getChildren()??> 
65        <#list navItem.getChildren() as childItem> 
66            <#local isSubmenu = !childItem.getLayout()?? /> 
67            <#local hasBrowsableChildren = childItem.hasBrowsableChildren() /> 
68           <#if !isSubmenu  || childItem.getRegularURL()?exists && childItem.getRegularURL() != ""> 
69                <#assign childItemHref = childItem.getURL() /> 
70                <#assign isNotLayout = childItem.getLayout()?? /> 
71                <#assign isBrowsable = childItem.isBrowsable() /> 
72                <li class="dc-nav_item <#if hasBrowsableChildren>dc-nav-item-with-childs</#if>"> 
73                    <div class="js-dc-nav-menu-mobile-link" data-is-url="<#if !isNotLayout && isBrowsable>_blank<#else>_self</#if>" 
74                         data-link="${childItem.getRegularURL()}"> 
75                        ${childItem.getName()} 
76                    </div> 
77                    <#if hasBrowsableChildren> 
78                        <@renderArrow /> 
79                    </#if> 
80                </li> 
81                <#if (hasBrowsableChildren && level < 3)> 
82                    <ul class="dc-secondary-nav dc-hidden level-${level+1}"> 
83                        <@childNavigationMobile portletDisplay childItem level+1/> 
84                    </ul> 
85                </#if> 
86            </#if> 
87        </#list> 
88    </#if> 
89</#macro> 
90 
91<#macro renderArrow> 
92    <div class="dc-flex dc-items-center dc-justify-center"> 
93        <span class="dc-nav-arrow"></span> 
94    </div> 
95</#macro> 
96 
97<#if !entries?has_content> 
98    <#if themeDisplay.isSignedIn()> 
99        <div class="alert alert-info"> 
100            <@liferay.language key="there-are-no-menu-items-to-display" /> 
101        </div> 
102    </#if> 
103<#else> 
104    <#assign maxAttempts = 10> 
105    <#assign delay = 100> 
106    <#assign siteNavMenuId = 0> 
107    <#assign dcSiteNavigationJournalArticles = ""> 
108 
109    <#list 1..maxAttempts as attempt> 
110        <#if siteNavigationMenuId?? && siteNavigationMenuId?has_content> 
111            <#assign siteNavMenuId = siteNavigationMenuId?number> 
112            <#if dcSiteNavigationJournalArticleService?? > 
113                <#assign dcSiteNavigationJournalArticles = dcSiteNavigationJournalArticleService.getJournalArticlesForSiteNavMenuId(siteNavMenuId) /> 
114            </#if> 
115            <#break> 
116        <#else> 
117            <#if attempt <= maxAttempts> 
118                <@liferay_aui.script> 
119                    setTimeout(function() { }, ${delay}); 
120                </@> 
121            </#if> 
122        </#if> 
123    </#list> 
124 
125    <#assign 
126    portletDisplay = themeDisplay.getPortletDisplay() 
127    navbarId = "navbar_" + portletDisplay.getId() 
128    level = 0 
129    /> 
130 
131    <#assign navItems = entries /> 
132					 
133 
134 
135    <nav id="${navbarId}" class="dc-bottom-header dark:border-gray-600 dark:bg-gray-900"> 
136        <div class="dc-bottom-header__nav"> 
137            <div id="mega-menu-full-image" class="dc-flex dc-items-center dc-justify-between"> 
138                <ul class="dc-flex dc-items-baseline dc-gap-20"> 
139                    <#list navItems as navItem> 
140                        <#assign 
141                        showChildrenNavItems = (displayDepth != 1) && navItem.hasBrowsableChildren() 
142                        rootLevelId = "root_level_${portletDisplay.getId()}_${navItem.getLayoutId()}" 
143                        /> 
144                        <li id="${rootLevelId}" class="dc-root-level <#if navItem?? &&( navItem.isSelected() || navItem.hasBrowsableChildren()?? &&navItem.isChildSelected() )> dc-selected </#if>"> 
145                            <#if showChildrenNavItems> 
146                                <button id="mega-menu-full-cta-image-button-${rootLevelId}" 
147                                        class="dc-hidden dc-cta-nav-item dc-py-20 xl:dc-flex dc-h6 dc-h6-rtl dc-text-navy-500 dc-flex dc-items-center dc-justify-between"> 
148                                   <!-- <span class="dc-nav-arrow"></span> --> 
149                                    <span class="dc-h6 dc-h6-rtl dc-nav-text dc-text-navy-500 hover:dc-text-navy-500">${navItem.getName()}</span> 
150                                </button> 
151 
152                                <div id="mega-menu-full-image-dropdown-${rootLevelId}" 
153                                     class="dc-hidden dc-mega-menu dc-pt-40 dc-bg-gray-50  dc-w-[300px] dc-absolute dc-inset-x-0 dc-top-full"> 
154                                    <!--<h4 class="dc-h4 dc-h4-rtl dc-text-navy-500"> 
155                                        ${navItem.getName()} 
156                                    </h4>--> 
157                                    <div class="dc-mega-menu__inner"> 
158                                        <#assign lvl = level + 1 /> 
159                                        <ul class="dc-mega-menu__left dc-col dc-relative"> 
160                                            <@childNavigation portletDisplay navItem lvl /> 
161                                        </ul> 
162                                        <#------  Additional right menu ------> 
163                                        <#-----------  Web-content ----------> 
164                                        <#if (lvl == 1) && navItem?? && navItem.getChildren()??> 
165                                            <div class="article-menu dc-col"> 
166                                                <#list navItem.getChildren() as childItem> 
167                                                    <@webContentNavigation portletDisplay childItem /> 
168                                                </#list> 
169                                            </div> 
170                                        </#if> 
171                                    </div> 
172                                </div> 
173                            <#else> 
174															 
175															<#if navItem.getLayout()??> 
176																<#assign layout = navItem.getLayout()> 
177																<#if  layout.getName(locale, false) != ""> 
178																	 <button id="mega-menu-full-cta-image-button book-venue-header" 
179                                        class="dc-hidden dc-cta-nav-item dc-py-20 xl:dc-flex dc-h6 dc-h6-rtl dc-text-navy-500 dc-flex dc-items-center dc-justify-between"> 
180																		<!--	 <span class="dc-nav-arrow"></span>  --> 
181																			<a href="${navItem.getURL()}"><span class="dc-nav-text dc-h6 dc-h6-rtl dc-text-navy-500 hover:dc-text-navy-500">${navItem.getName()}</span></a> 
182                                  </button> 
183																</#if> 
184																<#elseif ${navItem.getURL()}??> 
185                                    	<a href="${navItem.getURL()}"><span class="dc-nav-text dc-h6 dc-h6-rtl dc-text-navy-500 hover:dc-text-navy-500">${navItem.getName()}</span></a> 
186																	</#if> 
187 
188																	 
189															 
190															 
191                            </#if> 
192                        </li> 
193                    </#list> 
194                </ul> 
195            </div> 
196        </div> 
197        <!--------------  NAV Mobile --------------> 
198        <div class="dc-bottom-header__nav-mobile dc-hidden dc-bg-gray-100"> 
199            <h5 class="dc-h5 dc-h5-rtl dc-mobile-menu-title"> 
200                <@liferay.language key="explore-our-website" /> 
201            </h5> 
202            <!---- Level 1 -----> 
203            <ul class="level-1"> 
204                <#list navItems as navItem> 
205                    <#assign 
206                    hasBrowsableChildren = (displayDepth != 1) && navItem.hasBrowsableChildren() 
207                    rootLevelId = "root_level_${portletDisplay.getId()}_${navItem.getLayoutId()}" 
208                    isAddArrow = navItem.hasBrowsableChildren() 
209                    /> 
210 
211                    <li class="dc-primary-nav__item"> 
212										<div class="dc-nav_item <#if hasBrowsableChildren>dc-nav-item-with-childs dc-nav-item--white</#if>"> 
213                            <#assign isNotLayout = navItem.getLayout()?? /> 
214                            <#assign isBrowsable = navItem.isBrowsable() /> 
215                            <div class="js-dc-nav-menu-mobile-link" data-is-url="<#if !isNotLayout && isBrowsable>_blank<#else>_self</#if>" 
216                                 data-link="${navItem.getRegularURL()}"> 
217                                ${navItem.getName()} 
218                            </div> 
219                            <#if isAddArrow> 
220                                <@renderArrow /> 
221                            </#if> 
222                    </div>                        <!---- If 1st level has children -----> 
223                        <!---- Level 2 -----> 
224                        <#if hasBrowsableChildren> 
225                            <div class="dc-secondary-nav__container dc-hidden"> 
226                                <ul class="secondary-nav level-2"> 
227                                    <@childNavigationMobile portletDisplay navItem level+1 /> 
228                                </ul> 
229                            </div> 
230                        </#if> 
231                    </li> 
232                </#list> 
233            </ul> 
234        </div> 
235    </nav> 
236</#if> 
237			 
238 
239<#--@formatter:off--> 
240<script type="text/javascript"> 
241    setTimeout(function () { 
242        const rootLevelItems = document.querySelectorAll('[id^="root_level_${portletDisplay.getId()}_"]'), 
243            megaMenus = document.querySelectorAll('[id^="mega-menu-full-image-dropdown-root_level_${portletDisplay.getId()}_"]'), 
244            parentItems = document.querySelectorAll('[id^="layout_1_${portletDisplay.getId()}_"]'), 
245            childContent = document.querySelectorAll('[id^="child_content_layout_1_${portletDisplay.getId()}_"]'), 
246            children = document.querySelectorAll('[id^="children_layout_1_${portletDisplay.getId()}_"]'), 
247            containerSetSpacer = document.querySelector('.dc-container-set-spacer > .lfr-layout-structure-item-container'), 
248						HTML = document.querySelector('html'), 
249            mobileLinks = document.querySelectorAll('.js-dc-nav-menu-mobile-link') 
250            let currentMegaMenu = null; 
251 
252        rootLevelItems.forEach(function (item) { 
253            item.addEventListener('mouseenter', function (e) { 
254                updateChosenItemState(item, rootLevelItems, 'dc-root-level-hovered'); 
255 
256                hideAllMegaMenus(); 
257 
258                const megaMenuElement = document.getElementById("mega-menu-full-image-dropdown-" + item.id); 
259                currentMegaMenu = megaMenuElement; 
260 
261                if (megaMenuElement) { 
262                     
263                    toggleCssClass(HTML, true, 'dc-overflow-hidden'); 
264                    megaMenuElement.classList.remove('dc-hidden'); 
265                    const navBar = document.getElementById('${navbarId}'); 
266                    const navBarRect = navBar.getBoundingClientRect(); 
267                    megaMenuElement.addEventListener('mouseleave', function (e) { 
268                        const rect = this.getBoundingClientRect(); 
269                        if ((rect.top > e.clientY && navBarRect.right > e.clientX) 
270                            || (rect.top < e.clientY && rect.bottom > e.clientY && rect.x < e.clientX && rect.width > e.clientX)) { 
271                            return; 
272
273                        this.classList.add('dc-hidden'); 
274                        toggleCssClass(containerSetSpacer, false, 'dc-blur'); 
275                        toggleCssClass(HTML, false, 'dc-overflow-hidden'); 
276                        resetLevelsStates(); 
277                    }); 
278                } else { 
279                    toggleCssClass(containerSetSpacer, false, 'dc-blur'); 
280                    toggleCssClass(HTML, false, 'dc-overflow-hidden'); 
281
282 
283            }); 
284            item.addEventListener('mouseleave', function (e) { 
285                const megaMenuElement = document.getElementById("mega-menu-full-image-dropdown-" + item.id); 
286                if (!megaMenuElement) { 
287                    toggleCssClass(containerSetSpacer, false, 'dc-blur'); 
288                    toggleCssClass(HTML, false, 'dc-overflow-hidden'); 
289                    resetLevelsStates(); 
290                    return; 
291
292 
293                const navBar = document.getElementById('${navbarId}'); 
294                const navBarRect = navBar.getBoundingClientRect(); 
295                const rect = item.getBoundingClientRect(); 
296                if (rect.top > e.clientY || navBarRect.x > e.clientX) { 
297                    hideAllMegaMenus(); 
298                    resetLevelsStates(); 
299                    toggleCssClass(containerSetSpacer, false, 'dc-blur'); 
300                    toggleCssClass(HTML, false, 'dc-overflow-hidden'); 
301
302            }); 
303        }); 
304 
305        parentItems.forEach(function (item) { 
306            item.addEventListener('mouseenter', function () { 
307                updateChosenItemState(item, parentItems, 'dc-parent-item-hovered'); 
308                hideAllSecondLevelItems(); 
309 
310                const childContent = document.getElementById("child_content_" + item.id); 
311                if (childContent) { 
312                    childContent.classList.remove('dc-hidden'); 
313
314 
315                const children = document.getElementById("children_" + item.id); 
316                if (children) { 
317                    children.classList.remove('dc-hidden'); 
318                    let heightMegaMenu = getAbsoluteHeight(currentMegaMenu); 
319                    let heightTitleMegaMenu = currentMegaMenu.getElementsByTagName('h4')[0]; 
320                    let heightTitleMegaMenuHeight = getAbsoluteHeight(heightTitleMegaMenu); 
321                    for (let el of document.querySelectorAll('.dc-layer-top-back')) { 
322                        el.style.height = heightMegaMenu + 'px' 
323                        el.style.top = '-' + (heightTitleMegaMenuHeight + 42) + 'px' 
324
325
326            }); 
327        }); 
328 
329        children.forEach(function (item) { 
330            item.addEventListener('mouseleave', function () { 
331                item.classList.remove('dc-hidden'); 
332            }); 
333        }); 
334 
335        childContent.forEach(function (item) { 
336            item.addEventListener('mouseleave', function () { 
337                item.classList.remove('dc-hidden'); 
338            }); 
339        }); 
340				mobileLinks.forEach(function (item) { 
341            item.addEventListener('click', function () { 
342                window.open(item.dataset.link, item.dataset.isUrl); 
343            }); 
344        }); 
345        function getAbsoluteHeight(el) { 
346            // Get the DOM Node if you pass in a string 
347            el = (typeof el === 'string') ? document.querySelector(el) : el; 
348 
349            let styles = window.getComputedStyle(el); 
350            let margin = parseFloat(styles['marginTop']) + 
351                parseFloat(styles['marginBottom']); 
352            return Math.ceil(el.offsetHeight + margin); 
353
354 
355        function hideAllSecondLevelItems() { 
356            hideSection(children); 
357            hideSection(childContent); 
358
359 
360        function hideAllMegaMenus() { 
361            hideSection(megaMenus); 
362
363 
364        function toggleCssClass(el, add, cssClass) { 
365            if (add === true) { 
366                el.classList.add(cssClass); 
367            } else { 
368                el.classList.remove(cssClass); 
369
370
371 
372        function hideSection(section) { 
373 
374            if (section) { 
375                section.forEach(function (item) { 
376 
377                    item.classList.add('dc-hidden'); 
378                }); 
379
380
381 
382        function updateChosenItemState(chosenItem, listItems, cssClass) { 
383            chosenItem.classList.add(cssClass); 
384            listItems.forEach(element => { 
385                if (element !== chosenItem) { 
386                    element.classList.remove(cssClass); 
387
388            }); 
389
390 
391        function resetLevelsStates() { 
392            rootLevelItems.forEach(element => element.classList.remove('dc-root-level-hovered')); 
393            parentItems.forEach(element => element.classList.remove('dc-parent-item-hovered')); 
394
395 
396        let menuBtn = document.querySelector('[data-collapse-toggle="mega-menu-full-image"]'); 
397        menuBtn.addEventListener("click", function () { 
398					console.log("inside function....") 
399            let collapsedMenuBottomSection = document.getElementsByClassName('dc-collapsed-menu__bottom-section')[0]; 
400            let collapsedMenuInnerSection = document.getElementsByClassName('dc-collapsed-menu__inner')[0]; 
401            let mobileMenu = document.getElementsByClassName('dc-bottom-header__nav-mobile')[0]; 
402            if (mobileMenu.classList.contains('dc-hidden')) { 
403                HTML.classList.add('dc-overflow-hidden'); 
404                collapsedMenuInnerSection.classList.add('dc-opened'); 
405                mobileMenu.classList.remove('dc-hidden'); 
406                collapsedMenuBottomSection.classList.remove('dc-hidden'); 
407                this.classList.add('dc-opened'); 
408                document.querySelector("ul.level-1") 
409                let height = calculateHeight(); 
410                document.querySelector("ul.level-1").style.height = 'calc(100vh - ' + height + 'px)'; 
411            } else { 
412							console.log("inside else ") 
413                HTML.classList.remove('dc-overflow-hidden'); 
414                collapsedMenuInnerSection.classList.remove('dc-opened'); 
415                Array.from(mobileMenu.getElementsByClassName('dc-secondary-nav__container')).forEach(el => el.classList.add('dc-hidden')); 
416                Array.from(mobileMenu.getElementsByClassName('dc-secondary-nav')).forEach(el => el.classList.add('dc-hidden')); 
417                Array.from(navMobileContainer.getElementsByClassName('dc-nav-item-with-childs')).forEach(el => el.getElementsByClassName('dc-nav-arrow')[0].classList.remove('up')); 
418                mobileMenu.classList.add('dc-hidden'); 
419                collapsedMenuBottomSection.classList.add('dc-hidden'); 
420                this.classList.remove('dc-opened'); 
421                let navItems = navMobileContainer.getElementsByClassName('dc-nav-item-with-childs'); 
422                Array.from(navItems).forEach(i => i.classList.remove('opened')); 
423
424        }) 
425 
426        function calculateHeight() { 
427            let result = 0; 
428            let elControlMenu = document.getElementsByClassName('control-menu-container')[0]; 
429            let dcHeader = document.getElementById('dc-header'); 
430            let dcMobileMenuTitle = document.getElementsByClassName('dc-mobile-menu-title')[0]; 
431            let dcBottomSection = document.getElementsByClassName('dc-collapsed-menu__bottom-section')[0]; 
432 
433            if (elControlMenu) result += elControlMenu.offsetHeight; 
434            if (dcHeader) result += dcHeader.offsetHeight; 
435            if (dcMobileMenuTitle) result += dcMobileMenuTitle.offsetHeight; 
436            if (dcBottomSection) result += dcBottomSection.offsetHeight; 
437            let isIOS = navigator.userAgent.match(/iPad|iPhone|iPod/i) != null; 
438 
439            if (isIOS) { 
440                result += 82; 
441
442            return result; 
443
444 
445        let navMobileContainer = document.getElementsByClassName("dc-bottom-header__nav-mobile")[0]; 
446        let navItems = navMobileContainer.getElementsByClassName('dc-nav-item-with-childs'); 
447        for (let i = 0; i < navItems.length; i++) { 
448            navItems[i].addEventListener("click", function () { 
449                let innerContainer = this.nextElementSibling; 
450                if (innerContainer.classList.contains('dc-hidden')) { 
451                    innerContainer.classList.remove('dc-hidden'); 
452                    this.classList.add('opened'); 
453                } else { 
454                    innerContainer.classList.add('dc-hidden'); 
455                    this.classList.remove('opened'); 
456                    Array.from(innerContainer.getElementsByClassName('dc-nav-item-with-childs')).forEach(el => { 
457                        el.getElementsByClassName('dc-nav-arrow')[0].classList.remove('up'); 
458                    }); 
459                    Array.from(innerContainer.getElementsByClassName('dc-secondary-nav')).forEach(el => { 
460                        el.classList.add('dc-hidden') 
461                    }); 
462
463 
464                this.getElementsByClassName('dc-nav-arrow')[0].classList.toggle('up'); 
465            }); 
466
467    }, 500); 
468 
469const menuItems = document.querySelectorAll('.dc-root-level'); 
470menuItems.forEach(item => { 
471  item.addEventListener('mouseenter', () => { 
472    document.body.classList.add('dc-overflow-hidden'); 
473  }); 
474 
475  item.addEventListener('mouseleave', () => { 
476    document.body.classList.remove('dc-overflow-hidden'); 
477  }); 
478}); 
479	 
480</script> 
481<#--@formatter:on--> 

Dubai Chambers

Unlock the potential of your business with Dubai Chambers' unique three-chamber model, which provides access to highly focused support through Dubai Chamber of Commerce, Dubai International Chamber, and Dubai Chamber of Digital Economy.

Dubai Chamber of Commerce

Creating a favourable business environment to help companies achieve success and consolidate Dubai’s position as a leading global hub for business, trade, and investment.

Card Image

Services

Explore the comprehensive range of services offered by Dubai Chambers to help your business thrive.

A list of our services

New Membership

Access exclusive benefits like easy registration, business support and growth, networking, and expert guidance.

Membership Renewal

Renew your membership to continue enjoying exclusive benefits, uninterrupted services, and access to new opportunities.

Membership Amendment

Keep your info updated to retain access to uninterrupted services and unrivalled business support.

Membership Cancellation

Cancel your membership to discontinue access to all Dubai Chamber of Commerce services.

Issuing a Certificate of Origin

Apply for an essential document for exporting goods to comply with customs regulations.

Amendment of Certificate of Origin

Amend an existing certificate to maintain compliance with customs regulations.

Issuing a Certificate of Origin for Personal Effect

Apply for an essential document for exporting personal items to comply with customs regulations.

Document Verification

The Certificate copy for verification will be displayed in the PDF format. Adobe Acrobat Reader must be installed.

Authentication

Authenticate your documents to ensure they are officially recognised by the relevant authorities.

Signature Verification

Verify and authenticate your documents, ensuring they are accepted by the relevant authorities.

True Copy

Improve the credibility of your documents to ensure they are officially recognised by the relevant authorities.

Issuance of ATA Carnet

Apply for an international customs document that allows you to temporarily import goods without paying duties or taxes.

Modification of ATA Carnet

Keep your ATA Carnet current to ensure smooth and cost-effective international business activities.

Substitute of lost ATA Carnet

Request a substitute ATA Carnet if the original is lost, damaged, or destroyed.

Replacement of ATA Carnet

Extend the validity of your ATA Carnet to continue importing goods without paying duties and taxes.

Letters and Certificates

Request essential documentation, such as "to whom it may concern" letters, certification of recommendation and identification.

Company Profile

Apply for a company profile document that contains detailed economic and legal information about your company.

Mediation

Resolve commercial disputes quickly and amicably with our Mediation service to avoid lengthy and expensive litigation.

Permit Issuance for Business Councils and Business Groups

Empower your business community by obtaining permits for Business Councils and Groups.

Renewal of Business Councils and Business Groups Permits

Renew your Business Councils and Business Groups Permit to ensure your non-profit organisations continue to operate formally.

Dubai Chamber of Commerce ESG Label

Evaluate your ESG readiness and maturity, gain recognition for your efforts, and drive business growth.

Business Groups and Business Councils

Operating under the umbrella of Dubai Chamber of Commerce, sector-specific Business Groups and country-specific Business Councils serve as bridges between the business community and the government. These dynamic platforms engage regularly with members through workshops and events to drive effective advocacy, secure legislative enhancements, and improve Dubai’s favourable business environment.Business Groups and Business Councils advance the interests of the private sector through:

Policy and Legislative Advocacy

Supporting essential policy changes and legislative enhancements to create a more favourable business environment and drive economic growth.

Business Expansion 

Assisting companies in Dubai to expand their trade and investments abroad by establishing strong bilateral economic relations and highlighting business opportunities.

Governance and Transparency

Enhancing governance practices by promoting fundamental values and principles, ensuring transparency, and improving communication between key stakeholders.

Member Engagement 

Promoting active engagement between members, fostering collaboration, and creating valuable platforms for effective decision-making.

Centre for Responsible Business

Card Image

Established in 2004, the Centre for Responsible Business (CRB) leads the way in promoting Corporate Social Responsibility (CSR) and sustainable business practices. The CRB provides platforms, knowledge, and tools to help businesses embed CSR and sustainability throughout their operations, enhancing performance and unlocking competitive advantages. The CRB can help you:

Item Icon
Gain recognition and awards for your commitment to CSR and sustainability.
Item Icon
Connect with like-minded businesses to share best practices and collaborate on sustainability initiatives.
Item Icon
Receive expert guidance and support to implement responsible business practices and improve CSR performance.
Item Icon
Access valuable resources, tools, and guides to embed CSR and sustainability throughout your business operations.
Item Icon
Benefit from professional evaluations and feedback to enhance your company's CSR efforts.
Item Icon
Integrate CSR, sustainability, and good governance into your management and operational processes.

Insightful Resources

Card Image
Reports@news, commerce@commerce
Card Image
Reports@news, commerce@commerce
Card Image
Forms & Guidelines@news, commerce@commerce

Initiatives 

Whether you are an aspiring app developer, a start-up seeking investors, or a business expanding internationally, Dubai Chambers is dedicated to ensuring you benefit from expert advice, specialised training, global networking events, and practical support platforms.

Upcoming events

View Dubai Chambers' schedule of upcoming events and workshops, which are designed to help you network, exchange knowledge, and achieve business success.
Card Image

4 February 2024

08:30 AM – 12:30 PM

This legal workshop provides an in-depth examination of critical legal issues in today’s dynamic employment landscape.

Card Image

16 January 2025

11:00 AM – 12:30 PM

This Webinar examines key issues of integrating data privacy provisions into contractual agreements within the UAE.

Card Image

9 January 2025

11:00 AM – 12:30 PM

This Webinar examines an insightful of exploring the comprehensive landscape of Construction.

News

Card Image

Unlock the potential of your business with Dubai Chambers' unique three-chamber model, which provides access to highly focused support through Dubai Chamber of Commerce, Dubai International Chamber, and Dubai Chamber of Digital Economy.

Card Image

Creating a favourable business environment to help companies achieve success and consolidate Dubai’s position as a leading global hub for business, trade, and investment.

Card Image

Transforming Dubai into a leading global hub for advanced technologies by attracting international companies and talent to the emirate and ensuring they can thrive.

Card Image

Strengthening partnerships with global corporations, investors, and entrepreneurs to enhance Dubai’s status as a major global trading hub and an attractive market for establishing and expanding businesses.

Ready to Elevate Your Business?

Members of Dubai Chamber of Commerce enjoy access to a range of exclusive benefits, including:

Smart Commerce

Events & Networks

Business Facilitation & Support