Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
6/8
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
Portable Doggy Bottle
6/8

Portable Doggy Bottle

$9.99
$19.98
Save $9.99
ColorPink
Please select a color
Quantity

The Doggy Bottle is a portable water bottle that makes it easy to quench your dog's thirst during long walks, car travel, at the dog park or anywhere you and your furry friend go. Simply squeeze the bottle to fill the attached no spill no mess bowl so your dog can drink anywhere anytime! It has auto-pump feature that drains the water back into the bottle when you're done.

Features

  • Just squeeze and water is delivered in the bowl
  • Auto-pump feature drains the water back into the bottle when you're done
  • Designed to fit your car's cup holder
  • Designed an arc trough to fit their natural living habit, make it easier to drink
  • With a convenient carry strap to attach to your belt loop, backpack, or hand bag for easy transport
  • One-Hand Watering,?solve dog drinking problem when outdoor
  • Perfect for dogs of all sizes and ages;
  • Food and dishwasher safe and BPA-free
  • Holds 20 ounces of fresh water. 20*10cm
  • Assured leak tight

    Our Risk-Free 30 Day Guarantee

    • Worldwide?Express?Shipping Available.
    • Ship within?24?Hours?after Payment with Traceable Tracking Number for Each Order.
    • Easy Return, Fast Refund, 100% Money Back Guarantee.
    • We truly believe that a good shopping experience makes our customers return to us.
    • We want you to be happy and satisfied, therefore, we offer a?Risk-Free 30 Days Guarantee to exchange or refund your money.

    • If you do not have a positive experience for?ANY REASON,we will do?WHATEVER it takes?to make sure you are?100% satisfied with your purchase.?
    • Buying items online can be a daunting task, so we want you to realize that there is absolutely?ZERO?RISK in buying something and trying it out.If you don't like it, no hard feelings we'll make it right.
    • We have?24/7?Tickets and Email Support. Please contact us if you need any assistance.
      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.