[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa
[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit veirousa

[Large Size] Two Couple Spotted Dogs - Latch Hook Rug Kit

Price

$198.98 $99.98
Save 50%
More than 100 Designs
Fast Delivery Worldwide
14 Days Returns
Eco-friendly Material

size

Please select a size

Quantity

The Starter Kit includes everything you need to complete a 40.2x27.2 in. Rug:

  • 1 * Colorful Printed Canvas
  • 1 * Instructions and Color-chart
  • 1 * Latch Hook Tool
  • 1 * Packaging Bag
  • Sufficient Pre-cut Yarn

Rug Product Size: 102x69cm/ 40.2x27.2 inch

Age Range: Adult

Product Features:

  • Made from eco-friendly materials
  • Handmade meaningful gift
  • Stress relief and creative outlet
  • Enhances manual dexterity and focus
  • The perfect decoration for your home once complete

Difficulty Level:

  • Level 1: For beginners and experienced

Intimate Tips:

  • This product is a semi-finished product; you must make it yourself.
  • Cleaning Method: machine washing is not recommended
  • Dimensions are determined manually, so may vary slightly.
  • Hooking kits for children, beginners and artisans. ( It contains a needle, so adult supervision is required.)
  • Due to lighting conditions, monitor brightness/contrast settings, etc. The actual product color may differ slightly from the picture, please understand!

Q1: Is this too young for an 11-year old?
A1: No,I think an 11 year old would enjoy this and have the hand dexterity to do it independently.

Q2: What size pillow insert is needed?
A2: The overall size is 17”, so a 16”x16” pillow is perfect.

Q3: Does this come with a color code?
A3: Yes--it comes with a color map, so you can count squares and work precisely. It also has a general painted image on the mesh.

Q4: Does this come with everything you need to make it a cushion cover or rug?
A4: Yes, this kit includes everything you will need to end up with a cushion cover or rug. You do not have to do any extra sewing or anything. Just apply the yarn to an already made cushion. Much easier than making the cushion later. Awesome project.

Q5: Can I do this with absolutely no experience?
A5: Yes- These kits are extremely beginner friendly!I have created simple videos showing stitch you will use.

Q6: Is this an easy beginner project that I could work on with my very adept 7 year old?
A6: If you have ever done latch hook before it would probably be easy enough for 7 year old with some help.

Q7: What should I do while doing latch hook kits?
A7: I like to listen to the Bible, worship music or a podcast. Sometimes I listen to my toddler playing and sometimes I just enjoy some silent prayer time!

Q8: But really…can I do this?
A8: I 100% believe that anyone can do these kits. I designed them to be fun for both experts and complete beginners. I’m confident you will be able to complete this project- but if you have trouble, message me and I will be happy to help!

We require 1-3 business days to process orders and delivery takes 6-15 business days depending on where you are located.

USA - 7-10 business days
EU/UK - 6-10 business days
AU/NZ - 7-12 business days
CA - 7-12 business days

Other Country – 7-15 business days

Once shipped you will receive a tracking number to keep up to date with the current status of delivery.

SHIPPING (Buy More, Save More!)

Cost Amount of Orders Country / Region Delivery Method
Based on weight $75 ALL Standard Delivery
Free ≥$75 ALL Standard Delivery

Veirousa offers 14 days returns, if you are not satisfied with the item you receive, you can contact us within 14 working days for a return, more than 14 working days can not be returned or exchanged. To be eligible for a return, your item must be unused and in the same condition that you received it. It must also be in the original packaging.

 veirousa

Our Customers Love the Veirousa™ Latch Hook Kit!

Over 150,000 people have learned to latch hook with our starter kit!

Shop Now
 veirousa

Relaxing☕ Crafting Activities for Enjoyment!

Over 150,000 people have learned to latch hook with our starter kit!

 veirousa

Perfect Decor for the Holiday Season🎄

With over 500 amazing designs available, you can choose your favorite design, color, and pattern to complement your decor or showcase your personal style.

 veirousa

The Ultimate Functional Craft Creation✨

The DIY Latch Hooking project is versatile, ideal for decorating various home furnishings like floors, walls, and sofas.

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);