Skip to content

Recovery equipment manufacturing for global B2B buyers

OMNI Ice cold plunge chillers and ice bath tubs

ONE OEM MANUFACTURING PARTNER

Build Your Cold Plunge & Sauna Product Line

Ice bath chillers, cold plunge tubs and sauna rooms—configured, branded and documented for distributors, wellness brands and commercial projects.

OMNI Ice project and manufacturing evidence

01Scope

Configuration Control

Exact model, duty, electrical variant and water-loop scope.

02Process

Manufacturing Review

Relevant fabrication, assembly, inspection and packing evidence.

03Records

Project Documentation

Quotation, drawings, manuals, test records and controlled revisions.

04Handoff

After-Sales Route

Troubleshooting inputs, spare-parts process and responsibility boundaries.

Complete Recovery Product Range

Choose a product system, then compare the platform

Explore cold plunge chillers, tubs, sauna rooms and integrated systems—available independently or as a coordinated OEM collection.

Cooling platforms for private-label product lines, commercial recovery spaces and integrated plunge systems.

(() => { const root = document.querySelector('.omni-m03-products[data-home-module="m03-product-catalogue"]'); if (!root || root.dataset.m03Ready === 'true') return; root.dataset.m03Ready = 'true'; const fallbackProducts = { chillers: [ ['Portable platform', 'Compact Chiller', 'Mobile cooling for personal, studio and light-commercial setups.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/4.jpg', 'OMNI Ice compact portable cold plunge chiller with telescopic handle'], ['Integrated controls', 'Smart Chiller', 'Configurable controls, filtration and heating for branded systems.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/1.jpg', 'OMNI Ice smart cold plunge chiller with integrated touchscreen controls'], ['Performance range', 'Deep-Freeze Chiller', 'Higher-output cooling for demanding recovery requirements.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/3.jpg', 'OMNI Ice deep-freeze cold plunge chiller in black housing'], ['Commercial output', '1.5 HP Chiller', 'A larger cooling platform for repeated commercial use.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/2.jpg', 'OMNI Ice 1.5 horsepower commercial cold plunge chiller'], ['Mobile cooling', 'FrostCore Chiller', 'A compact wheeled platform for flexible installations.', 'https://coldtubchiller.com/wp-content/uploads/2024/07/frostcore-source-front.webp', 'OMNI Ice FrostCore mobile cold plunge chiller front view'], ['Connected platform', 'Smart 1 HP Chiller', 'A brand-ready platform with integrated control options.', 'https://coldtubchiller.com/wp-content/uploads/2025/09/1-scaled-e1769410904592.webp', 'OMNI Ice smart one horsepower cold plunge chiller'] ], tubs: [ ['Premium finish', 'Wood-Wrapped Tub', 'A warm exterior around a durable cold plunge vessel.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/4-1.jpg', 'OMNI Ice wood-wrapped cold plunge tub for private-label recovery brands'], ['Commercial vessel', 'Stainless Steel Tub', 'A robust, cleanable format for frequent-use installations.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/7.jpg', 'OMNI Ice stainless steel cold plunge tub for commercial recovery facilities'], ['Brand-ready range', 'Custom Tub Collection', 'Material, finish and accessory choices for an OEM range.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/18.jpg', 'OMNI Ice custom cold plunge tub collection for OEM buyers'], ['Modern profile', 'WT-03 Tub', 'A clean-lined vessel for branded residential and studio ranges.', 'https://coldtubchiller.com/wp-content/uploads/2024/07/wt-03-front-view-01.jpg', 'OMNI Ice WT-03 cold plunge tub front view'], ['Commercial format', 'WT-13 Tub', 'A larger plunge format for hospitality and recovery facilities.', 'https://coldtubchiller.com/wp-content/uploads/2024/07/wt-13-front-view-01.jpg', 'OMNI Ice WT-13 commercial cold plunge tub front view'], ['Compact range', 'WT-06 Tub', 'A compact vessel with coordinated finish and fitting options.', 'https://coldtubchiller.com/wp-content/uploads/2025/06/wt-06-front-view-01.jpg', 'OMNI Ice WT-06 compact cold plunge tub front view'] ], saunas: [ ['Compact wellness', 'Indoor Sauna', 'Space-conscious cabins for residential and boutique settings.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/1-2.jpg', 'Indoor sauna room', 'https://coldtubchiller.com/indoor-sauna-manufacturer/'], ['Classic outdoor form', 'Barrel Sauna', 'A recognizable format for gardens, resorts and recovery spaces.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/5-2.jpg', 'Outdoor barrel sauna', 'https://coldtubchiller.com/product/mist-outdoor-barrel-sauna-series/'], ['Architectural range', 'Panoramic Sauna', 'Glass-forward outdoor design for premium hospitality projects.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/7-1.jpg', 'Panoramic outdoor sauna', 'https://coldtubchiller.com/outdoor-sauna-manufacturer/'], ['Outdoor cabin', 'Garden Sauna', 'A durable cabin format prepared for outdoor wellness spaces.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/3-2.jpg', 'Outdoor garden sauna', 'https://coldtubchiller.com/outdoor-sauna-manufacturer/'], ['Straight-wall design', 'Cabin Sauna', 'A flexible format for private-label residential collections.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/4-2.jpg', 'Wood sauna cabin', 'https://coldtubchiller.com/traditional-sauna-manufacturer/'], ['Facility format', 'Commercial Sauna', 'A higher-capacity room concept for hospitality and recovery facilities.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/6-1.jpg', 'Commercial sauna room', 'https://coldtubchiller.com/commercial-sauna-manufacturer/'] ], systems: [ ['Cold system', 'Chiller + Tub Package', 'Matched cooling and vessel components for a coherent plunge system.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/10.jpg', 'Integrated chiller and tub system'], ['Contrast therapy', 'Sauna + Cold Plunge', 'A coordinated hot-and-cold concept for wellness facilities.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/7-1.jpg', 'Sauna and cold plunge system'], ['OEM collection', 'Multi-Product Launch', 'Chillers, tubs and saunas organized into one private-label offer.', 'https://coldtubchiller.com/wp-content/uploads/2026/01/1-scaled.webp', 'OMNI Ice recovery product collection'], ['Brand package', 'Chiller + Branded Tub', 'Cooling, vessel, visual finish and packaging planned together.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/18.jpg', 'Branded chiller and cold plunge tub package'], ['Facility package', 'Commercial Recovery Set', 'Product matching for hotels, gyms, spas and recovery centers.', 'https://coldtubchiller.com/wp-content/uploads/2024/07/04-frostcore-hotel-spa-contrast-therapy.webp', 'Commercial recovery equipment package'], ['Launch support', 'Complete Market Range', 'A coordinated multi-category offer with documentation and delivery planning.', 'https://coldtubchiller.com/wp-content/uploads/2026/02/3-6-scaled.jpg', 'Complete recovery equipment product range'] ] }; const productData = window.OMNI_HOMEPAGE_PRODUCT_DATA || fallbackProducts; const introData = { chillers: 'Cooling platforms for private-label product lines, commercial recovery spaces and integrated plunge systems.', tubs: 'Inflatable, stainless steel, acrylic and wood-wrapped vessels for branded products and commercial installations.', saunas: 'Indoor, outdoor, barrel and panoramic sauna formats for residential, hospitality and contrast-therapy projects.', systems: 'Matched chillers, tubs, saunas and accessories organized as one coherent recovery collection or facility package.' }; const categoryLinks = { chillers: 'https://coldtubchiller.com/cold-plunge-chiller-manufacturer/', tubs: 'https://coldtubchiller.com/plunge-cold-tub-factory/', saunas: 'https://coldtubchiller.com/sauna-manufacturer/', systems: 'https://coldtubchiller.com/oem-cold-plunge-chiller-solutions/' }; const rail = root.querySelector('[data-m03-rail]'); const intro = root.querySelector('[data-m03-intro]'); const previous = root.querySelector('[data-m03-prev]'); const next = root.querySelector('[data-m03-next]'); const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (!reduceMotion && 'IntersectionObserver' in window) { root.classList.add('is-reveal-ready'); const observer = new IntersectionObserver((entries) => { if (!entries[0]?.isIntersecting) return; root.classList.add('is-visible'); observer.disconnect(); }, { threshold: .12 }); observer.observe(root); } else { root.classList.add('is-visible'); } const updateControls = () => { if (!rail) return; const max = Math.max(0, rail.scrollWidth - rail.clientWidth - 2); if (previous) previous.disabled = rail.scrollLeft = max; }; const renderProducts = (key) => { const products = productData[key]; if (!rail || !Array.isArray(products)) return; rail.innerHTML = products.map(([eyebrow, title, copy, image, alt, link]) => ` `).join(''); rail.querySelectorAll('[data-m03-link]').forEach((anchor) => { const href = anchor.getAttribute('data-m03-link'); if (href) anchor.setAttribute('href', href); anchor.removeAttribute('data-m03-link'); }); rail.scrollTo({ left: 0, behavior: 'auto' }); if (intro) intro.textContent = introData[key] || ''; window.requestAnimationFrame(updateControls); }; const moveRail = (direction) => { if (!rail) return; const card = rail.querySelector('.omni-m03-product-card'); const gap = Number.parseFloat(getComputedStyle(rail).gap) || 0; const distance = card ? card.getBoundingClientRect().width + gap : rail.clientWidth * .9; rail.scrollBy({ left: direction * distance, behavior: reduceMotion ? 'auto' : 'smooth' }); }; root.querySelectorAll('[data-m03-tab]').forEach((tab) => { tab.addEventListener('click', () => { root.querySelectorAll('[data-m03-tab]').forEach((item) => { const active = item === tab; item.classList.toggle('is-active', active); item.setAttribute('aria-selected', String(active)); }); renderProducts(tab.dataset.m03Tab); rail?.setAttribute('aria-labelledby', tab.id); }); }); previous?.addEventListener('click', () => moveRail(-1)); next?.addEventListener('click', () => moveRail(1)); rail?.addEventListener('scroll', updateControls, { passive: true }); rail?.addEventListener('keydown', (event) => { if (event.key === 'ArrowLeft') { event.preventDefault(); moveRail(-1); } if (event.key === 'ArrowRight') { event.preventDefault(); moveRail(1); } }); window.addEventListener('resize', updateControls, { passive: true }); window.requestAnimationFrame(updateControls); })();

Product Spotlight

Explore this month’s product selection

A rotating selection of chillers, cold plunge tubs and sauna rooms. Compare individual models, then explore the full range.

CHU-05-RV 1/2 HP Water Chiller for Cold Plunge – 0°C Portable Unit

FeaturedChillers

CHU-05-RV 1/2 HP Water Chiller for Cold Plunge – 0°C Portable Unit

View model specifications and discuss the configuration for your project.

View model
WT-13 Cedar Cold Plunge Tub | Built-In 1HP Chiller

FeaturedTubs

WT-13 Cedar Cold Plunge Tub | Built-In 1HP Chiller

View model specifications and discuss the configuration for your project.

View model
Aura-C1 Compact Round Indoor Sauna

FeaturedSaunas

Aura-C1 Compact Round Indoor Sauna

View model specifications and discuss the configuration for your project.

View model
Smart 1HP Cold Plunge Chiller Unit with Heater & Filter

FeaturedChillers

Smart 1HP Cold Plunge Chiller Unit with Heater & Filter

View model specifications and discuss the configuration for your project.

View model
WT-02 Inflatable Cold Plunge Tub | Portable Chiller-Ready Ice Bath

FeaturedTubs

WT-02 Inflatable Cold Plunge Tub | Portable Chiller-Ready Ice Bath

View model specifications and discuss the configuration for your project.

View model
Aura-C2 Round Indoor Sauna

FeaturedSaunas

Aura-C2 Round Indoor Sauna

View model specifications and discuss the configuration for your project.

View model

Manufacturing & Quality

Production evidence across chillers, tubs and saunas

Review the relevant production, assembly, inspection and shipment evidence before committing to a multi-category recovery project. Each image and record should match the product it represents.

Request a capability review
OMNI Ice cold plunge chiller production and assembly line in China

Chiller Systems

Assembly planned around the selected platform

Cooling circuit, controller, plumbing, electrical configuration and model-specific checks.
01

Chiller integration

Refrigeration, controls, filtration and electrical configuration.

02

Tub fabrication

Stainless, acrylic and wood-finished vessels with fittings and insulation.

03

Sauna woodworking

Cabin structure, glazing, heater, lighting and interior finishing.

04

Quality & delivery

Inspection, documentation, protective packing and spare-parts planning.

Buyer verification

  • Cooling & water circuitPerformance conditions, flow path, connections and applicable water-circuit checks.
  • Electrical & documentationVoltage, controls, labeling and market documents.
  • Operating & final inspectionAgreed operating observations and release records before approval or shipment.

CERTIFICATION & COMPLIANCE SUPPORT

Model-specific certifications & compliance documents.

Review the document type, named holder, listed model or series, electrical version and destination scope before production.

NEED A MARKET-SPECIFIC FILE? Request an applicable documentation review

Document scope depends on the named model, holder, electrical configuration and destination market. Product certificates, laboratory reports and component records are reviewed separately.

(() => { const selector = '.omni-m05a-certifications[data-home-module="m05a-certifications"]'; const initCertificateCarousel = root => { if (!root || root.__omniM05aReady === true) return; const viewport = root.querySelector('[data-m05a-viewport]'); const rail = root.querySelector('[data-m05a-rail]'); const progress = root.querySelector('[data-m05a-progress]'); const progressBar = root.querySelector('[data-m05a-progress-bar]'); const modal = root.querySelector('[data-m05a-lightbox]'); const modalImage = root.querySelector('[data-m05a-lightbox-image]'); const modalTitle = root.querySelector('[data-m05a-lightbox-title]'); const modalOpen = root.querySelector('[data-m05a-lightbox-open]'); const previousButton = root.querySelector('[data-m05a-prev]'); const nextButton = root.querySelector('[data-m05a-next]'); if (!viewport || !rail || !progress || !progressBar || !modal || !previousButton || !nextButton) return; root.__omniM05aReady = true; const originals = [...rail.querySelectorAll('[data-m05a-document]')]; const originalCount = originals.length; let hoverPaused = false; let interactionPaused = false; let resumeTimer = 0; let normalizeTimer = 0; let autoplayTimer = 0; let startupTimer = 0; let continuousPosition = 0; originals.forEach(card => { const clone = card.cloneNode(true); clone.setAttribute('aria-hidden', 'true'); clone.tabIndex = -1; rail.appendChild(clone); }); const loopWidth = () => { const firstClone = rail.children[originalCount]; return originalCount && firstClone ? firstClone.offsetLeft - rail.children[0].offsetLeft : rail.scrollWidth / 2; }; const cardStep = () => { const first = rail.querySelector('.omni-m05a-certifications__card'); const gap = parseFloat(getComputedStyle(rail).gap) || 0; return (first ? first.getBoundingClientRect().width : rail.clientWidth * .75) + gap; }; const normalize = () => { const width = loopWidth(); if (!width) return; continuousPosition = rail.scrollLeft; if (continuousPosition >= width) continuousPosition -= width; if (continuousPosition { const width = loopWidth(); if (!width) return; const logical = ((rail.scrollLeft % width) + width) % width; const thumbWidth = Math.max(progress.clientWidth * Math.min(rail.clientWidth / width, .42), 58); const travel = Math.max(progress.clientWidth - thumbWidth, 0); progressBar.style.width = `${thumbWidth}px`; progressBar.style.transform = `translateX(${travel * (logical / width)}px)`; }; const pauseTemporarily = (delay = 2400) => { interactionPaused = true; window.clearTimeout(resumeTimer); resumeTimer = window.setTimeout(() => { interactionPaused = false; }, delay); }; const moveByCard = (direction, isAutomatic = false) => { normalize(); if (direction < 0 && rail.scrollLeft { normalize(); updateProgress(); }, 650); if (!isAutomatic) pauseTemporarily(); }; const canAutoplay = () => modal.hidden && !hoverPaused && !interactionPaused; const startAutoplay = () => { window.clearInterval(autoplayTimer); window.clearTimeout(startupTimer); const begin = () => { const width = loopWidth(); if (!width || rail.scrollWidth { if (!canAutoplay()) { continuousPosition = rail.scrollLeft; return; } const loop = loopWidth(); if (!loop) return; continuousPosition = rail.scrollLeft + 1; if (continuousPosition >= loop) continuousPosition -= loop; rail.scrollLeft = continuousPosition; updateProgress(); }, 18); }; startupTimer = window.setTimeout(begin, 120); }; const close = () => { modal.hidden = true; modal.setAttribute('aria-hidden', 'true'); document.body.style.overflow = ''; interactionPaused = false; }; previousButton.addEventListener('click', () => moveByCard(-1)); nextButton.addEventListener('click', () => moveByCard(1)); rail.addEventListener('click', event => { const card = event.target.closest('[data-m05a-document]'); if (!card) return; const image = card.querySelector('img'); modalImage.src = card.dataset.m05aDocument; modalImage.alt = image ? image.alt : card.dataset.m05aTitle; modalTitle.textContent = card.dataset.m05aTitle; modalOpen.href = card.dataset.m05aDocument; modal.hidden = false; modal.setAttribute('aria-hidden', 'false'); document.body.style.overflow = 'hidden'; interactionPaused = true; root.querySelector('.omni-m05a-certifications__close').focus(); }); rail.addEventListener('mouseenter', () => { hoverPaused = true; }); rail.addEventListener('mouseleave', () => { hoverPaused = false; continuousPosition = rail.scrollLeft; }); rail.addEventListener('touchstart', () => { interactionPaused = true; }, { passive: true }); rail.addEventListener('touchend', () => { continuousPosition = rail.scrollLeft; pauseTemporarily(1800); }, { passive: true }); rail.addEventListener('pointerup', () => { continuousPosition = rail.scrollLeft; }, { passive: true }); rail.addEventListener('scroll', () => { if (hoverPaused || interactionPaused) continuousPosition = rail.scrollLeft; updateProgress(); }, { passive: true }); window.addEventListener('resize', updateProgress, { passive: true }); root.querySelectorAll('[data-m05a-close]').forEach(item => item.addEventListener('click', close)); document.addEventListener('keydown', event => { if (event.key === 'Escape' && !modal.hidden) close(); }); updateProgress(); startAutoplay(); }; const initAll = scope => { const element = scope instanceof Element ? scope : document; if (element.matches && element.matches(selector)) initCertificateCarousel(element); element.querySelectorAll(selector).forEach(initCertificateCarousel); }; initAll(document); window.addEventListener('elementor/frontend/init', () => { if (!window.elementorFrontend || !window.elementorFrontend.hooks) return; window.elementorFrontend.hooks.addAction('frontend/element_ready/html.default', scope => { initAll(scope && scope[0] ? scope[0] : document); }); }); })();

Multi-Line Customization

Configure the product around your market and brand

Select a product line to see the decisions OMNI can help configure. Each path leads buyers toward the right technical conversation.

OMNI custom cold plunge chiller platform for OEM buyers Chiller Customization
01 / 03
01

Build a cooling platform for your market

Configure performance, electrical requirements, water treatment, appearance and private-label details around a selected chiller platform.

  • Cooling capacity & temperature target
  • Voltage, plug & market documentation
  • Controller, WiFi, heating & filtration
  • Housing, color, logo & packaging
Discuss chiller customization
(() => { const root = document.querySelector('.omni-m06-customization[data-home-module="m06-oem-customization"]'); if (!root || root.dataset.m06Ready === 'true') return; root.dataset.m06Ready = 'true'; /* Add new products to the pool below. The module automatically selects up to 3 per category each week. */ const productPool = { chiller: [ { label:'CHILLER CUSTOMIZATION', title:'Build a cooling platform for your market', copy:'Configure performance, electrical requirements, water treatment, appearance and private-label details around a selected chiller platform.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/1.jpg', alt:'OMNI smart cold plunge chiller for OEM customization', link:'Discuss chiller customization', items:['Cooling capacity & temperature target','Voltage, plug & market documentation','Controller, WiFi, heating & filtration','Housing, color, logo & packaging'] }, { label:'CHILLER CUSTOMIZATION', title:'Match a high-output platform to commercial demand', copy:'Plan cooling output, recovery time, target water volume and continuous operation around a gym, spa or recovery facility.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/3.jpg', alt:'OMNI high-output commercial cold plunge chiller', link:'Discuss commercial chiller options', items:['Cooling output for water volume and ambient climate','Continuous-use and high-frequency recovery planning','Pump, filtration and water-treatment configuration','Commercial housing, spare parts and support scope'] }, { label:'CHILLER CUSTOMIZATION', title:'Create a portable platform for flexible installations', copy:'Adapt a compact chiller platform for studios, private-label kits and mobile recovery concepts without losing the important technical choices.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/4.jpg', alt:'OMNI portable cold plunge water chiller for mobile installations', link:'Discuss portable chiller options', items:['Portable format, handles and mobility details','Temperature, voltage and plug configuration','Finish, logo panel and private-label packaging','Accessory and tubing set for the selected tub'] } ], tub: [ { label:'TUB CUSTOMIZATION', title:'Shape the tub around the user and space', copy:'Select the tub construction, size, finish and connection details to suit a branded product line or a commercial installation.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/4-1.jpg', alt:'OMNI custom wood-wrapped cold plunge tub for private label brands', link:'Discuss tub customization', items:['Inflatable, stainless, acrylic or wood wrapped','Dimensions, shape & water capacity','Insulation, steps, cover & fittings','Finish, logo, accessories & packaging'] }, { label:'TUB CUSTOMIZATION', title:'Specify a stainless vessel for repeat commercial use', copy:'Start from a robust, cleanable vessel format, then define the geometry, plumbing points, exterior treatment and accessory package.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/7.jpg', alt:'OMNI stainless steel cold plunge tub for commercial recovery', link:'Discuss stainless tub options', items:['Stainless steel grade and vessel dimensions','Drainage, inlet, outlet and chiller connection points','Step, lid, insulation and commercial-use accessories','Logo, finish and installation documentation'] }, { label:'TUB CUSTOMIZATION', title:'Develop a visual range that buyers recognize', copy:'Use colour, material and hardware choices to turn a cold plunge vessel into a coherent private-label collection.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/18.jpg', alt:'OMNI custom cold plunge tub collection for OEM brands', link:'Discuss a custom tub range', items:['Exterior colour, panel material and finish options','Brand badge, logo location and visual direction','Accessory combinations and collection consistency','Carton, protective packing and product documentation'] } ], sauna: [ { featured:true, label:'SAUNA CUSTOMIZATION', title:'Create an indoor sauna range for modern spaces', copy:'Plan cabin dimensions, wood, glazing, heat and user details around a residential, studio or hospitality interior.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/3-2.jpg', alt:'OMNI vertical-slat indoor infrared sauna for modern wellness spaces', link:'Discuss indoor sauna customization', items:['Cabin size, layout and indoor installation plan','Wood species, glazing, lighting and bench design','Traditional or infrared heating configuration','Controls, electrical requirements and documentation'] }, { label:'SAUNA CUSTOMIZATION', title:'Configure an outdoor sauna for climate and setting', copy:'Select an outdoor form, weather-ready build details and the visual language that fits a garden, resort or recovery space.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/5-2.jpg', alt:'OMNI outdoor barrel sauna for resorts and recovery spaces', link:'Discuss outdoor sauna customization', items:['Barrel, cabin or outdoor architectural format','Wood treatment, roof, weatherproofing and insulation','Heater, lighting, controls and ventilation','Exterior branding, packing and delivery planning'] }, { label:'SAUNA CUSTOMIZATION', title:'Turn a panoramic sauna into a destination feature', copy:'Coordinate architecture, glass, interior materials and wellness performance for an elevated hotel, resort or contrast-therapy concept.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/7-1.jpg', alt:'OMNI panoramic outdoor sauna room for hospitality projects', link:'Discuss panoramic sauna customization', items:['Panoramic glass, cabin dimensions and site direction','Wood species, benches and interior finishing','Heater, controls, lighting and accessory plan','Brand presentation and facility documentation'] } ], system: [ { label:'SYSTEM INTEGRATION', title:'Bring hot and cold therapy into one project', copy:'Coordinate the chiller, tub, sauna and supporting accessories as a coherent recovery collection or commercial facility package.', image:'https://coldtubchiller.com/wp-content/uploads/2026/02/10.jpg', alt:'OMNI integrated cold plunge chiller tub and sauna system', link:'Discuss a complete system', items:['Chiller and tub performance matching','Sauna and recovery layout planning','Filtration, plumbing & accessory planning','Visual system, documentation & shipment plan'] }, { label:'SYSTEM INTEGRATION', title:'Launch a coordinated product collection under one brand', copy:'Align product families, finishes, controls and sales materials so buyers can understand the range as one complete offer.', image:'https://coldtubchiller.com/wp-content/uploads/2026/01/1-scaled.webp', alt:'OMNI OEM hot and cold recovery equipment product collection', link:'Discuss an OEM collection', items:['Chiller, tub and sauna range selection','Shared finishes, brand cues and accessories','Price structure, packaging and documentation set','Production schedule and market launch planning'] }, { label:'SYSTEM INTEGRATION', title:'Plan a commercial recovery space with fewer gaps', copy:'Match cooling hardware, vessels and sauna formats to traffic, installation conditions and operating requirements before placing an order.', image:'https://coldtubchiller.com/wp-content/uploads/2024/07/04-frostcore-hotel-spa-contrast-therapy.webp', alt:'OMNI commercial cold plunge and sauna contrast therapy system', link:'Discuss a facility recovery system', items:['Guest flow, water volume and target performance','Hot and cold product coordination','Installation, electrical and service planning','Inspection, handover and spare-parts support'] } ] }; const WEEKLY_VISIBLE_ITEMS = 3; const getIsoWeekKey = (date = new Date()) => { const utc = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())); const weekday = utc.getUTCDay() || 7; utc.setUTCDate(utc.getUTCDate() + 4 - weekday); const yearStart = new Date(Date.UTC(utc.getUTCFullYear(), 0, 1)); const week = Math.ceil((((utc - yearStart) / 86400000) + 1) / 7); return `${utc.getUTCFullYear()}-W${String(week).padStart(2, '0')}`; }; const stableHash = (value) => [...value].reduce((hash, char) => ((hash <>> 0; const pickWeeklyProducts = (items, category, weekKey) => { const visibleCount = Math.min(WEEKLY_VISIBLE_ITEMS, items.length); const featured = items.find((item) => item.featured); const rotatingItems = featured ? items.filter((item) => !item.featured) : items; if (!rotatingItems.length) return featured ? [featured] : []; const weekNumber = Number(weekKey.slice(-2)) || 1; const start = (weekNumber + stableHash(category)) % rotatingItems.length; const rotatingSelection = Array.from( { length: Math.max(0, visibleCount - (featured ? 1 : 0)) }, (_, offset) => rotatingItems[(start + offset) % rotatingItems.length] ); return featured ? [featured, ...rotatingSelection] : rotatingSelection; }; const buildWeeklyData = (weekKey) => Object.fromEntries(Object.entries(productPool).map(([category, items]) => [category, pickWeeklyProducts(items, category, weekKey)])); let activeWeekKey = getIsoWeekKey(); let weeklyData = buildWeeklyData(activeWeekKey); const image = root.querySelector('[data-m06-image]'); const label = root.querySelector('[data-m06-label]'); const index = root.querySelector('[data-m06-index]'); const title = root.querySelector('[data-m06-title-copy]'); const copy = root.querySelector('[data-m06-copy]'); const list = root.querySelector('[data-m06-list]'); const link = root.querySelector('[data-m06-link]'); const status = root.querySelector('[data-m06-status]'); const previous = root.querySelector('[data-m06-prev]'); const next = root.querySelector('[data-m06-next]'); const tabs = [...root.querySelectorAll('[data-m06-tab]')]; const panel = root.querySelector('.omni-m06-customization__panel'); const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; let positions = Object.fromEntries(Object.keys(weeklyData).map((key) => [key, 0])); let activeKey = 'chiller'; let activeIndex = positions[activeKey]; let rotationTimer; let weeklyRefreshTimer; const renderItem = (key, itemIndex) => { const items = weeklyData[key]; const item = items && items[itemIndex]; if (!item) return; image.style.opacity = '.3'; window.setTimeout(() => { image.src = item.image; image.alt = item.alt; label.textContent = item.label; index.textContent = String(itemIndex + 1).padStart(2, '0'); title.textContent = item.title; copy.textContent = item.copy; list.innerHTML = item.items.map((line) => `
  • ${line}
  • `).join(''); link.href = '#omni-home-m12-project-inquiry'; link.innerHTML = `${item.link} `; status.textContent = `${String(itemIndex + 1).padStart(2, '0')} / ${String(items.length).padStart(2, '0')}`; image.style.opacity = '1'; }, 110); }; const startRotation = () => { window.clearInterval(rotationTimer); if (reduceMotion) return; rotationTimer = window.setInterval(() => { activeIndex = (activeIndex + 1) % weeklyData[activeKey].length; positions[activeKey] = activeIndex; renderItem(activeKey, activeIndex); }, 3000); }; const moveProduct = (direction) => { const length = weeklyData[activeKey].length; activeIndex = (activeIndex + direction + length) % length; positions[activeKey] = activeIndex; renderItem(activeKey, activeIndex); startRotation(); }; tabs.forEach((tab) => tab.addEventListener('click', () => { activeKey = tab.dataset.m06Tab; positions[activeKey] = 0; activeIndex = 0; tabs.forEach((button) => { const active = button === tab; button.classList.toggle('is-active', active); button.setAttribute('aria-selected', String(active)); }); renderItem(activeKey, activeIndex); startRotation(); })); previous.addEventListener('click', () => moveProduct(-1)); next.addEventListener('click', () => moveProduct(1)); panel.addEventListener('mouseenter', () => window.clearInterval(rotationTimer)); panel.addEventListener('mouseleave', startRotation); panel.addEventListener('focusin', () => window.clearInterval(rotationTimer)); panel.addEventListener('focusout', (event) => { if (!panel.contains(event.relatedTarget)) startRotation(); }); document.addEventListener('visibilitychange', () => document.hidden ? window.clearInterval(rotationTimer) : startRotation()); const scheduleWeeklyRefresh = () => { const now = new Date(); const nextMonday = new Date(now); const daysUntilMonday = (8 - (now.getDay() || 7)) % 7 || 7; nextMonday.setDate(now.getDate() + daysUntilMonday); nextMonday.setHours(0, 0, 0, 0); window.clearTimeout(weeklyRefreshTimer); weeklyRefreshTimer = window.setTimeout(() => { activeWeekKey = getIsoWeekKey(); weeklyData = buildWeeklyData(activeWeekKey); positions = Object.fromEntries(Object.keys(weeklyData).map((key) => [key, 0])); activeIndex = 0; renderItem(activeKey, activeIndex); startRotation(); scheduleWeeklyRefresh(); }, Math.max(1000, nextMonday - now)); }; renderItem(activeKey, activeIndex); startRotation(); scheduleWeeklyRefresh(); })();

    OEM PROJECT DELIVERY

    One clear path from your brief to delivery.

    A multi-category OEM project needs more than a product list. We align the selected product, market requirements, testing, documentation and delivery plan before production begins.

    OMNI Ice team carrying out a model-specific quality inspection
    MODEL-SPECIFIC QUALITY CHECK Built around the agreed configuration
    01

    Share your requirements

    Tell us the product line, target market, quantity, use case and project timing.

    02

    Confirm the configuration

    Match capacity, voltage, controls, finish, logo, accessories and any required samples.

    03

    Build and document the checks

    Production, inspection points and test records follow the approved model specification.

    04

    Pack, deliver and support

    Confirm inspection, packing, shipping documents, spare parts and after-sales scope.

    Start an OEM project

    FROM BRIEF TO SHIPMENT

    Five clear stages from idea to delivery

    01PROJECT BRIEF

    Define the project direction

    Confirm product category, destination market, quantity, business model and launch timing.

    02ENGINEERING

    Define the configuration

    Match performance, materials, dimensions, voltage, controls and required accessories.

    03BRAND & DOCUMENTATION

    Apply the brand system

    Align finish, logo, packaging, manuals and destination-market documentation.

    04VALIDATION

    Confirm sample and test plan

    Agree the sample, inspection points, test records and approval criteria before production.

    05PRODUCTION & DELIVERY

    Manufacture, inspect and ship

    Build against the approval, complete inspection, pack, document and hand over after-sales support.

    READY TO MOVE FORWARD?Bring your market, product and timing to one technical conversation.

    Start an OEM project
    (() => { const module = document.querySelector('[data-home-module="m08-oem-process"]'); if (!module || module.dataset.omniProcessReady) return; module.dataset.omniProcessReady = 'true'; const viewport = module.querySelector('[data-omni-process-viewport]'); const track = module.querySelector('.omni-m08-oem-process__track'); const progress = module.querySelector('[data-omni-process-progress]'); const getStep = () => { const card = track.querySelector('.omni-m08-oem-process__stage'); const gap = parseFloat(getComputedStyle(track).gap) || 0; return card ? card.getBoundingClientRect().width + gap : 0; }; const updateProgress = () => { const available = Math.max(1, viewport.scrollWidth - viewport.clientWidth); progress.style.transform = `translateX(${(viewport.scrollLeft / available) * 500}%)`; }; const move = (direction) => viewport.scrollBy({ left: direction * getStep(), behavior: 'smooth' }); module.querySelector('[data-omni-process-prev]').addEventListener('click', () => move(-1)); module.querySelector('[data-omni-process-next]').addEventListener('click', () => move(1)); viewport.addEventListener('scroll', updateProgress, { passive: true }); let timer = 0; const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; const start = () => { if (timer || prefersReducedMotion) return; timer = window.setInterval(() => { const end = viewport.scrollLeft >= viewport.scrollWidth - viewport.clientWidth - 4; end ? viewport.scrollTo({ left: 0, behavior: 'smooth' }) : move(1); }, 5000); }; const stop = () => { window.clearInterval(timer); timer = 0; }; module.addEventListener('pointerenter', stop); module.addEventListener('pointerleave', start); module.addEventListener('focusin', stop); module.addEventListener('focusout', start); document.addEventListener('visibilitychange', () => document.hidden ? stop() : start()); window.addEventListener('resize', updateProgress, { passive: true }); updateProgress(); start(); })();

    FACTORY & DELIVERY EVIDENCE

    Verify the manufacturing system behind every shipment.

    OMNI Ice brings cold plunge chillers, tubs and sauna rooms into one recovery-equipment portfolio while keeping production, inspection, documentation and shipment evidence tied to the relevant product and approved project.

    BEFORE YOU REQUEST A QUOTE

    Questions buyers usually need answered first.

    Final specifications, certification scope, MOQ, price and lead time depend on the selected product and destination market. These answers help you prepare a clearer first inquiry.

    Send your project requirements
    01Can OMNI supply chillers, cold plunge tubs and saunas as one OEM range?

    Yes. A project can begin with one product family or combine cold plunge chillers, tubs, sauna rooms and related accessories into a coordinated recovery equipment range.

    02What can be customized for an OEM or private-label project?

    Options vary by platform and may include cooling performance, voltage, controls, dimensions, materials, colors, logos, accessories, manuals and packaging.

    03Which certification and test documents can be supplied?

    Selected models have documentation supporting CE, ETL, SAA / RCM, RoHS and applicable electrical or wireless testing. The exact scope is confirmed for each selected model and destination market.

    04What information is needed for an accurate proposal?

    Please share product type, intended use, target temperature, voltage, quantity, destination market, branding needs and preferred delivery date.

    05How are MOQ, price and production lead time confirmed?

    MOQ, quotation and lead time depend on the platform, customization scope, testing needs and order quantity. They are confirmed after the configuration is reviewed.

    (() => { const module = document.querySelector('[data-home-module="m11-buyer-faq"]'); if (!module || module.dataset.omniFaqReady) return; module.dataset.omniFaqReady = 'true'; const items = [...module.querySelectorAll('details')]; items.forEach(item => item.addEventListener('toggle', () => { if (item.open) items.forEach(other => { if (other !== item) other.removeAttribute('open'); }); })); })();

    START YOUR PROJECT

    Start with the right recovery system.

    Tell us the product type and how to reach you. OMNI will recommend a practical starting point for your market.

    • A suitable product direction
    • Key OEM and certification options
    • Clear next steps from our engineering team

    QUICK PROJECT INQUIRY

    Tell us what you need.

    Five quick fields. No long questionnaire.

    Your information will only be used to respond to this project inquiry.