Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo
Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo
Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo
Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo
Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo
Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo
Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo

Joyside Outdoor 12x16 ft Wood-Grain Hardtop Gazebo

Free Shipping
Ships Within 6-8 Business Days.
Sustainably Made
Secure Payments
SKU: A09
Brand Joyside
Material Aluminum
Style Modern
Product Dimensions 144"L x 180"W x 120"H
Frame Material Aluminum, Wood
Water Resistance Level Waterproof
Shape Rectangular
Ultraviolet Light Protection UPF 50

About this item

  • ELEGANT WOOD-GRAIN AESTHETICS: Immerse yourself in the inviting ambiance of the Meetleisure 12x16 ft Wood-Grain Hardtop Gazebo. The marriage of wood-like textures and the enduring strength of aluminum creates a captivating structure that effortlessly elevates the visual appeal of your outdoor space. Experience the allure of natural aesthetics without compromising on durability – a true fusion of style and substance.
  • ULTIMATE WEATHER PROTECTION: Don't let unpredictable weather dampen your outdoor plans. Our gazebo's ingeniously designed double-tiered top offers a dual advantage: optimal ventilation and uncompromised shelter. Feel the refreshing breeze while staying shielded from rain or sun. This thoughtful feature ensures that your gatherings, whether an intimate get-together or a lively celebration, remain comfortable and worry-free, regardless of the forecast.
  • EFFORTLESS ASSEMBLY: Embrace a hassle-free outdoor lifestyle with the Meetleisure gazebo's smart drainage system. Bid farewell to stagnant water or debris accumulation that can mar the gazebo's appeal and longevity. The system effectively channels water away, maintaining the gazebo's pristine condition with minimal upkeep. Enjoy the benefits of a striking focal point that stands the test of time, requiring only occasional care.
  • SIMPLE ANCHOING: Anchoring your gazebo securely is a straightforward task thanks to the thoughtfully pre-drilled holes. Your investment receives the protection it deserves as these holes allow for easy anchoring, safeguarding your gazebo against the elements. Feel confident in the stability of your outdoor haven, knowing it's firmly anchored against even the strongest winds. With a hassle-free setup process, you'll be enjoying your oasis in no time
  • ALL-INCLUSIVE COMFORT: Experience luxury with versatile features. Draw elegant curtains for privacy and shade, creating an intimate oasis. Mosquito netting keeps bugs away, letting you unwind undisturbed. With its spacious design, the gazebo caters to relaxation and entertainment, making your backyard the go-to spot for cherished moments.
Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Most liked
Highest ratings
Lowest ratings
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); = 'block'; = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { = 'none'; }); fullScreenImage.src = ''; = 'none'; = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { = 'none'; }; fullScreenVideo.src = ''; = 'none'; = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.