🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag
🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag

🎉Mother's Day Promotion 49% OFF🔥Women's Niche Shoulder Bag

Price

$68.60 $34.99
Save $33.61

type

Please select a type

🎉free vip shipping today only🎉

Please select a 🎉free vip shipping today only🎉

Quantity

Global Provision of Services
Free Shipping Over $59.99
Sustainable Manufacturing
PayPal & Credit Card Payment

 ✨Buy 2 Get 10% OFF 

Buy 3 Get 20% OFF
✅ Guaranteed! GoogleTrusted Store!

Paypal and Credit Card secure payment.🏪PalPay certified reputable merchant.💵Has paid 100k USD in PayPal as store guarantee

It will sell out fast, Enjoy a discount now!!⚡Please make sure to buy enough quantity before we increase the price!!!🔥


👜Are you searching for the perfect gift for her that combines style, functionality, and a touch of nostalgia? Look no further than our Women's Niche Shoulder Bag. This elegant and thoughtfully designed accessory makes for an ideal present that will surely delight the special woman in your life.

 

KEY FEATURES

STYLISH RETRO DESIGN - Whether she's dressing up for a formal event or going for a casual outing, this bag complements her style effortlessly. Its timeless design ensures that it remains a staple in her wardrobe for years to come.

MULTIPLE COMPARTMENTS FOR ORGANIZATION - This bag is not just about aesthetics; it's incredibly practical too. With a main pocket, zipper concealed pocket, side pockets, and an inner patch pocket, she can keep her essentials neatly organized.

ADJUSTABLE STRAPS FOR VERSATILE STYLING - The Women's Niche Shoulder Bag offers versatility with both thin and thick shoulder straps. She can choose the strap style that suits her outfit and mood, making it a versatile accessory for different occasions.

THOUGHTFUL GIFT CHOICE - It's not just a bag; it's a reflection of your appreciation for her. Whether it's her birthday, an anniversary, or any other special occasion, this bag is bound to make her day memorable.

SPECIFICATION

Type: Letters - Coffee, Letters - Black, Letters - Beige, Black, Red, Orange, Coffee, Pink

Size: 8.26*7.87*4.72 in

Material: Cowhide

Lining Material: Polyester

Style: Retro

Opening Method: Magnetic Buckle + Zipper

Straps: Thin Shoulder Strap, Thick Shoulder Strap

Compartments: Main Pocket*1, Zipper Concealed Pocket*1, Side Pockets*2, Inner Patch Pocket*1

PACKAGE INCLUDES

[Best Gift For Her] Women's Niche Shoulder Bag*1

NOTES

Please allow 0.8-1.2in error due to manual measurement. Please make sure you do not mind before purchasing.

Color may not appear as exactly as in real life due to variations between the computer monitors.

⚡️ Stock is selling out fast - secure your copy today!


GLOBAL TRANSPORT

🌎Tracking numbers are ALWAYS provided so you can track every step of the way! Cool stuff is worth the wait!

undefined

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('appzebu 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);