A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 129

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 279

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 151

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 207

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 296

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_database_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_database_driver.php

Line Number: 334

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Session cookie parameters cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Session cannot be started after headers have already been sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 6
Function: __construct

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Util\CaseInsensitiveArray::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: Util/CaseInsensitiveArray.php

Line Number: 44

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Util/CaseInsensitiveArray.php
Line: 15
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 7
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Util\CaseInsensitiveArray::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: Util/CaseInsensitiveArray.php

Line Number: 57

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Util/CaseInsensitiveArray.php
Line: 15
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 7
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Util\CaseInsensitiveArray::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: Util/CaseInsensitiveArray.php

Line Number: 34

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Util/CaseInsensitiveArray.php
Line: 15
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 7
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Util\CaseInsensitiveArray::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: Util/CaseInsensitiveArray.php

Line Number: 51

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Util/CaseInsensitiveArray.php
Line: 15
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 7
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Util\CaseInsensitiveArray::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: Util/CaseInsensitiveArray.php

Line Number: 24

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Util/CaseInsensitiveArray.php
Line: 15
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 7
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Util\CaseInsensitiveArray::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: Util/CaseInsensitiveArray.php

Line Number: 29

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Util/CaseInsensitiveArray.php
Line: 15
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 7
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Util\Set::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: Util/Set.php

Line Number: 40

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Util/Set.php
Line: 8
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 12
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\StripeObject::offsetExists($k) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: lib/StripeObject.php

Line Number: 202

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/StripeObject.php
Line: 8
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 59
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\StripeObject::offsetGet($k) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: lib/StripeObject.php

Line Number: 212

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/StripeObject.php
Line: 8
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 59
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\StripeObject::offsetSet($k, $v) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: lib/StripeObject.php

Line Number: 197

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/StripeObject.php
Line: 8
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 59
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\StripeObject::offsetUnset($k) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: lib/StripeObject.php

Line Number: 207

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/StripeObject.php
Line: 8
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 59
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\StripeObject::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: lib/StripeObject.php

Line Number: 218

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/StripeObject.php
Line: 8
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 59
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\StripeObject::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: lib/StripeObject.php

Line Number: 424

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/StripeObject.php
Line: 8
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 59
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of Stripe\Collection::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: lib/Collection.php

Line Number: 119

Backtrace:

File: /home/canhottubcover/public_html/application/third_party/stripe-php/lib/Collection.php
Line: 13
Function: _error_handler

File: /home/canhottubcover/public_html/application/third_party/stripe-php/init.php
Line: 81
Function: require

File: /home/canhottubcover/public_html/application/libraries/Stripe_lib.php
Line: 31
Function: require

File: /home/canhottubcover/public_html/application/controllers/Products.php
Line: 9
Function: library

File: /home/canhottubcover/public_html/index.php
Line: 315
Function: require_once

Hot Tub
logo

Select Your Shipping Country

  1. USA
  2. Canada

Choose Your Hot Tub Type

  1. In Ground
  2. Above Ground

Choose Your Hot Tub Shape

  1. Hexagonal
  2. Round
  3. Square
  1. Hexagonal
  2. Round
  3. Square

Hot Tub Dimensions *Please add an additional 6 inches to your measurements

Hot Tub Dimensions

Now, Lets Get Your Contact Details

Before we can give you your custom hot tub cover quote, we need a bit more information from you. For giving us your personal information, we are going to offer you a 20% discount off of our already low prices.

Please make sure to use a mobile phone number that you can be easily reached at. If you decide to take advantage of the web-only discount, one of our customer service representatives will call you tomorrow to confirm your details and provide you with the shipping options. Please note that the discount is only valid for orders placed today.