Recycled Mini Or Large Embroidered Pet Portrait Backpack

people are viewing this right now
📦Produced in the USA and UK
$39.99
$79.99
-$40.00
  • Deliver to: |
Size:  Small
Quantity

Description

Recycled Mini or Large Embroidered Pet Portrait Backpack

Represent your pet when you’re on the move! The recycled material is durable, and the size is perfect for long hikes with your pup. With the mini bag giving a 9-litre capacity and the bigger version 14L, it holds everything you and your pet will need on your outings while still looking stylish. Choose one of several colours, and we’ll create a custom embroidered backpack for all your adventures. If your furry family member can’t be with you on your travels, at least you'll have a lifelike image to make you miss them a tiny bit less.

Small backpack: 23 x 32 x 11cm

Large backpack: 28 x 38 x 12cm

👉Key Features:

  1. Custom Embroidered Pet Portrait: Each backpack features a beautifully embroidered portrait of your pet, created from a photo you provide. The embroidery captures the unique details of your pet’s face, ensuring a heartwarming and personal touch.
  2. Eco-Friendly Materials: Made from durable recycled fabric, this backpack is a sustainable choice that reduces environmental impact while maintaining excellent quality.
  3. Size Options: Choose between a compact mini size for light essentials or a larger version to carry books, laptops, and more. Both sizes are lightweight yet spacious, with plenty of compartments for organization.
  4. Comfortable and Versatile: Adjustable padded straps provide comfort during long wear, while the sleek and stylish design suits casual outings, school, work, or travel.
  5. Unique Gift Idea: This backpack makes a thoughtful gift for pet lovers, adding a sentimental and practical touch to their daily lives.

👉Care Instructions:

Spot clean with a damp cloth to maintain the vibrant embroidery and fabric.

Celebrate your pet and contribute to a greener planet with this one-of-a-kind embroidered pet portrait backpack. It’s not just a bag—it’s a meaningful keepsake and a statement of your values.

👉Our Guarantee

We truly believe that we offer some of the most innovative and inspirational products in the world, and we want to make sure we back it up with a risk-free ironclad 90-day guarantee.

If you don't have a positive experience for ANY reason, contact us and we will make sure that ALL your concerns are addressed and you leave 100% satisfied and smiling.

Our service mailbox is: service@loradream.com
🥰Thank You for visiting my shop!!

Shipping & Returns

  • Orders can be cancelled or modified within 2 hours after being placed.
  • International orders: It may take additional days if orders have to go through customs. We have no influence on the customs process and apologize for any inconvenience due to delivery delays resulting from this.
  • For more detailed information and instructions, please visit our Replacement & Refund Policy.
  • Learn more about Shipping Policy here.

Personalization

  • Please complete fields required to customize options (Name/Characteristics) and recheck carefully all the customized options.
  • Text: Standard English excluding special characters, emojis to ensure the best looking.
  • Characteristics: Pick one-by-one options that match your description.
  • The last step, click “ADD TO CART” and wait for us to create your wonderful creation ❤️.
Customer Reviews
Here are what our customers say.
Write a Review
Customer Reviews
Wow you reached the bottom
Newest
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'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = '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(this.win, 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.