Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
1/4
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
Portable Dog Bowl Water Bottle | 16oz
1/4

Portable Dog Bowl Water Bottle | 16oz

FREE Shipping
$19.99
$27.99
Save $8.00
Free Worldwide Shipping
Easy Return and Fast Refund
Sustainably Made
Secure Payments
ColorBlue
Please select a color
Quantity

EASY TO USE AND MESS-FREE

The specially designed valve in the bottle allows water to be delivered to the bowl by simply squeezing it. When you release the squeeze, the water returns to the virtually leak-proof bottle. In addition, even if the water bottle only has a small amount of water, it can be squeezed out without wasting water because it has a built-in water pipe. Therefore, you don't have to pour out the water or worry about it spilling out.

 

PORTABLE AND CONSIDERATE

Portable pet water bottles easily fit into standard car cup holders. Easily attached to your backpack or belt, it features an adjustable hook-and-loop strap that lets you carry it on the go. A capacity of 18 oz / 500 ml is large enough for longer outdoor activities such as walking, hiking, and traveling. Your pets can enjoy freshwater anytime, anywhere.

FILL WITH FRESH WATER FROM A TRUSTED SOURCE

Bringing your own fresh, clean water will help prevent health issues associated with drinking from public water bowls and puddles, which could contain disease-causing bacteria, parasites, or unknown toxins. In addition, you can dump the water from the top bowl when your pet has finished drinking, so he or she always gets fresh filtered water.

LIGHTWEIGHT AND SAFE

This pet water bottle is made of HDPE material, is BPA Free, has no odor, is environmentally sound and recyclable; it has removable parts and is easy to clean; it weighs only .22 lb / 100g.

Warm Note

 

To ensure the bottle can be squeezed easily, the body is not super rigid. It is a good idea to wrap it in plastic wrap and then secure it with a rubber band if you want to put it in your bag.

Free shipping

Free worldwide shipping

Easy Returns & Exchanges

30 Days guarantee to return or exchange your products

Outstanding Service

24/7/365 Ticket and Email Support

Secure Payments

90 Days money back guarantee

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.