✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷
✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷

✨This Week's Special Price $12.99💥Vivid Artificial Hanging Orchid Bunch🌷

$12.99
$26.51
-$13.52
COLOR-Purple
Please select a color
🔥96.9% Of Customers Buy 6 Bundles Or more-1 bunch
Please select a 🔥96.9% of customers buy 6 bundles or more
Quantity
Global Provision of Services
Free Shipping Over $59.99
Sustainable Manufacturing
PayPal & Credit Card Payment

undefined

  • ✔️Partial or full refund depend on the situation
  • ✔️Handling time>> Priority is given to delivery after payment.
  • ✔️96.9% Of Customers Buy 6 Bundles Or more.because they can get the biggest discount and free shipping.

Note:In order to achieve the best decorative effect, most customers choose to buy 6 or more! 

📣BUY MORE SAVE MORE!

SHIPPING WORLDWIDE.

💯Payments Via PayPal® and CreditCard.


Normal price: $26.51

Today's price: $12.99!!

undefined

🌺Add classic, floral flair to any space or event with this artificial orchid bouquet!

🌺The flowers are well made and vibrantly colored-looks and feel just like real flowers, Pure natural style, simple and elegant.

🌺This bunch of flowers flows gracefully down from the main heart of the plant to create the appearance of overflowing abundance.

  • [High-quality Materials & Reusable]

Made of fabric material Silk cloth and plastic premium quality, poisonless and harmless. Like real flowers, vine but not scented close to nature could be reusable after your event.

  • [Simple Installation] 

Outdoor faux vine is easy to bend for hanging and takedown, put directly into the basket or inserted in the soft object, add color and a sense of nature to the wall doors. Bring new life to your home and garden.

  • [Wide Range of Uses] 

Violet Silk Vine Flowers is the perfect to create romantic for any ceremony. Suitable for weddings, stages, parlors, bedrooms, offices, hotel, dining rooms, birthdays, Valentine's Day, stores private club, and any other place that you want to decorate, Such as wall, doors, swing, cafes, restaurants, and aisle ways, etc.

  • [Craftsmanship]

We use a special dyeing process

🌺About Size: Each Vine has 18 forks with many flowers and leaves, Hang down is 4 bunches of flower vines, 60 cm(23.6 inches), the total length is 80 cm(31.5 inches).

🌺We think that two bunches of flowers together are the most beautiful, but you can also choose more bunches, which are also very beautiful.

🌺Hang it from a windowsill planter, hanging macrame planter, or garden ledge for a perfect touch of romantic warmth.

Features:

  • VIVID ARTIFICIAL HANGING ORCHID BUNCH: Use this artificial orchid bouquet to add a classic floral flavor to any space or event! This bouquet of flowers flows gracefully downwards from the main heart of the plant, creating a plump appearance.
  • ROMANTIC BOUQUET: Hang it on the window sill flower stand, hanging lace flower stand, or garden ledge to get the perfect romantic and warm feeling. It is very suitable for wedding decoration, table setting, or elegant home decoration, and also suitable for outdoor use.
  • NATURAL FLOWERS: Full and soft petals, vivid and lifelike, look more natural and beautiful, the flowers are well-made, brightly colored, look and feel like real flowers, pure natural style, simple and elegant

SPECIFICATIONS:

  • The total length is 80cm (31.5 inches)
  • Width is about 30cm (11.8 inches)
  • 8 Colors
  • 210 Flowers
  • Material: Silk cloth and plastic premium

Package includes:

  • 1 x Vivid Artificial Hanging Orchid Bunch
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);