System and method for modifying an operating schedule based on contextual data

By modifying the operating schedule of bathing units using contextual data, the system addresses inefficiencies in energy consumption and user experience by adapting to external factors and preferences, ensuring optimized operation and reduced energy waste.

WO2026097159A1PCT designated stage Publication Date: 2026-05-15GECKO ALLIANCE GROUP
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
GECKO ALLIANCE GROUP
Filing Date
2024-11-08
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Conventional bathing unit systems fail to account for external factors and user preferences, leading to inefficient energy consumption and unsuitable operation, as they often activate components in advance to reach desired temperatures, which can result in unnecessary energy use and mismatched user experiences.

Method used

A method and system that modify the operating schedule based on contextual data, including external, historical, and preference data, to add or modify scheduled bathing sessions, ensuring energy efficiency and personalized user experiences.

Benefits of technology

The solution allows for optimized energy usage and tailored operation of bathing units by considering external factors and user preferences, reducing energy waste and enhancing user satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CA2024051476_15052026_PF_FP_ABST
    Figure CA2024051476_15052026_PF_FP_ABST
Patent Text Reader

Abstract

A method of modifying an operating schedule for operating bathing unit components in a bathing unit system is described. The method involves: receiving contextual data comprising one or more of: external data from at least one external system, historical data of historical use of the bathing unit system, and preference data of preferred use of the bathing unit system; and generating a proposed modification of the operating schedule at least in part by processing the contextual data. The proposed modification may be an addition of an additional bathing session to the operating schedule or modification of an existing scheduled bathing session. The method further involves: transmitting the proposed modification to device to present the proposed modification to a user; and in response to receiving an indication of acceptance of the proposed modification, operating the bathing unit system according to a modified operating schedule including the proposed modification.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] 89003-284

[0002] SYSTEM AND METHOD FOR MODIFYING AN OPERATING SCHEDULE BASED ON CONTEXTUAL DATA

[0003] TECHNICAL FIELD

[0004] [1] The present disclosure relates generally to modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, including but not limited to, a swimming pool, a spa, a hot tub, and other recreational and therapeutic units for holding water. The present disclosure relates more specifically to modifying the operating schedule based on contextual data, wherein the contextual data may include one or more of: external data from at least one external system (separate from the bathing unit system), historical data from historical use of the bathing unit system, preference data representing preferred use of the bathing unit system, and internal data associated with operation of the bathing unit system.

[0005] BACKGROUND

[0006] [2] A bathing unit system typically includes various bathing unit components such as a receptacle holding water, one or more pumps to circulate water in a circulation system comprising a plurality of conduits, one or more temperature change modules (e.g., heaters to increase the water temperature and coolers to decrease the water temperature), a filter system to filter the water and a control system for activating and managing the various components.

[0007] During a typical operation, a user can initiate a bathing session via a control panel. A control system of the bathing unit system then operates the various bathing unit components, including activating the one or more temperature change components, the one or more pumps and / or other bathing unit components in order to create a desirable bathing session for a user. An importance aspect of a desirable bathing session may be a desired water temperature. However, changing a water temperature (either increasing or decreasing) may take some time as a result of thermal inertia (or heat capacity) of the bathing unit system. As such, if the user would like to use a bathing unit system at a certain bathing session start time and at a certain water temperature, the control system needs to activate the one or more temperature change components, one or more pumps and / or one or more heaters or coolers, and / or various components in advance of that session start time.

[0008] [3] Additionally, activating bathing unit components (and in particular, the temperature change components) can consume significant amounts of energy, which result in increased costs 89003-284 for the operating the bathing unit system as energy costs continue to rise. As such, it may be desirable to reduce the amount of time the bathing unit components are activated in order to reduce energy consumption and cost. For example, a user may pre-schedule use of the bathing unit system (i.e., one or more scheduled bathing sessions), and the control system may activate the bathing unit components to reach the desired temperature at the scheduled bathing session time, while maintaining the bathing unit components in a maintain mode (slightly lower temperature) and / or a standby mode (much lower temperature) outside of the scheduled bathing sessions.

[0009] [4] However, external factors (e.g., weather, events in a calendar of a user, energy costs) may influence when and whether a particular user will actually use the bathing unit system during the scheduled bathing sessions. Activating the bathing unit components for a scheduled bathing session that the user will not actually use can consume energy unnecessarily. Further, such external factors may also influence whether a particular user would be interested in using the bathing unit system outside of the scheduled bathing sessions, and how long that user would be willing to wait for the bathing unit system to reach a target water temperature. In situations where the user would like to use the bathing unit system immediately, requiring the bathing unit system to reach the target water temperature rapidly can also consume a significant amount of energy when compared to situations where the bathing unit system was provided with more lead time to reach the target water temperature.

[0010] [5] Against the background above, there is a need in the industry to provide improved methods and systems for monitoring, and taking into account, external factors when operating a bathing unit system according to an operating schedule. This may allow for energy efficiency and cost savings. This may also provide the user with a tailored use experience based on the user’s local environment and the user’s personal preferences and schedule.

[0011] SUMMARY

[0012] [6] Conventional systems fail to provide solutions that monitor external factors and suitably provide recommendations to a user regarding anticipated use of the bathing unit system and / or suitably automatically operate the bathing unit system based on the anticipated use of the bathing unit system.

[0013] [7] In one embodiment, there is provided a method of modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the operating 89003-284 schedule including one or more existing scheduled bathing sessions, the method implemented by at least one processor. The method comprises: receiving contextual data comprising one or more of: external data from at least one external system, historical data of historical use of the bathing unit system, and preference data of preferred use of the bathing unit system; and generating a proposed modification of the operating schedule at least in part by processing the contextual data. The proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions. The method further comprises: transmitting the proposed modification to at least one device to present the proposed modification to a user of the bathing unit system; and in response to receiving an indication of acceptance of the proposed modification from the at least one device, operating the bathing unit system according to a modified operating schedule including the proposed modification.

[0014] [8] The method may further comprise, in response to receiving an indication of rejection of the proposed modification from the at least one device, operating the bathing unit system according to the operating schedule omitting the proposed modification.

[0015] [9] The additional bathing session may comprise one of: an impromptu bathing session having a start time that is within a minimum delay period from a transmission time of the proposed modification to the at least one device; or a scheduled bathing session having a start time that is outside of the minimum delay period from the transmission time of the proposed modification to the at least one device.

[0016]

[0010] The external data may comprise one or more of weather condition data, ambient temperature data, energy cost data, energy cost tier data, user calendar data, user location data, and news data.

[0017]

[0011] The external data may comprise energy cost data, the at least one external system may comprise an external system associated with an energy service provider on an energy grid, the at least one processor may be in communication with the at least one external system over a network, and the energy cost data may be retrieved from the external system associated with the energy service provider over the network.

[0018]

[0012] The external data may comprise energy cost data. The energy cost data may be stored in a storage memory in communication with the at least one processor. 89003-284

[0019]

[0013] The proposed modification may comprise the modification of the existing scheduled bathing session. The method may further comprise deriving cost data associated with the existing scheduled bathing session at least in part by processing the energy cost data. Generating the proposed modification comprising the modification of the existing scheduled bathing session may be in response to the cost data associated with the existing scheduled bathing session satisfying one or more modification criteria.

[0020]

[0014] The contextual data may include at least the external data and at least one of the historical data and the preference data, the external data includes ambient environment data, the proposed modification comprises the addition of the additional bathing session. The method may further comprise processing the ambient environment data, the at least one of the historical data and the preference data, and the operating schedule to identify at least one time slot satisfying one or more modification criteria. The additional bathing session may have a proposed time corresponding to the at least one time slot.

[0021]

[0015] The historical data may comprise one or more of: historical bathing session date / time, historical bathing session duration, historical ambient environment data, historical weather condition data, historical ambient temperature data, historical operational settings data, historical water temperature data, historical ambience data, and historical energy cost data.

[0022]

[0016] The preference data may comprise one or more of: preferred bathing session time, preferred bathing session duration, preferred ambient environment data, preferred weather conditions data, preferred ambient temperature data, preferred operational setting data, preferred water temperature data, preferred water temperature precision data, preferred ambience setting data, and preferred energy cost data.

[0023]

[0017] The contextual data may further comprise internal data associated with operation of the bathing unit system, and the internal data may comprise one or more of: thermal property indicator data, thermal energy input model data and power consumption models.

[0024]

[0018] The proposed modification may comprise the addition of the additional bathing session. The additional bathing session may have proposed operating details including a proposed water temperature and a proposed start time. Transmitting the proposed modification to the at least one device may comprise transmitting the proposed modification at least a notification period in advance of the proposed start time so that the proposed water temperature can be reached by the proposed start time. 89003-284

[0025]

[0019] The proposed modification may comprise the modification of the existing scheduled bathing session. The existing scheduled bathing session may have scheduled operating details including a scheduled start time. Transmitting the proposed modification to the at least one device may comprise transmitting the proposed modification at least a notification period in advance of the scheduled start time so as to prevent activation of the one or more bathing unit components.

[0026]

[0020] Transmitting the proposed modification to the at least one device may comprise transmitting the proposed modification in a proposed modification notification message. The proposed modification notification message may include rationale data indicating how the proposed modification relates to the contextual data.

[0027]

[0021] The modification of the existing scheduled bathing session may comprise: a cancellation of the existing scheduled bathing session; or a modification of operating details of the existing scheduled bathing session.

[0028]

[0022] The at least one device may comprise a control panel of the bathing unit system.

[0029]

[0023] The at least one device may comprise a user device associated with the user.

[0030]

[0024] The at least one device may be configured to display a user interface conveying the proposed modification. The user interface may be further configured to receive user input comprising the indication of acceptance of the proposed modification or an indication of rejection of the proposed modification.

[0031]

[0025] The historical data may convey historical use of the bathing unit system by individual users of the bathing unit system, for example historical use of the bathing unit system by a specific user of the bathing unit system or the historical use of the bathing unit system by each of at least two specific users of the bathing unit system.

[0032]

[0026] The preference data may convey a preferred use of the bathing unit system by individual users of the bathing unit system, for example preferred use of the bathing unit system by a specific user of the bathing unit system or the preferred use of the bathing unit system by each of at least two specific users of the bathing unit system.

[0033]

[0027] In another embodiment, there is provided a system for modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the 89003-284 operating schedule including one or more existing scheduled bathing sessions. The system comprises at least one storage memory configured to store one or more of historical data of historical use of the bathing unit system and preference data of preferred use of the bathing unit system. The system further comprises at least one processor in communication with the at least one storage memory and configured to: retrieve contextual data comprising one or more of: external data from at least one external system, the historical data, and the preference data; and generate a proposed modification of the operating schedule at least in part by processing the contextual data. The proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions. The at least one processor is further configured to: transmit the proposed modification to at least one device to present the proposed modification to a user of the bathing unit system; and operate the bathing unit system according to a modified operating schedule including the proposed modification in response to receiving an indication of acceptance of the proposed modification from the at least one device.

[0034]

[0028] The external data may comprise energy cost data. The at least one external system may comprise an external system associated with an energy service provider on an energy grid. The at least one processor may be in communication with the external system associated with the energy service provider over a network. The energy cost data may be retrieved from the external system associated with the energy service provider.

[0035]

[0029] The external data may comprise energy cost data. The energy cost data may be stored in the at least one storage memory.

[0036]

[0030] The proposed modification may comprise the modification of the existing scheduled bathing session. The at least one processor may be further configured to derive cost data associated with the existing scheduled bathing session at least in part by processing the energy cost data. The at least one processor may be configured to generate the proposed modification comprising the modification of the existing scheduled bathing session in response to the cost data associated with the existing scheduled bathing session satisfying one or more modification criteria.

[0037]

[0031] The contextual data may include at least the external data and at least one of the historical data and the preference data, the external data may include ambient environment data, the proposed modification may comprise the addition of the additional bathing session. The at 89003-284 least one processor may be further configured to process the ambient environment data, the at least one of the historical data and the preference data, and the operating schedule to identify at least one time slot satisfying one or more modification criteria. The at least one processor may be configured to generate the proposed modification comprising the additional bathing session having a proposed bathing session time corresponding to the at least one time slot.

[0038]

[0032] The historical data may convey historical use of the bathing unit system by individual users of the bathing unit system, for example historical use of the bathing unit system by a specific user of the bathing unit system or the historical use of the bathing unit system by each of at least two specific users of the bathing unit system.

[0039]

[0033] The preference data may convey a preferred use of the bathing unit system by individual users of the bathing unit system, for example preferred use of the bathing unit system by a specific user of the bathing unit system or the preferred use of the bathing unit system by each of at least two specific users of the bathing unit system.

[0040]

[0034] In another embodiment, there is provided a computer-readable storage storing computer-executable instructions which, when executed by at least one processor, causes the at least one processor to: receive contextual data comprising one or more of: external data from at least one external system, historical data of historical use of a bathing unit system, and preference data of preferred use of the bathing unit system; and generate a proposed modification of an operating schedule for operating one or more bathing unit components in the bathing unit system, the operating schedule including one or more existing scheduled bathing sessions. The proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or cancellation of an existing scheduled bathing session of the one or more existing scheduled bathing sessions. The computer-executable instructions, when executed by at least one processor, further cause the at least one processor to: transmit the proposed modification to at least one device to present the proposed modification to a user of the bathing unit system; and operate the bathing unit system according to a modified operating schedule including the proposed modification in response to receiving an indication of acceptance of the proposed modification from the at least one device.

[0041]

[0035] In another embodiment, there is provided a method of modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the operating schedule including one or more existing scheduled bathing sessions, the method 89003-284 implemented by at least one processor. The method comprises: receiving contextual data comprising one or more of: external data from at least one external system, historical data of historical use of the bathing unit system, and preference data of preferred use of the bathing unit system; and generating a proposed modification of the operating schedule at least in part by processing the contextual data. The proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions. The method further comprises operating the bathing unit system according to a modified operating schedule. The modified operating schedule includes the proposed modification.

[0042]

[0036] The external data may comprise energy cost data. The at least one external system may comprise an external system associated with an energy service provider on an energy grid. The at least one processor may be in communication with the external system associated with the energy service provider over a network. The energy cost data may be retrieved from the external system associated with the energy service provider.

[0043]

[0037] The external data comprises energy cost data. The energy cost data may be stored in a storage memory in communication with the at least one processor.

[0044]

[0038] The proposed modification may comprise the modification of the existing scheduled bathing session. The method may comprise deriving cost data associated with the existing scheduled bathing session at least in part by processing the energy cost data. Generating the proposed modification comprising the modification of the existing scheduled bathing session may be in response to the cost data associated with the existing scheduled bathing session satisfying one or more modification criteria.

[0045]

[0039] The contextual data may include at least the external data and at least one of the historical data and the preference data, the external data may include ambient environment data, the proposed modification may comprise the addition of the additional bathing session. The method may comprise processing the ambient environment data, the at least one of the historical data and the preference data, and the operating schedule to identify at least one time slot satisfying one or more modification criteria. The additional bathing session may have a proposed bathing session time corresponding to the at least one time slot.

[0046]

[0040] The historical data may comprise one or more of: historical bathing session date / time, historical bathing session duration, historical ambient environment data, historical 89003-284 weather condition data, historical ambient temperature data, historical operational settings data, historical water temperature data, historical ambience data, and historical energy cost data.

[0047]

[0041] The preference data may comprise one or more of: preferred bathing session time, preferred bathing session duration, preferred ambient environment data, preferred weather conditions data, preferred ambient temperature data, preferred operational setting data, preferred water temperature data, preferred water temperature precision data, preferred ambience setting data, and preferred energy cost data.

[0048]

[0042] The contextual data may further comprise internal data associated with operation of the bathing unit system. The internal data may comprise one or more of: thermal property indicator data, thermal energy input model data and power consumption models.

[0049]

[0043] In another embodiment, there is provided a method of modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the operating schedule including one or more existing scheduled bathing sessions, the method implemented by at least one device processor. The method comprises receiving, from a control system associated with the bathing unit system, a proposed modification of the operating schedule generated at least in part based on contextual data. The contextual data comprises one or more of external data from at least one external system, historical data of historical use of the bathing unit system, and preference data of preferred use of the bathing unit system. The proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions. The method further comprises: displaying, via at least one user interface in communication with the at least one device processor, the proposed modification to a user of the bathing unit system; receiving, via the at least one user interface, an indication of acceptance of the proposed modification from the user; and transmitting the indication of acceptance to the control system to instruct the control system to operate the bathing unit system according to a modified operating schedule including the proposed modification.

[0050]

[0044] The proposed modification may comprise the addition of the additional bathing session. The additional bathing session has proposed operating details. The method may further comprise receiving, via the at least one user interface, a modification of the proposed operating details. Transmitting the indication of acceptance to the control system may comprise transmitting 89003-284 the modified proposed operating details to the control system to instruct the control system to operate the bathing unit system according to the modified proposed operating details.

[0051]

[0045] The proposed modification may comprise the modification of the existing scheduled bathing session. The existing scheduled bathing session has scheduled operating details. The method may further comprise receiving, via the at least one user interface, a modification of the scheduled operating details. Transmitting the indication of acceptance to the control system may comprise transmitting the modified scheduled operating details to the control system to instruct the control system to operate the bathing unit system according to the modified scheduled operating details.

[0052]

[0046] All features of embodiments which are described in this disclosure and are not mutually exclusive can be combined with one another. Elements of one embodiment can be utilized in the other embodiments without further mention. Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments in conjunction with the accompanying Drawings.

[0053] BRIEF DESCRIPTION OF THE DRAWINGS

[0054]

[0047] A detailed description of the embodiments of the present invention is provided herein below, by way of example only, with reference to the accompanying drawings, in which:

[0055]

[0048] Figure 1 is a schematic diagram of a bathing unit system in accordance with one embodiment;

[0056]

[0049] Figure 2 is a schematic diagram of a controller of the bathing unit system of Figure

[0057] 1 showing elements involved in operating one or more bathing unit components of the bathing unit system in accordance with one embodiment;

[0058]

[0050] Figures 3A-3E schematic representations of data stores in the controller of Figure

[0059] 2 in accordance with one embodiment;

[0060]

[0051] Figure 4 is schematic representation of a user interface for adding preference data to a preference data store of the data stores of Figure 3D in accordance with one embodiment 89003-284

[0061]

[0052] Figure 5 is a schematic diagram of a system including a control panel, a control server, user devices and external servers in communication with the controller of Figure 2 in accordance with another embodiment;

[0062]

[0053] Figures 6A and 6B are schematic representations of user interfaces for adding scheduled sessions displayed on the control panel or the user devices of Figure 5 in accordance with one embodiment;

[0063]

[0054] Figure 7 is a flowchart of a process for generating an operating schedule executed using at least one of the controller of Figure 2, the control panel, the control server, the user devices, and the external servers of Figure 5 in accordance with one embodiment;

[0064]

[0055] Figures 8A and 8B are schematic representations of conflict notification messages associated with scheduled sessions and displayed on the control panel or the user devices of Figure 5 in accordance with one embodiment;

[0065]

[0056] Figure 9 is a flowchart of a process for generating a proposed modification to the operating schedule executed using at least one of the controller of Figure 2, the control panel, the control server, the user devices, and the external servers of Figure 5 in accordance with one embodiment; and

[0066]

[0057] Figures 10A-10G are schematic representations of proposed modification notification messages associated with the proposed modification and displayed on the control panel or the user devices of Figure 5 in accordance with one embodiment.

[0067]

[0058] In the drawings, the embodiments of the invention are illustrated by way of examples. It is to be expressly understood that the description and drawings are only for the purpose of illustration and are an aid for understanding. They are not intended to be a definition of the limits of the invention.

[0068] DETAILED DESCRIPTION

[0069]

[0059] The description below is directed to specific implementations and uses of embodiments of the invention in the context of bathing unit system. The phrase “bathing unit system” as used herein include without limitation spas / swim-spas, whirlpools, hot tubs, bath tubs, therapeutic baths and swimming pools and any other type of unit having a receptacle for holding water. Moreover, while specific embodiments have been described for use in the context of 89003-284 bathing unit systems, one skilled in the art will appreciate that, in view of the present description, alterative embodiments may be configured for use in any system including a body of water in which contextual data including one or more of external data, historical data, preference data, and / or internal data may be used to recommend modified control of different components of the system or to automate modified control of different components of the system.

[0070]

[0060] In addition, for the purpose of the disclosure and to facilitate understanding, certain reference numerals appear in the description followed by an apostrophe “ ‘ “ to denote a modified version of the element referenced by the refence numeral in the figure.

[0071] Bathing unit system 100

[0072]

[0061] One embodiment of a bathing unit system 100 installed at a field location 101 is shown in Figure 1. In the embodiment shown, the bathing unit system 100 includes a receptacle 102 for holding water 103. The receptacle 102 includes a plurality of water inlets 120 (five are shown in Figure 1) which will typically be connected to respective jets and a plurality of water outlets 122 (three are shown in Figure 1) of the receptacle 102. The bathing unit system 100 further includes a circulation system 104 including a plurality of conduits 124 for removing water from and returning water to the receptacle 102 through the water inlets 120 and the water outlets 122. One skilled in the art will appreciate that practical implementations of the bathing unit system 100 may include additional or fewer water inlets 120, additional or fewer water outlets 122, different configuration of conduits 124 in the circulation system 104 interconnecting the water inlets 120 and the water outlets 122 then those shown in Figure 1 , etc.

[0073] Bathing unit components

[0074]

[0062] The bathing unit system 100 includes one or more bathing unit components. In the embodiment shown in Figure 1 , the bathing unit components includes at least one filter 108, at least one pump 106, at least one temperature change component 110 and at least one sensor 112, and a control system 118 in communication with these bathing unit components. In other embodiments, the bathing unit system 100 may include additional or alternative bathing unit components associated with the bathing unit system 100, such as at least one light for lighting the receptacle 102, at least one speaker for projecting music or other audio data around the bathing unit system 100 for ambience, at least one diverter component for switching or diverting flow of the water 103 away from or towards a specific water inlet 120, at least one air blower for introducing air into the water 103, etc. 89003-284

[0075]

[0063] The filter 108 may generally function to filter solids and other debris from the water 103. Only a single filter 108 positioned in the circulation system 104 before the other bathing unit components is shown in Figure 1 ; in other embodiments, the bathing unit system 100 may include more than one filter 108, and may, e.g., include smaller filters associated with the with the at least one pump 106 and the at least one temperature change component 110.

[0076]

[0064] The at least one pump 106 may generally function to circulate the water 103 from the receptacle 102 through the water outlets 122, through the circulation system 104 and back into the receptacle 102 through the water inlets 120. In the embodiment shown, the at least one pump 106 includes a first pump 130, a second pump 132 and a third pump 134. In other embodiments, the bathing unit system 100 may include more additional or fewer pumps 106. In some embodiments, in addition to circulating the water 103, the at least one pump 106 may also input thermal energy into the water 103 to raise a temperature of the water 103. For example, agitation of the water 103 by impellers of the at least one pump 106 may input thermal energy into the water 103. Additionally, the at least one pump 106 may be placed within an interior of a spa cabinet of the bathing unit system 100, which may be a closed and insulated space. As motors of the at least one pump 106 operate to circulate the water 103, the motors may produce thermal energy which may be trapped in the interior of the spa cabinet and which may be transferred through the receptacle 102 or through the conduits 124.

[0077]

[0065] The first pump 130 may be a powered pump including a motor (not shown) which draws energy from a power source 116. The first pump 130 may comprise a variable speed pump and may be operate in, for example, a “low” mode where the motor of the first pump 130 draws a low amount of energy from the power source 116 to operate at a corresponding low speed, a “standard” mode drawing a standard amount of energy to operate at a standard speed, and a “high” mode drawing a high amount of energy to operate at a high speed. Alternatively, the first pump 130 may be a percentage modulated pump and the motor may operate anywhere between 0% and 100% of a maximum speed, and may correspondingly draw anywhere between 0% and 100% of a maximum amount of energy from the power source 116.

[0078]

[0066] The second and third pumps 132 and 134 may also be powered pumps including respective motors (not shown) which draw energy from the power source 116. In the embodiment shown, the second and third pumps 132 and 134 may be a variable speed pump similar to the first pump 130, and may operate in, for example, a “low” mode, a “standard” mode and a “high” mode. In other embodiments, at least one of the second and third pumps 132 and 134 may instead 89003-284 comprise a single speed pump or a dual speed pump and, in operation, may only include “on” (first speed and / or second speed) mode where the corresponding motor draws a fixed amount of energy from the power source 116 and an “off” mode drawing no energy (or negligible energy).

[0079]

[0067] The at least one temperature change component 110 may generally function to change a temperature of the water 103 flowing through the circulation system 104 and within the receptacle 102 by inputting thermal energy or by removing thermal energy. In the embodiment shown, the at least one temperature change component 110 may include a primary heater 150 generally configured to heat the water 103, a primary cooler 152 generally configured to cool the water 103 and a combined auxiliary heater / cooler 154 generally configured to assist the primary heater 150 and / or the primary cooler 152 as applicable. In other embodiments, the bathing unit system 100 may include additional, fewer or alternative temperature change components 110.

[0080]

[0068] The primary heater 150 may be an electrical heater including a heating element which draws energy from the power source 116. The primary heater 150 may be operable in, for example, a “low” mode where the heating element draws a low amount of energy from the power source 116 to generate a correspondingly low amount of thermal energy, a “standard” mode drawing a standard amount of energy to generate a corresponding standard amount of thermal energy, and a “high” mode drawing a high amount of energy to generate a correspondingly high amount of thermal energy. Alternatively, the primary heater 150 may be a percentage modulated heater, and the heating element may operate anywhere between 0% and 100% of a maximum heating capacity, and may draw anywhere between 0% and 100% of a maximum amount of energy from the power source 116. Alternatively, or in addition, one or more pumps may include a respective heater built into the wet portion of the pump. In such alternative embodiment, each built-in heater can be activated independently from the other heaters, and activation or deactivation of each heater in different pumps will generate different amounts of thermal energy. It is understood that such built-in heaters can also be modulated to generate a plurality of amount of thermal energy as described above in the primary heater.

[0081]

[0069] The primary cooler 152 may be a thermoelectric cooling element which draws energy from the power source 116 to transfer heat from one surface of the primary cooler 152 (e.g., a cold surface) to another surface of the primary cooler 152 (e.g., a hot surface). Similar to the primary heater 150, the primary cooler 152 may be operable in, for example, a “low” mode, a “standard” mode and a “high” mode. It is understood that the primary cooler can be operated using different mechanisms such as using a Peltier element, chiller systems, a cooling tower, a 89003-284 closed loop system and a heat pump using refrigerant. As was the case above with respect to the primary heater, one or more pumps may include a respective cooler built into the wet portion of the pump. In such alternative embodiment, each built-in cooler can be activated independently from the other coolers, wherein activation or deactivation of each of the different cooler in different pumps will generate different cooling effects. Alternatively, similar to the primary heater 150, the primary cooler 152 may also have a percentage modulated operation.

[0082]

[0070] The auxiliary heater / cooler 154 may be a heat transfer module such as a heat pump which draws energy from the power source 116 to transfer thermal energy from one area (e.g., cool area) to another area (e.g., hot area). Similar to the primary heater 150, the auxiliary heater / cooler 154 may also be operable in, for example, a “low” mode, a “standard” and a “high” mode. Alternatively, again similar to the primary heater 150, the auxiliary heater / cooler 154 may also have a percentage modulated operation. The auxiliary heater / cooler 154 may draw less energy from the power source 116 when compared to either the primary heater 150 or the primary cooler 152.

[0083]

[0071] As will be described below, different combinations of the at least one pump 106 and the at least one temperature change component 110 and different combinations of operational modes thereof may be controlled by the control system 118 to operate the bathing unit system 100 based on the operating schedule or the modified operating schedule as described below.

[0084]

[0072] The at least one sensor 112 may generally function to sense and / or measure a temperature of the water 103 within the receptacle 102, as well as an ambient temperature of the environment surrounding the bathing unit system 100. In the embodiment shown, the at least one sensor 112 includes a receptacle temperature sensor 160 configured to sense a temperature of the water 103 within the receptacle 102, an inline temperature sensor 162 configured to sense a temperature of the water 103 before or after it passes through the at least one temperature change component 110, and an ambient temperature sensor 164 configured to sense an ambient temperature of the environment around the bathing unit system 100. In other embodiments, the at least one sensor 112 may include additional and / or alternative sensors which sense attributes of the water 103 within the bathing unit system different from water temperature, and may include, e.g., a depth sensor, water level sensor, a flow sensor, a pH sensor, an ORP sensor, a turbidity sensor, etc. In yet other embodiments, the at least one sensor may further include additional and / or alternative sensors which sense environmental factors other than ambient temperature, 89003-284 and may include e.g., a humidity sensor, a light sensor, the windspeed sensor, precipitation sensor, etc.

[0085] At least one insulating component 114

[0086]

[0073] Still referring to Figure 1 , as described above, the bathing unit system 100 includes at least one insulating component 114. The at least one insulating component 114 generally function to maintain thermal energy in the water 103 held in the receptacle 102. Accordingly, thermal properties and thermal property indicators calculated for the bathing unit system 100 (e.g., a k constant, a thermal conductivity H and / or a thermal resistance 0 as described below in association with an internal data store 216) depend on a quality and condition of the at least one insulating component 114 of the bathing unit system 100. The at least one insulating component 114 may include a cover, cabinet insulation and receptacle insulation (not shown). In other embodiments, the at least one insulating component 114 may include fewer, additional or alternative insulating components.

[0087]

[0074] The cover may comprise a cover foam encased in a covering, and which forms a cover seal with around a perimeter of the receptacle 102. An insulating capacity of the cover may be proportional to (a) a material, density, and thickness of the cover foam, (b) a material of the covering, (c) a current condition of the cover foam (e.g., whether the cover foam is wet, frozen, etc.), and / or (d) a current condition of the covering (e.g., whether the covering has any cracks or tears). As the cover functions to cover the opening of the receptacle 102 (from which a majority of the thermal energy in the water 103 can escape), a large portion of the total insulative capacity of the at least one insulating component 114 may be due to the insulative capacity of the cover and the integrity of a seal formed by the cover seal.

[0088]

[0075] The cabinet insulation may be placed around the receptacle 102 within the spa cabinet. An insulation capacity of the cabinet insulation may be proportional to at least (a) a material, density and thickness of the cabinet insulation, (b) a placement of the cabinet insulation (e.g., placing the cabinet insulation on a surface of the receptacle 102 and / or on a surface of the spa cabinet), (c) a material of the spa cabinet, (d) a condition of the cabinet insulation (e.g., again whether the cabinet insulation is wet, frozen, etc.), and (e) a condition of the spa cabinet (e.g., whether the spa cabinet is fully enclosed or has an cracks or openings). 89003-284

[0089] Control system 118

[0090]

[0076] Referring to Figures 1 and 2, the bathing unit system 100 includes the control system 118 in communication with the different bathing unit components including the at least one pump 106, the filter 108, the at least one temperature change component 110, the at least one sensor 112 and the power source 116. The control system 118 is generally configured to activate and deactivate the different bathing unit components to control the bathing unit system 100 according to the operating schedule or the modified operating schedule as described below. In the embodiment shown, the control system 118 includes a controller 180, a control server 182, and a control panel 188. In other embodiments, the control system 118 may only include the controller 180, only include the control server 182 or only include the control panel 188. The controller 180 and the control panel 188 may be located physically near (e.g., at the same field location 101) the bathing unit system 100. In contrast, the control server 182 may be located physically separate (e.g., in a different building from) the bathing unit system 100. The controller 180 and / or the control server 182 may generally be configured to receive parameters from the different bathing unit components noted above and to execute different processes to generate an operating schedule or a modified operating schedule, to operate the bathing unit system 100 based on the operating schedule or the modified operating schedule and / or to determine proposed modifications for modifying the operating schedule as described below. In some implementations, the controller 180, the control server 182, the control panel 188 and / or at least one user device 184 may collaborate with each other to implement different processes, or different parts of the processes, described in the present disclosure. Typically, the controller will activate and deactivate the different bathing unit components by selectively connecting the components to the power source. Alternatively, the different bathing unit components such pumps, heater, cooler, audio devices and lighting devices can have a permanent power source connected to them and the controller can activate and deactivate the component via a control signal, a suitable wired communication protocol or any suitable wireless communication protocol.

[0091] Controller 180

[0092]

[0077] Referring to Figure 2, the controller 180 includes at least one local processor 190, a storage memory 192, a program memory 194 and a I / O interface 196, all in communication with the local processor 190. Other embodiments of the controller 180 may include fewer, additional or alternative components. Additionally, although only a single local processor 190, single storage memory 192, single program memory 194 and single I / O interface 196 are shown in Figure 2, other embodiments of the controller 180 may include more than one of each of these components. 89003-284

[0093] For example, the controller 180 may include at least one first processor positioned topside of the receptacle 102 configured to perform some of the functions of the controller 180 and at least one second processor positioned within the spa cabinet configured to perform other functions of the controller 180. As another example, the controller 180 may include the at least one first processor positioned topside of the receptacle 102 (e.g., forming a part of the control panel 188) configured to perform some functions of the controller 180, and two different processors (e.g., a spa pack and a separate central processor) positioned within the spa cabinet configured to perform some other functions of the controller 180. It is understood that portions of the storage memory 192may be located in different physical storage mediums, and that one or more portions of the program memory 194 may be located also in the control panel and / or the control server.

[0094] I / O interface 196

[0095]

[0078] The I / O interface 196 includes an interface for the local processor 190 to communicate commands to, and receive information from, the bathing unit components. In the embodiment shown, the local processor 190 may communicate with these bathing unit components via a wired connection; in other embodiments, the local processor 190 may also communicate with the bathing unit components over a wireless network 181 (e.g., a wireless network such as a Wi-Fi network, a Bluetooth network, a radio frequency network or a cellular network). The I / O interface 196 may further include a communication module which generally enables the local processor 190 to (a) communicate with a remote processor 200 of the control server 182 over the network 181 (shown in Figure 5), (b) at least one user device 184 (two user devices 184A and 184B are shown in Figure 5) associated with a user of the bathing unit system 100 over the network 181 , (c) at least one external system 186 associated with at least one external system separate from the bathing unit system 100 over the network 181 , and / or (d) the control panel 188 of the bathing unit system 100 as described below. The I / O interface 196 may also enable the controller 180 to supply power from the power source 116 to the different bathing unit components as described below. The I / O interface 196 may include any communication interface which enables the local processor 190 to perform the functions as described above and below, including specialized or standard I / O interface technologies such as channel, port-mapped, asynchronous for example.

[0096] Storage memory 192

[0097]

[0079] Still referring to Figure 2, the storage memory 192 stores information retrieved or generated by the local processor 190 and may generally function as an information or data store. 89003-284

[0098] In the embodiment shown, the storage memory 192 may include a user data store 210 and contextual data stores 212. The contextual data stores 212 include an external data store 213, a historical data store 214, a preference data store 215 and an internal data store 216. In other embodiments, the storage memory 192 may include fewer, additional or alternative data stores.

[0099] User data store 210

[0100]

[0080] The user data store 210 may store user data associated with different users of a particular bathing unit system 100. Each entry in the user data store 210 may be associated with a unique user identifier (e.g. userJD) and a description. For example, referring to Figure 3A, one embodiment of the user data store 210 includes: (i) entry 600 corresponding to a first user named John and having a userJD of “John”; entry 602 corresponding to a second user named Jane and having a userJD of “Jane”; and entry 604 corresponding to a third user named Jack and having a userJD of “Jack”. Each of the entries 600, 602 and 604 may be associated with a user type field 610 and a description field 612. One skilled in the art will appreciate that alterative embodiments of the user data store 210 may include more, fewer or alternative entries based on a number of users using a particular bathing unit system 100 and may have a different data store structure including fewer, additional or alternative fields. Additionally, new entries may be added to the user data store 210 when a new user profile for a new user of the bathing unit system 100 is created (e.g., via a user interface of the user device 184 and / or a user interface of the control panel 188).

[0101] External data store 213

[0102]

[0081] The external data store 213 may persistently or permanently store external data retrieved from an external system. As used herein, the phrase “external system” generally means any system separate from the bathing unit system 100 (e.g., any system separate from the receptacle 102, the bathing unit components (e.g., the circulation system 104, the at least one pump 106, the at least one filter 108, the at least one temperature component 110, the at least one sensor 112, the at least one insulating component 114 etc.), and the control system 118 (e.g., the controller 180, the control server 182 and the control panel 188)). Accordingly, as used herein, the phrase “external data” generally means data received from the external system separate from the bathing unit system 100. In some embodiments, the external system may include the user device 184 associated with a user of the bathing unit system 100. In other embodiments, the external system may be an external system 186 (e.g., three external systems 186A, 186B and 186C are shown in Figure 5) associated with an external service provider. The external service 89003-284 provider may be a weather service provider, an energy service provider on an energy grid, a calendar service provider, a location positioning service provider, a news service provider etc.

[0103]

[0082] In some embodiments, the external data may comprise ambient environment data at the field location 101 , including one or more of current weather condition data for a current time, current ambient temperature data for the current time, forecasted weather condition data for a future date / time and / or forecasted ambient temperature data for a future date / time. The weather condition data may comprise one or more of: (i) a description of weather condition (e.g., sunny, cloudy, rain, snow, etc.); (ii) an amount of precipitation (e.g., 0mm, 5mm, 10mm); (iii) air pressure; (iv) humidity; (v) wind speed; (vi) wind direction; (vii) LIV index; etc. The ambient temperature data may comprise one or more of: (i) ambient temperature in Celsius or Fahrenheit; (ii) an indicator that the ambient temperature was above or below a threshold (e.g., above, at, below); (iii) ambient temperature categories (e.g., very hot, hot, slightly hot, very warm, warm, slightly warm, slightly cold, cold, very cold, etc.); etc. This ambient environment data may be retrieved by the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) from at least one weather service provider (e.g., The Weather Channel™) over the network 181 , such as from the first external system 186A (shown in Figure 5) associated with a weather service provider. This ambient environment data may also be retrieved by the control system 118 from a weather application installed on the user device 184. In some other embodiments, the ambient environment data may also be retrieved from the at least one sensor 112 of the bathing unit system 100, such as the ambient temperature sensor 164.

[0104]

[0083] In some embodiments, the external data may also comprise energy cost data related to costs for operating the bathing unit system 100. The energy cost data may comprise electrical costs in embodiments where the power source 116 supplies electrical power, oil costs in embodiments where the at least one power source 116 is an oil-based boiler, gas costs in embodiments where the at least one power source 116 is a gas-based boiler, etc. The energy cost data may comprise one or more of (i) a rate per kilowatt hour ($ / kWh); (ii) energy cost tiers for different times of day, including, times of day associated with off-peak (e.g., 7AM-4PM, 9PM- 11 PM), on-peak (e.g., 4PM-9PM) and overnight (e.g., 11 PM-7AM); (iii) Seasonal energy rate rate information wherein prices change with the season; (iv) dynamic pricing data etc. This energy cost data be retrieved by the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) from at least one energy service provider (e.g., BC Hydro®) on an energy grid over the network 181 , such as from the second 89003-284 external system 186B (shown in Figure 5) associated with an energy service provider. This energy cost data may also be retrieved by the control system 118 from an energy management application installed on the user device 184. In some embodiments, the energy cost data may be relatively stable over a period of time. The energy cost data may be manually inputted by a user (e.g., via the user interface of the user device 184 and / or the control panel 188) and stored in storage memory in communication with the control system 118 (e.g., the storage memory 192 of the controller 180, a storage memory 202 of the control server 182, a storage memory associated with the user device 184 and / or a storage memory associated with the control panel 188). Additionally, or alternatively, the energy cost data may be automatically retrieved from the second external system 186B by the control system 118 or the user device 184 and then stored in the storage memory 192.

[0105]

[0084] In some embodiments, the external data may comprise external user data related to a user of the bathing unit system 100. The external user data may include user calendar data conveying external events of a user separate from bathing sessions involving use of the bathing unit system 100. The user calendar data may include one or more of: (i) a binary indicator of whether the user is “free” versus “busy” (e.g., has another event scheduled); (ii) specific events (e.g., has a dinner with Jane scheduled); (iii) specific dates and times (e.g., on October 25 between 6PM and 8PM); (iv) general indicator of times of day (e.g., morning, afternoon, evening, overnight); etc. This user calendar data be retrieved by the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) from at least one calendar service provider (e.g., Google® calendar or Outlook® calendar) over the network 181 , such as from the third external system 186C (shown in Figure 5) associated with a calendar service provider. This user calendar data may also be retrieved by the control system 118 from a calendar application installed on the user device 184. The user calendar data may be manually inputted by a user (e.g., via the user interface of the user device 184 and / or the control panel 188) and stored in storage memory in communication with the control system 118 (e.g., the storage memory 192 of the controller 180, the storage memory 202 of the control server 182, a storage memory associated with the user device 184 and / or a storage memory associated with the control panel 188). Additionally, or alternatively, the user calendar data may be automatically retrieved from the third external system 186C by the control system 118 or the user device 184 and then stored in the storage memory.

[0106]

[0085] The external user data may also include user location data conveying a current or future location of a user. The user location data may include: (i) a distance indicator of a distance 89003-284 of a user relative to the field location 101 of the bathing unit system 100, such as “at,” “proximate,” or “distant”; (ii) an exact coordinate location of a user; (iii) a current or last known location of a user; (iv) an estimated future location of a user; etc. The user location data may be retrieved from a receiver on the user device 184 in combination with a global positioning system (GPS) or a local positioning system (LPS) application installed on the user device 184. The receiver of the user device 184 may comprise a GPS receiver configured to receive a GPS signal from a GPS satellite. The receiver of the user device 184 may also comprise a LPS receiver (e.g., infrared (IR) receiver, ultra-wideband (UWB) receiver, radio frequency (RF) receiver, ultrasound receiver, Bluetooth receiver, etc.) configured to receive a LPS signal (e.g., IR signals, UWB signals, RF signals, ultrasound signals, Bluetooth signals) from a separate localization device. The localization device may be located at the field location 101 to detect the presence of the user device 184 at or near the field location 101.

[0107]

[0086] In some embodiments, the external data may comprise news data related to events at or around the field location 101. The news data may include one or more of: (i) an identification of events (e.g., elections, protests); (ii) specific dates and times (e.g., on October 25 between 6PM and 8PM); (iii) general indicator of times of day (e.g., morning, afternoon, evening, overnight); etc. This news data be retrieved by the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) from at least one news service provider (e.g., Globe and Mail® or CBC®) over the network 181 , such as from an external system 186 associated with a news provider. This news data may also be retrieved by the control system 118 from a news application installed on the user device 184.

[0108]

[0087] As a more specific example, referring to Figure 3B, one embodiment of the external data store 213 includes entries 640, 641 , 642, 643, 644 and 645. Other embodiments of the external data store 213 may include additional, fewer, or alternative entries, based on the external data actually received or retrieved by the control system 118 from the at least one external system. For example, those skilled in the art will appreciate that entries may be automatically added to the external data store 213 as the external data is received by the I / O interface 196 from the user device 184 and / or the external systems 186. Those skilled in the art will also appreciate that entries may be automatically deleted from the external data store 213 after expiration of a set period from a date time stored in an external data date / time field 650 (described below) associated with the entries. The set period may be any period of time after which the relevancy of the associated entry decreases, and may be 6 months, 12 months, 24 months, 36 months, 48 months, etc. 89003-284

[0109]

[0088] Each entry 640, 641 , 642, 643, 644 and 645 in the external data store 213 may be associated with different fields. In the embodiment shown in Figure 3B, these fields include:

[0110] (a) the external data date / time field 650 storing a date and / or a time associated with a particular entry of the external data stored in the external data store 213. In the embodiment shown in Figure 3B, each of entries 640, 641 , 642, 643, 644 and 645 are associated with a date and time of “October 20, 2024; Sunday; 5:30 PM.” Those skilled in the art will appreciate that different ways of indicating date and time are possible, including: (i) indicating time of day (e.g., morning, afternoon, evening) rather than a specific time, (ii) indicating time in relation to a schedule of a user (e.g., busy, free, school, work, home, gym, etc.), (iii) not including a day of the week; (iv) not including a time; (v) including categories of dates (e.g., weekday, weekend, holiday, school year, summer holiday, winter holiday, etc.); etc.

[0111] (b) an external data type field 652 storing a type of external data associated with a particular entry of the external data stored in the external data store 213. The external data type field 650 may differentiate between external data indicating the weather condition data, the ambient temperature data, the energy cost data, the user calendar data, the user location data, and the news data. For example, in the embodiment shown in Figure 3B, entry 640 is associated with a data type of “weather condition data,” entry 641 is associated with “ambient temperature data,” entry 642 is associated with “energy cost,” entry 643 is associated with “energy cost tier,” entry 644 is associated with “user calendar” and entry 645 is associated with “user location.” Those skilled in the art will appreciate that different ways of indicating different data type are possible, including by using an alphanumeric identifier rather than a word identifier (e.g., type A, type B, type C, etc.).

[0112] (c) an external data value field 654 storing a value of external data associated with a particular instance of the external data stored in the external data store 213. For example, in the embodiment shown in Figure 3B, entry 640 may be associated with a value of “clear,” entry 641 may be associated with “19°C,” entry 642 may be associated with “$2 / kWh,” entry 643 may be associated with “on-peak,” entry 644 may be associated with “free,” and entry 645 may be associated with “field location.” Those skilled in the art will appreciate that different ways of indicating data values for different types of external data are possible as described above. 89003-284

[0113]

[0089] The above fields and values in Figure 3A are provided as examples only. Those skilled in the art will appreciate that alternative embodiments of the external data store 213 may include additional, fewer, or alternative fields associated with each entry, and additional, fewer or alternative values associated with each such field. For example, some embodiments may include a combined energy cost and energy cost tier data type rather than the separate energy cost and energy cost tier entries 642 and 643. Some embodiments may also include an indication of whether a weather condition value of a particular weather condition entry 640 or an ambient temperature value of a particular ambient temperature entry 641 is an actual value or a forecasted value.

[0114] Internal data store 216

[0115]

[0090] The internal data store 216 may persistently or permanently store internal data related to the bathing unit system 100. As used herein, the phrase “internal data” generally describes features, and in particular thermal properties, power consumption and / or thermal energy input, associated with the different bathing unit components of the bathing unit system 100. Generally, internal data may be used (or alone or in combination with the external data) to determine how to operate the bathing unit components (e.g., when to activate, what mode to operate in, and how long to operate) according to the operating schedule and / or the modified operating schedule.

[0116]

[0091] In some embodiments, the internal data may comprise thermal property indicator data related to a thermal property indicator of the bathing unit system 100. The thermal property indicator may be a metric indicative of an ability of the bathing unit system 100 to conduct (or inversely, resist / insulate) thermal energy (in particular thermal energy inputted into the water 103 in the receptacle 102 by the at least one temperature change component 110 and / or the at least one pump 106). In some embodiments described herein, the phrase “thermal property indicator” may refer to the k constant representing a rate of temperature change of the water 103 in the receptacle 102 when no further thermal energy is inputted into the water 103, a thermal conductivity / / of the bathing unit system 100 and / or an inverse thermal resistance 0 of the bathing unit system 100. The thermal property indicators of the bathing unit system 100 may be primarily correlated to an insulating capacity (e.g., correlated to condition) of the at least one insulating component 114.

[0117]

[0092] In other embodiments, the internal data may comprise power consumption data describing power consumption of different bathing unit components when operating in different 89003-284 modes. The power consumption data may include a power consumption model generated for each bathing unit component. For example, the power consumption data may include: (i) a power consumption model for a particular temperature change component 110 (e.g., the primary heater 150, the primary cooler 152, and / or the auxiliary heater / cooler 154) modelling an amount of power drawn from the power source 116 when operating in the “low” mode, the “standard” mode and the “high” mode as described above; and / or (ii) a power consumption model for a particular pump 106 (e.g., the first pump 130, the second pump 132 and / or the third pump 134) modelling an amount of power ? drawn from the power source 116 when operating in the “low” mode, the “standard” mode and the “high” mode as described above.

[0118]

[0093] In other embodiments, the internal data may comprise thermal energy input data generally describing different amounts of thermal energy inputted by different bathing unit components into the water 103 when operating in different modes. The thermal energy data may be based on a thermal energy model generated for each bathing unit component. For example, the thermal energy inputted data may comprise: (i) a thermal energy input model for a particular temperature change component 110 (e.g., the primary heater 150, the primary cooler 152, and / or the auxiliary heater / cooler 154) modelling an amount of thermal energy inputted into the water 103 when operating in the “low” mode, the “standard” mode and the “high” mode as described above; and / or (ii) a thermal energy model for a particular pump 106 (e.g., the first pump 130, the second pump 132 and / or the third pump 134) modelling an amount of thermal energy inputted Eininto the water 103 when operating in the “low” mode, the “standard” mode and the “high” mode as described above.

[0119]

[0094] Different ways of calculating the thermal property indicators of the bathing unit system 100, generating the power consumption models of different bathing unit components, and generating the thermal energy input models of different bathing unit components is described in United States patent application no. 18 / 745,455, titled “METHOD AND SYSTEM FOR DETERMINING AND MONITORING THERMAL PROPERTIES OF A BATHING UNIT SYSTEM AND FOR USING SAME TO CONTROL THE BATHING UNIT SYSTEM,” filed June 17, 2024, the content of which is incorporated by reference herein.

[0120]

[0095] As a more specific example, referring to Figure 3C, the internal data store 216 includes entries 660, 661 and 662. Other embodiments of the internal data store 216may include additional, fewer, or alternative entries, based on the internal data actually stored by the control system 118. For example, those skilled in the art will appreciate that entries may be automatically 89003-284 added to the internal data store 216 as the internal data is generated or calculated by the control system 118 and / or received by the I / O interface 196 from the user device 184 and / or the external systems 186. Those skilled in the art will also appreciate that entries may be automatically deleted from the internal data store 216 after expiration of the set period from a date time stored in an internal data date / time field 670 (described below) associated with the entries. The set period may be any period of time after which the relevancy of the associated entry decreases.

[0121]

[0096] Each entry 660, 661 and 662 in the internal data store 216 may be associated with different fields. In the embodiment shown in Figure 3C, these different fields include:

[0122] (a) The internal data date / time field 670 storing a date and time associated with a particular instance of the internal data stored in the internal data store 216. In the embodiment shown in Figure 3C, each of entries 660, 661 and 662 are associated with a date and time of “November 1 , 2020.” The date and time may correspond to a date / time that the bathing unit system 100 or certain bathing unit components was initially purchased, or a date / time at which the internal data was recalculated. Those skilled in the art will appreciate that different ways of indicating date and time are possible as described above in association with the external data store 213.

[0123] (b) an internal data type field 672 storing a type of internal data associated with a particular entry of the internal data stored in the internal data store 216. The internal data type field 672 may differentiate between internal data indicating the thermal property indicator data, the power consumption data of a particular bathing unit component, and / or the thermal energy data of a particular bathing unit component. In the embodiment shown in Figure 3C, entry 660 is associated with the internal data type of “thermal property indicator data,” entry 661 is associated with “primary heater 1 power consumption models,” entry 662 is associated with “aux heater / cooler 3 power consumption models.” Those skilled in the art will appreciate that different ways of indicating different data type are possible as described above in association with the external data store 213.

[0124] (c) an internal data value field 674 storing a value of internal data associated with a particular entry of the internal data stored in the internal data store 216. For example, in the embodiment shown in Figure 3C, entry 660 may be associated with a thermal property indicator value of “H=0.01W / mK,” entry 661 may be associated with “7kW: standard mode; 8kW: high mode; 5kW: low mode,” and entry 662 may be associated with “4kW: standard 89003-284 mode; 5kW: high mode; 2kW: low mode.” Those skilled in the art will appreciate that different ways of indicating data values for different types of internal data are possible as described above. In addition, while the specific example presented here contemplates the user of a heater module, the person skilled the art will appreciate in view of the present disclosure that similar information may be stored in connection with a cooler module for bathing unit systems including such a module. The above fields and values are provided as examples only. Those skilled in the art will appreciate that alternative embodiments of the internal data store 216 may include additional, fewer, or alternative fields associated with each entry, and additional, fewer or alternative values associated with each field. For example, some embodiments may include separate entries for the power consumption when operating the primary heater 150 in the “standard” versus “high” versus “low” mode rather than combining the power consumption into a single entry 661. As an additional example, some embodiments may include separate fields for identity of the bathing unit component and internal data type, rather than combining both into the single internal data type field 672.

[0125] Historical data store 214

[0126]

[0097] The historical data store 214 may store entries associated with different historical bathing sessions in which the bathing unit system 100 has been used in the past.

[0127]

[0098] In some embodiments, the historical data may comprise historical date / time data corresponding to a historical date and time during which an associated historical bathing session occurred. Such historical date / time data may record dates and times that a user has historically preferred to use the bathing unit system 100, and may be used to predict or propose future dates and future times which may be desirable by that user (e.g., dates / times historically used by Jane versus John). The historical date / time data may comprise one or more of: (i) a specific numerical time (e.g., 1700, 1800, 5 PM, 6 PM, etc.); (ii) time category (e.g., morning, afternoon, evening); (iii) time in relation to a schedule of a user (e.g., busy, free, school, work, home, gym, etc.); (iv) a specific date; (v) a date of the week; (vi) date category (e.g., weekday, weekend, holiday, school year, summer holiday, winter holiday, etc.); etc. Those skilled in the art will appreciate that different ways of indicating dates and times are possible. The historical date / time data may be generated by the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) based on a date and a time that the associated historical bathing session occurred. In embodiments where the historical date / time data is relative to a schedule of a user, the data may also be retrieved by the control system 118 from at least 89003-284 one calendar service provider over the network 181 (e.g., from the third external system 186C associated with the calendar service provider) and / or from the calendar application on the user device 184.

[0128]

[0099] In some embodiments, the historical data may comprise historical duration data corresponding to durations of an associated historical bathing session. The historical duration data may be associated with a particular user (e.g., durations historically used by Jane versus by John). The historical duration data may also be associated with a particular time, time category, date, or date category (e.g., a duration historically used for weekend mornings versus for weekday evenings). The historical duration data may also be associated with energy cost data from the external data store 213 and / or the external system 186 of the energy service provider (e.g., a duration historically used for on-peak costs versus for off-peak costs). This historical duration data may be used by the control system 118 to predict or propose future durations which may be desirable by a particular user, which may be desirable for a particular date or time, and / or which may be desirable at a particular energy cost. The historical duration data stored in the historical data store 214 may comprise one or more of: (i) a numerical amount of minutes (e.g., 60 minutes, 94 minutes, etc.); (ii) a numerical amount of seconds (e.g., 3600 seconds, 5640 seconds, etc.); (iii) a numerical amount of hours (e.g., 1 h, 1.6h, etc.); etc. Those skilled in the art will appreciate that different ways of indicating duration are possible. The historical duration data may be generated by the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) based on a duration of the associated historical bathing session.

[0129]

[0100] In some embodiments, the historical data may comprise historical ambient environment data related to an ambient environment at the field location 101 during an associated historical bathing session. The historical ambient environment data may be indicated by, and associated with a particular user (e.g., historical ambient environment during historical bathing sessions involving Jane versus John). The historical ambient environment data may also be associated with a particular time, time category, date or date category (e.g., historical ambient environment during historical bathing sessions on weekend mornings versus on weekday evenings). The historical ambient environment data may be associated with a particular energy cost (e.g., historical ambient environment during historical bathing sessions during on-peak costs versus during off-peak costs). The historical ambient environment data may be used by the control system 118 to propose or predict future bathing sessions for at least one time slot which has an 89003-284 ambient environment that may be desirable by a particular user, desirable for a particular date or time, and / or desirable at a particular energy cost.

[0130]

[0101] The historical ambient environment data may include historical weather condition data recording weather conditions at the field location 101. The historical weather condition data may comprise one or more of: (i) a description of weather; (ii) an amount of precipitation; (iii) air pressure; (iv) humidity; (v) wind speed; (vi) wind direction; (vii) LIV index; etc. in a manner similar to the external data store 213 described above. The historical ambient environment data may also include historical ambient temperature data recording ambient temperature at the field location 101 , which may comprise one or more of: (i) ambient temperature in Celsius or Fahrenheit; (ii) an average or median ambient temperature for the entire historical bathing session; (ii) an indicator that the ambient temperature was above or below a threshold; (iii) an indicator of the ambient temperature in relation to preferences of the user; (iv) ambient temperature categories; etc. some of which in a manner similar to the external data store 213 described above. The historical ambient environment data may include different values for different times in situations where the weather condition and / or ambient temperature changed during the historical bathing session. Those skilled in the art will appreciate that different ways of indicating weather conditions and ambient temperatures are possible. The historical ambient environment data may be retrieved by the control system 118 from at least one weather service provider (e.g., from the first external system 186A associated with the weather service provider) and / or from the weather application on the user device 184 during the associated historical bathing session. In yet other embodiments, the historical ambient temperature data may additionally or alternatively be measured by, retrieved from, the ambient temperature sensor 164 of the bathing unit system 100.

[0131]

[0102] In some embodiments, the historical data may comprise data related to a historical operational settings of the bathing unit system 100 during an associated historical bathing session. Operational settings of the bathing unit system 100 generally include operational settings for the different bathing unit components, including water temperature of the water 103 within the receptacle 102, speed of the at least one pump 106 (and any massages sequence is enabled thereby), different audio played by at least one speaker, different light settings of the at least one light, etc. The historical operational settings data may be indicated by, and associated with a particular user (e.g., historical operational settings used by John versus by Jane). The historical operational settings data may also be associated with a particular time, time category, date or date category (e.g., historical operational settings used during weekend mornings versus during weekday evenings). The historical operational settings data may also be associated with a 89003-284 particular ambient environment (e.g., historical operational settings used in sunny conditions above 20°C versus in clear conditions below 10°C). The historical operational settings data may also be associated with a particular energy cost (e.g., historical operational settings used during on-peak costs versus during off-peak costs). The historical operational settings data may be used by the control system 118 to propose or predict operational settings for future bathing sessions that may be desirable by a particular user, desirable for a particular date or time, desirable for a particular ambient environment, and / or desirable at a particular energy cost.

[0132]

[0103] The historical operational settings data may include historical water temperature data, including: (i) water temperature in Fahrenheit or Celsius; (ii) mean or average water temperature for a particular bathing session; (iii) water temperature above or below a threshold (e.g., above, and, below, etc.); (iv) water temperature in relation to preferences of the user (e.g., above, at, below, hot, warm, cold, etc.); etc. The historical operational settings may also include various different historical ambience data which correspond to different ambience settings. Possible ambience settings are described in related United States patent no. 10235033B2, titled “METHOD AND SYSTEM FOR PROVIDING AMBIANCE SETTINGS IN A BATHING SYSTEM,” filed August 3, 2016; related United States patent no. 9442639B2, titled “METHOD AND SYSTEM FOR PROVIDING AMBIANCE SETTINGS IN A BATHING SYSTEM,” filed December 13, 2013; and related United States patent no. 8644960B2, titled “METHOD AND SYSTEM FOR PROVIDING AMBIENCE SETTINGS IN A BATHING SYSTEM,” filed October 22, 2010, the contents of which are incorporated by reference herein. Those skilled in the art will appreciate that ambient settings may include different pump settings and / or speeds, different air blower settings and / or speeds, different massage sequences, different light settings, different audio settings, different visual settings, etc. The historical operational settings data may also include different values for different times in situations where the operational settings were adjusted or changed during the duration of the historical bathing session. The historical operational settings data may be generated by the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) based on settings used during the associated historical bathing session. The historical operational settings data may also be retrieved from a bathing unit system management application installed on the user device 184 for remote control of the bathing unit system 100.

[0133]

[0104] In other embodiments, the historical data stored in the historical data store 214 comprises historical energy cost data relating to energy costs for an associated historical bathing session. The historical energy cost data may be indicated by, and associated with a particular 89003-284 user (e.g., historical energy cost during historical bathing sessions involving John versus Jane). The historical energy cost data may be associated with a particular time, time category, date or date category (e.g., historical energy cost during historical bathing sessions on weekend mornings versus weekday evenings; lower energy costs during weekdays versus higher energy costs during weekends and / or holidays; etc.). The historical energy cost data may be associated with a particular ambient environment (e.g., historical energy costs for sunny conditions above 20°C versus clear conditions below 10°C; higher energy costs associated with colder ambient temperatures). The historical energy cost data may be used by the control system 118 to propose or predict future bathing sessions having costs that may be acceptable by a particular user, acceptable for a particular date or time, and / or cost for a particular ambient environment. Trends and patterns in the historical energy cost data may also be processed to generate preference data indicating a cost sensitivity and / or preferred energy costs of a particular user as described below.

[0134]

[0105] The historical energy cost data may include one or more of: (i) energy cost rate (e.g., $ / kWh); (ii) an energy cost tier (e.g., on-peak, off-peak, overnight); (iii) an energy cost range (e.g., performance mode, standard mode, economical / environmental mode); (iv) an energy cost relative to a threshold or preferences of a particular user (e.g., above, at, below, high, low, etc.), etc. The historical energy cost data may also include different values for different times in situations where the energy cost rate, tier, range, or category changes during the historical bathing session. The historical energy cost data may be retrieved by the control system 118 from at least one energy service provider (e.g., from the second external system 186B associated with the energy service provider) and / or from the energy management application on the user device 184 during the associated historical bathing session. The energy cost data may be store in storage memory in communication with the control system 118 (e.g., the storage memory 192 of the controller 180, the storage memory 202 of the control server 182, a storage memory associated with the user device 184 and / or a storage memory associated with the control panel 188) after being retrieved.

[0135]

[0106] In other embodiments, the historical data may also comprise historical user data identifying at least one user that initiated or attended an associated historical bathing session. This may generally enable the control system 118 to associate a particular user with a particular historical bathing session and to impute preferences of that particular user based on the historical data of that particular historical bathing session. The historical user data may be retrieved from the control system 118 (e.g., the controller 180, the control server 182 and / or the control panel 89003-284

[0136] 188) based on a user who is logged into the control panel 188 to initiate the associated historical bathing session. The historical user data may also be retrieved from at least one external system, such as an external system 186 associated with a location positioning provider that indicates an identity of a user that is at the field location of 101 during the associated historical bathing session. The historical user data may also be retrieved from the user device 184, including by using the positioning receiver of the user device 184 indicating that an associated user is at the field location 101 and / or within a certain proximity of the local positioning system.

[0137]

[0107] As a more specific example, referring now to Figure 3D, each entry in the historical data store 214 may be associated with a unique historical session identifier (e.g., historicalsessionJD) and details associated with that historical bathing session. In the embodiment shown in Figure 3D, the historical data store 214 includes an entry 614 corresponding to a particular historical bathing session and having a historicalsessionJD of “1750_20102024”; and another entry 616 corresponding to another separate historical bathing session having a historicalsessionJD of “1810_26102024.” Those skilled in the art will appreciate that additional entries may be automatically added to the historical data store 214 after a bathing session is completed. Those skilled in the art will also appreciate that entries may be automatically deleted from the historical data store 214 after expiration of the set period from a date time stored in the historical date field 621 and / or the historical time field 620 (described below) associated with the entries. The set period may be any suitable period of time after which the relevancy of the associated historical data entry ceases or otherwise decreases.

[0138]

[0108] Each entry 614 and 616 in the historical data store 214 may be associated with different fields identifying information associated with the corresponding historical bathing session represented by the entry. In the embodiment shown in Figure 3D, these fields include:

[0139] (a) a historical time field 620 storing a historical time during which the associated historical bathing session occurred. In the embodiment shown in Figure 3D, entry 614 is associated with a historical time of “5:50 PM,” whereas entry 616 is associated with “6:10 PM.”

[0140] (b) a historical date field 621 storing a historical date during which the associated historical bathing session occurred. In the embodiment shown in Figure 3D, entry 614 is associated with a historical date of “October 20, 2024; Sunday” whereas entry 616 is associated with “October 26, 2024; Saturday.” 89003-284

[0141] (c) a historical duration field 622 storing a historical duration for the associated historical bathing session. In the embodiment shown in Figure 3D, entry 614 is associated with a historical duration of “94 minutes,” whereas entry 616 is associated with “60 minutes.”

[0142] (d) a historical weather condition field 623 storing historical weather conditions at the field location 101 during the associated historical bathing session. In the embodiment shown in Figure 3D, entry 614 is associated with a historical weather data of “clear 5:50 PM to 6:45 PM; partially clear 6:45 PM to 7:24 PM,” whereas entry 616 is associated with “partially clear 6:10 PM to 7:10 PM.”

[0143] (e) a historical ambient temperature field 624 storing historical ambient temperatures at the field location 101 during the associated historical bathing session. In the embodiment shown in Figure 3D, entry 614 is associated with a historical ambient temperature of “19°C 5:50 PM to 6:45 PM; 16°C 6:45 PM to 7:24 PM,” whereas entry 616 is associated with “16°C 6:10 PM to 7:10 PM.”

[0144] (f) a historical water temperature field 625 storing the historical water temperature of the water 103 in the receptacle 102 during the associated historical bathing session. In the embodiment shown in Figure 3D, entry 614 is associated with a historical water temperature of “38°C 5:50 PM to 6:45 PM; 39°C 6:45 PM to 7:24 PM,” (generally indicating that the user increased water temperature when the ambient temperature decreased), whereas entry 616 is associated with “40°C 6:10 PM to 7:10 PM.”

[0145] (g) a historical ambience settings field 626 storing historical ambience set by the user for the associated historical bathing session. In the embodiment shown in Figure 3D, entry 614 is associated with a historical ambience of “party mode,” whereas entry 616 is associated with “relaxation mode.”

[0146] (h) a historical energy cost field 627 storing historical energy costs for the associated historical bathing session. In the embodiment shown in Figure 3D, entry 614 is associated with a historical energy cost of “$2.40 at $2 / kWh, on-peak” whereas entry 616 is associated with “$1.2 at $1 / kWh, off-peak” (which generally indicates that entry 614 is associated with a more expensive historical bathing session while entry 616 is associated with a less expensive historical bathing session). 89003-284

[0147] (i) a historical user field 628 storing a user identifier (e.g., user_ID) of the user that initiated or attended the associated historical bathing session. In the embodiment shown in Figure 3D, entry 614 is associated with a user identifier of “John, Jane,” whereas entry 616 is associated with “John”.

[0148]

[0109] The above fields and values are provided as examples only. Those skilled in the art will appreciate that alternative embodiments of the historical data store 214 may include additional, fewer, or alternative fields associated with each entry and additional, fewer or alternative values associated with each field. For example, some embodiments may include a combined historical date / time field rather than separate the historical time field 620 and the historical date field 621. Other embodiments may include a combined ambient environment field rather than separate historical weather condition field 623 and the historical ambient temperature fields 624. Yet other embodiments may include a separate historical total energy cost field, a historical energy cost rate field and a historical energy cost tier field, rather than a combined historical energy cost field 627 including all values.

[0149] Preference data store 215

[0150]

[0110] Figure 3E is a schematic representation of a data store for the preference data. In the example shown, the preference data store 215 may store data associated with different internal preferences and different external preferences during one or more bathing sessions. Generally, the preference data may be associated with a particular user (e.g., entries 600, 602, 604 from the user data store 210 shown in in Fig. 3A) to convey preferences of specific users and may allow the control system 118 to propose or predict future bathing sessions which may be desirable for a specific particular user. However, in other embodiments, the preference data in the preference data store 215 (shown in Fig. 3E) may be associated with different factors, including one or more of different days of the week (e.g., weekdays versus weekends), different date categories (e.g., school year versus holidays), different times of day (e.g., morning versus afternoon versus evening), different energy costs (e.g., on-peak versus off-peak), different weather conditions (e.g., during sunny conditions versus during raining conditions), different ambient temperatures (e.g., during cold ambient temperatures versus warmer ambient conditions), etc. In such embodiments, the preference data may instead indicate preferences for a particular time / date, at a particular energy cost, during a particular weather condition, and during a particular ambient temperature, and may allow the control system 118 to propose or predict future bathing sessions which may be desirable for time slots associated with external data or internal data matching or otherwise corresponding to the preference data. 89003-284

[0151]

[0111] In some embodiments, the preference data may comprise preference date / time data storing a preferred date and / or a preferred time for a bathing session. The preference date / time data may be associated with a user (e.g., dates / times preferred by Jane versus John). The preference time data may also be associated with date data and vice versa (e.g., times preferred on particular dates or particular date categories). The preferred date / time data may be used by the control system 118 to predict or propose future dates and future times which may be desirable by a particular user and / or desirable for a particular date or date category. Similar to the historical date / time data stored in the historical data store 214, the preference date / time data may also comprise one or more of: (i) a specific numerical time; (ii) time of day; (iii) time in relation to a schedule of a user; (iv) a specific date; (v) a date of the week; (vi) date categories; etc. Those skilled in the art will appreciate that different ways of indicating dates and times are possible.

[0152]

[0112] In some embodiments, the preference data may comprise preference duration data storing a preferred duration for a bathing session. The preference duration data may be indicated and associated by a user (e.g., durations preferred by Jane versus John). The preference duration data may also be associated with a particular time, time category, date or date category (e.g., a duration preferred for weekend mornings versus a duration preferred weekday evenings). The preference duration data may also be associated with a particular energy cost (e.g., a duration preferred for on-peak costs versus a duration preferred for off-peak costs). The preference duration data may also be associated with a particular ambient environment (e.g., a duration preferred for sunny conditions versus cold conditions). Such preferred duration data may be used by the control system 118 to predict or propose future durations which may be desirable by that user, desirable for a particular date or time, desirable at a particular energy cost, desirable for a particular ambient environment, etc. Similar to the historical duration data stored in the historical data store 214, the preference date and time data may comprise one or more of: (i) a numerical amount of minutes; (ii) a numerical amount of seconds; (iii) a numerical amount of hours; etc. Those skilled in the art will appreciate that different ways of indicating duration are possible.

[0153]

[0113] In some embodiments, the preference data may comprise preferred ambient environment data related to a preferred ambient environment at the field location 101 during a bathing session. The preferred ambient environment data may be indicated by, and associated with a particular user (e.g., ambient environment preferred by John versus Jane). The preferred ambient environment data may be associated with a particular time, time category, date or date category (e.g., preferred ambient environment during bathing sessions on weekend mornings versus weekday evenings). The preferred ambient environment data may be associated with a 89003-284 particular energy cost (e.g., preferred ambient environment during bathing sessions conducted during on-peak costs versus off-peak costs). The preferred ambient environment data may be used by the control system 118 to propose or predict future bathing sessions during time slots having an ambient environment that may be desirable by a particular user, desirable for a particular date or time, and / or desirable at a particular energy cost.

[0154]

[0114] Like the historical ambient data stored in the historical data store 214, the preference ambient environment data may include preference weather condition data recording weather conditions at the field location 101 and / or preference ambient temperature data recording ambient temperature at the field location 101. The preference weather condition data stored in the preference data store 215 may comprise one or more of: (i) weather condition; (ii) precipitation; (iii) air pressure; (iv) humidity; (v) wind speed; (vi) wind direction; (vii) LIV index; etc. The preference ambient temperature data stored in the preference data store 215 may comprise one or more of: (i) ambient temperature in Celsius or Fahrenheit; (ii) an average or median ambient temperature for the entire bathing session; (ii) an indicator that the ambient temperature was above or below a threshold; (iii) an indicator of the ambient temperature in relation to preferences of the user; (iv) ambient temperature categories; etc. Those skilled in the art will appreciate that different ways of indicating weather conditions and ambient temperatures are possible.

[0155]

[0115] In some embodiments, the preference data may comprise preference operational settings data related to preferred operational settings of the bathing unit system 100. The preference operational settings may be indicated by, and associated with a particular user (e.g., operational settings preferred by John versus Jane). The preference operational settings may be associated with a particular time, time category, date or date category (e.g., operational settings preferred for weekend mornings versus weekday evenings). The preference operational settings may be associated with a particular ambient environment (e.g., operational settings preferred for sunny conditions above 20°C versus clear conditions below 10°C). The preference operational settings may be associated with a particular energy cost (e.g., operational settings preferred during on-peak costs versus off-peak costs). The preference operational settings data may be used by the control system 118 to propose or predict operational settings for future bathing sessions that may be desirable by a particular user, desirable for a particular date or time, desirable for a particular ambient environment, and / or desirable at a particular energy cost.

[0156]

[0116] The similar to the historical operational settings data stored in the historical data store 214 described above, the preference operational settings data may include preference water 89003-284 temperature data, including: (i) water temperature in Fahrenheit or Celsius; (ii) mean or average water temperature for a particular bathing session; (iii) water temperature above or below a threshold (e.g., above, and, below, etc.); (iv) water temperature in relation to preferences of the user (e.g., above, at, below, hot, warm, cold, etc.); etc. The preference operational settings may also include various different preference ambience data which correspond to different ambience settings as described above.

[0157]

[0117] In other embodiments, the preference data may comprise preference energy cost data relating to preferred or acceptable costs for conducting a bathing session. The preference energy cost data may be indicated by, and associated with a particular user (e.g., preference energy cost inputted by that user and / or determined based on the historical energy cost of historical bathing sessions involving that user). The preference energy cost data may be associated with a particular time, time category, date or date category (e.g., preference energy cost during weekend mornings versus weekday evenings). The preference energy cost data may be associated with a particular ambient environment (e.g., preference energy costs for sunny conditions above 20°C versus clear conditions below 10°C). The preference energy cost data may be used by the control system 118 to propose or predict future bathing sessions having costs that may be desirable by a particular user, desirable for a particular date or time, and / or desirable for a particular ambient environment. The preference energy cost data may also correspond to, or be used to determine, the cost sensitivity of a particular user. Similar to the historical energy cost data stored in the historical data store 214, the preference energy cost data may include one or more of: (i) energy cost rate; (ii) an energy cost tier; (iii) an energy cost range; (iv) an energy cost relative to a threshold or a user cost sensitivity of a particular user; etc.

[0158]

[0118] In yet other embodiments, the preference data may also comprise user data identifying at least one user associated with the different internal preferences or the different external data preferences during one or more bathing sessions. This may generally enable the control system 118 to associate a particular user with a particular set of preferences in the preference data store 215.

[0159]

[0119] As a more specific example, referring again to Figure 3E, each entry in the preference data store 215 may be associated with a unique preference identifier (e.g., preference_ID) and details associated therewith. For example, in the embodiment shown, the preference data store 215 includes entry 680 corresponding to a particular set of preferences and having a preferencej D of “John_preferences”; an entry 682 corresponding to another set of 89003-284 preferences and having a preferencej D of “June_preferences”; and entry 684 corresponding to another set of preferences and having a preferencej D of “Party_preferences.” Those skilled in the art will appreciate that additional entries may be automatically added to the preference data store 215 in response to user input (e.g., via the at least one user interface of the user device 184 and / or the at least one interface of the control panel 188) of additional preferences and / or after the control system 118 extracts preference data based on the historical data stored in the historical data store 214. Those skilled in the art will also appreciate that entries may be manually deleted from the preference data store 214 in response to user input and / or automatically deleted from the preference data store 215 after expiration of the set period from a date time stored in a preference date / time field 690 (described below) associated with the entries. The set period may be any period of time after which the relevancy of the associated preference data entry ceases or otherwise decreases.

[0160]

[0120] Each entry 680, 682 and 684 in the preference data store 215 may be associated with different fields identifying information associated with the preference data represented by the entry. In the embodiment shown in Figure 3E, these fields include:

[0161] (a) a preference date / time field 690 storing a date and time associated with a particular instance of the preference data stored in the preference data store 215. In the embodiment shown in Figure 3E, each of entries 680, 682 and 684 are associated with a date and time of “October 20, 2024.” The date and time may correspond to a date / time that the preference data was inputted by a user or automatically generated by the control system 118.

[0162] (b) an association data type field 691 storing what type of the data the preference data is associated with. In the embodiment shown in Figure 3E, entries 680 and 682 are represent preference data associated with users, are thus both associated with “user.” In contrast, entry 684 represents preference data associated with an ambience setting, and identifies “ambience mode.”

[0163] (c) a preference data type and value field 692 storing a type and a value of preference data associated with a particular entry of the preference data stored in the preference data store 215. The preference data type may differentiate between preference data indicating a preferred date / time, a preferred duration, a preferred weather condition, a preferred ambient temperature, a preferred water temperature, preferred water temperature 89003-284 precision data, preferred ambience settings, a preferred energy cost (e.g., a cost sensitivity indicator, a maximum cost), etc. The preference data value may provide the values for each data type. For example, in the embodiment shown in Figure 3E, entry 680 is associated with a preference data type and value of “preferred weather conditions: sunny, clear, partially clear, cloudy; preferred water temperature: 37°C; preferred energy costs: economical mode,” entry 682 is associated with “preferred water temperature: 40°C; preferred ambience settings: relaxation mode; maximum cost: $2 / kWh or $18 / bathing session” and entry 684 is associated with “preferred date / time: Friday evenings; preferred water temperature: 35°C”

[0164]

[0121] The above fields and values are provided as examples only. Those skilled in the art will appreciate that alternative embodiments of the preference data store 215 may include additional, fewer, or alternative fields associated with each entry and additional, fewer or alternative values associated with each field. For example, some embodiments may include an entry for each of the preference weather condition data, the preference water temperature data, the preference ambience data, and the preference energy cost data, rather than combining all preference data into the single preference data type and value field 692. Other embodiments may include a separate preference data type field and a separate preference data value field, rather than the combined preference data type and value field 692. Other embodiments may not include the association type field 691 and may instead determine what the preference data of an entry should be attributed to using the preferenceJD.

[0165] Generation of preference data

[0166]

[0122] In some embodiments, preference data entries in the preference data store 215 are generated based on user input via a preference entry interface. The preference entry interface may be displayed via the at least one user interface (e.g., display screen) of the user device 184 (shown in Figure 1) and / or the at least one user interface (e.g., display screen, keypad) associated with control panel 188 (also shown in Figure 1).

[0167]

[0123] Figure 4 depicts an embodiment of a preference entry interface 700 displayed on a display screen of the user device 184A (also shown in Figure 5). The user preference entry interface 700 generally presents one or more input areas for receiving user preferences. In the example depicted, the input areas include an energy cost input area 704, which may allow a user to indicate their preferred energy cost when using the bathing unit system 100, which may in turn be stored as the preference energy cost data in the preference data store 215. In the embodiment 89003-284 shown, the energy cost input area 704 includes a cost sensitivity slider 706 and maximum cost fields 708 and 709.

[0168]

[0124] The cost sensitivity slider 706 may generally allow a user to indicate their cost sensitivity, which may be stored as the preference energy cost data. In the embodiment shown, the cost sensitivity slider 706 includes a cost end 710 and a performance end 712, with an indicator 714 which may be dragged towards the cost end 710 or towards the performance end 712. The placement of the indicator 714 along the cost sensitivity slider 706 may be associated with discrete different energy cost modes (e.g., high economical mode if placed towards the cost end 710, economical mode, standard mode if placed at a center of the cost sensitivity slider 706, performance mode, and then high-performance mode if placed towards the performance end 712) which may be stored as the preference energy data. In other embodiments, the cost sensitivity slider 706 may instead be associated with percentage indicators (rather than discrete energy modes) that can also be stored as the preference energy data, such 0% cost sensitive, 25% cost sensitive, 50% cost sensitive, 75% cost sensitive, 100% cost sensitive as the indicator 714 is moved from the performance end 712 towards the cost end 710. In other embodiments, rather than the cost sensitivity slider 706, there may be buttons or user interfaces for selecting the different modes. Alternatively, the cost sensitivity slider 706 may allow a user to selected a level of precision required for the water temperature setting from a range of levels of precision (not shown in the Figures). For example, the user may be able to specify that he would like a setpoint for the water temperature to be achieved within +-1 degrees, +-2 degrees, ... or +-5degrees from the setpoint. In other words, if the setpoint is set at 100degrees, if the user moves the slider to select +-3 degrees, the system will operate to maintain the water temperature within +-3 degrees of the original 100 degree setpoint and will operate to save energy when it is possible to do so. An indication of the savings in dollars that can be achieved with a more flexible level of precision (e.g. a larger permitted deviation from the setpoint) may be displayed on the GUI as the user moves the slider along the various settings.

[0169]

[0125] The maximum cost fields 708 and 709 may generally allow a user to indicate a maximum cost that the user is willing to pay for operating the bathing unit system 100, which may also be stored as the preference energy cost data. In the embodiment shown, the maximum cost entry field 708 allows a user to input a particular maximum energy rate amount for $ / kWh while maximum cost entry field 709 allows a user to input a particular maximum total cost for a bathing session. In other embodiments, the maximum cost fields 708 and 709 may allow a user to specify 89003-284 a maximum allowed energy cost tier (e.g., “off-peak”), or a maximum total cost for a period of time (e.g., a week, a month, or a year).

[0170]

[0126] The above energy cost input area 704 is provided as an example only. Those skilled in the art will recognize that other embodiments of the user preference entry interface 700 may include fewer, additional or alternative ways of entering energy cost data, and additional or alternative types of energy cost data which may be entered are possible. For example, in other embodiments, the energy cost input area 704 may also allow the user to indicate different energy costs based on time of year (e.g., November versus June, where additional energy costs may be acceptable during colder months), time of day (mornings versus evenings), time of week (e.g., weekdays versus weekends, whereby additional energy costs may be more acceptable during weekends), ambient environment (e.g., clear versus rain, whereby additional energy costs may not be acceptable during inclement weather), and ambience settings (e.g., party mode versus relaxation mode).

[0171]

[0127] In the example depicted, the input areas of the preference entry interface 700 also include an ambient environment input area 716, which may allow a user to indicate their ambient environment preferences when using the bathing unit system 100, which may in turn be stored as preference ambient environment data in the preference data store 215. In the embodiment shown, the ambient environment input area 716 includes a weather condition selector 718 and a minimum ambient temperature field 720.

[0172]

[0128] The weather condition selector 718 may generally allow a user to indicate their weather condition preferences, which would be stored as the preference weather condition data. In the embodiment shown, the weather condition selector 718 allows selection of various different types of weather conditions, including sunny, clear, partially clear, cloudy, raining, snowing, etc. The minimum ambient temperature field 720 allows a user to indicate a minimum ambient temperature for the bathing unit system to be operated, which may be stored as preference ambient temperature data. In the embodiment shown, the minimum ambient temperature field 720 allows a user to input a particular minimum ambient temperature in degrees Celsius. Alternatively, or in addition, a maximum ambient temperature field can be presented on the preference entry interface 700 (not shown in the figures)allows a user to indicate a maximum ambient temperature at the bathing unit system should be operated added on the user interface to set a maximum ambient temperature above which the bathing unit system should not be operated. 89003-284

[0173]

[0129] In alternative implementations, the preference entry interface 700 omit one or more of the input areas depicted in Figure 4 and / or may provide additional input areas not shown in the Figures to allow a user to providing additional user preferences. For example, one or more additional input areas may be provided to allow a user to specify: wind conditions (such as, for example, a maximum wind speed above which not to operate the bathing unit system); an amount of rain (such as, for example an amount in mm / hour or a total accumulation in mm over a specific time period above which the not to operate the bathing unit system); and an amount of snow (such as, for example an amount in cm / hour or a total accumulation in cm over a specific time period above which the not to operate the bathing unit system). It is to be appreciated by those skilled that the art that the examples presented are presented for the purpose of illustration only and are not meant to convey and exhaustive list of the input areas that may be presented on the entry interface 700.

[0174]

[0130] For example, those skilled in the art will recognize that other embodiments of the user preference entry interface 700 may include fewer, additional or alternative ways of entering ambient environment data, and additional or alternative types of ambient environment data which may be entered are possible. In other embodiments, the ambient environment input area 716 may also allow the user to indicate different weather conditions and / or ambient temperatures based on time of year (e.g., season, November versus June, whereby warmer ambient temperatures may be required during colder months), time of day (mornings versus evenings), time of week (e.g., weekdays versus weekends), and energy costs (e.g., on-peak versus off-peak, whereby less pleasant weather may be acceptable if the energy cost for operating are lower).

[0175]

[0131] Those skilled in the art will also recognize that other embodiments of the user preference entry interface 700 may allow a user to input fewer, additional or alternative types of preference data (e.g., including preference date / time data, preference duration data, and preference operational settings data).

[0176]

[0132] In other embodiments, the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) may automatically generate preference data by processing the historical data entries of the historical data store 214. In this regard, as described above, the historical data store 214 stores entries associated with different historical bathing sessions after they have occurred, and may include, for example, historical date / time data, historical duration data, historical ambient environment data, historical operational settings data, and historical energy cost data. The control system 118 may aggregate 89003-284 and process the historical data in order to identify trends and preferences associated with different users, different dates, different ambient environments, different operational settings and / or different energy costs.

[0177]

[0133] For example, the control system 118 may aggregate and process historical entries which identify a particular user (e.g., in the historical user field 628) and determine whether there are any trends or preferences which may be associated with that particular user. As a more specific example, the control system 118 may process the historical entries associated with a same particular user (e.g., identifying the same userJD in the historical user field 628) to determine trends and preferences in one or more of: (i) the times of the historical entries (e.g., in the historical time fields 620) from which to infer a preferred time of that particular user; (ii) in the dates of the historical entries (e.g., in the historical date fields 621) from which to infer a preferred dates for that particular user; (iii) in the weather conditions and / or ambient temperature of the historical entries (e.g., in the historical weather condition field 623 and / or that historical ambient temperature field 624) from which to infer preferred ambient environments for that particular user; (iv) in the operational settings of the historical entries (e.g., in the historical water temperature field 625 in / or the historical ambience settings field 626) from which to infer preferred water temperatures and preference ambience settings of that particular user; (v) in the energy costs of the historical entries (e.g., in the historical energy cost field 627) in order to infer preferred energy costs or a cost sensitivity of that particular user; etc.

[0178]

[0134] As a further example, the control system 118 may aggregate and processes historical entries which identify a particular day of the week (e.g., in the historical date field 621) and determine whether or not there are any trends or preferences which may be associated with that particular day of the week. For example, the control system 118 may process the historical entries associated with a same particular day of the week (e.g., identifying Sundays in the historical date field 621) to determine trends and preferences in one or more of: (i) the times of the historical entries (e.g., in the historical time fields 620) from which to infer a preferred time of use during Sundays; (ii) in the weather conditions and / or ambient temperature of the historical entries (e.g., in the historical weather condition field 623 and / or that historical ambient temperature field 624) from which to infer preferred ambient environment of use during Sundays; (iii) in the operational settings of the historical entries (e.g., in the historical water temperature field 625 in / or the historical ambience settings field 626) from which to infer preferred operational settings of use during Sundays; (iv) in the energy costs of the historical entries (e.g., in the historical energy cost field 627) in order to infer preferred energy costs of use during Saturdays; 89003-284

[0179] (v) in the user identifier of the historical entries, e.g., in the historical user field 628) from which to infer users who use the bathing unit system 100 on Sundays.

[0180]

[0135] In some embodiments, the control system 118 may store and execute heuristic processing algorithms to aggregate and process the historical data and determine trends in preferences therefrom (e.g., stored in the program memory 194 of the controller 180 and / or a program memory 204 of the control server 182). In other embodiments, the control system 118 may utilize a machine learning model specifically trained to receive the historical data as input and generate the preference data as output. For example, a preference data model may be trained on a plurality of training entries of historical data which are previously labelled with corresponding known preference data (e.g., “preference date: Saturday,” “preference weather condition: sunny,” “preference ambient temperature: >17°C,” “preference water temperature: 34°C-37°C,” etc.) The control system 118 may input the actual entries of historical data into the preference data model to generate the preference data. Alternatively or additionally, in other embodiments, the control system 118 may utilize a generative large language model (e.g., GPT- 3, GPT-3.5, GPT-4, Claude, etc.) and may input a plurality of historical entries as input data with a prompt to determine preference data (e.g., “Here are <historical entries> associated with user X; determine preference water temperature data and preference ambient environment data for user X based on <historical entries>).

[0181] Program memory 194

[0182]

[0136] The program memory 194 stores various blocks of code (alternatively called processor-executable instructions and / or computer-executable instructions), for directing the local processor 190 to perform various processes, such as a generate operating schedule process 350, an operate according to operating schedule process 400 and a generate proposed modification process 450, as described below. The program memory 194 may also store database management system computer-executable instructions for managing the data stores in the storage memory 192, including the user data store 210 and the contextual data stores 212 (e.g., the external data store 213, the internal data store 216, the historical data store 214 and the preference data store 215). In other embodiments, the program memory 194 may store fewer, additional or alternative computer-executable instructions directing the local processor 190 to execute additional or alternative processes.

[0183]

[0137] The storage memory 192 and the program memory 194 may each be implemented as one or a combination of a non-transitory computer-readable medium and / or non-transitory 89003-284 machine-readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and / or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and / or for caching thereof). The expression “non-transitory computer-readable medium” or “non-transitory machine-readable medium” as used herein is defined to include any type of computer-readable storage device and / or storage disk and to exclude propagating signals and to exclude transmission media.

[0184] Local processor 190

[0185]

[0138] The local processor 190 is generally configured to execute instructions stored in the program memory 194 (including the generate operating schedule process 350, the operate according to operating schedule process 400 and the generate proposed modification process 450 as described below), to retrieve information from, and store information into, the data stores (including the contextual data stores 212) of the storage memory 192 and to receive information and transmit commands and power to, the bathing unit system components (including the at least one pump 106, the filter 108, the at least one temperature change component 110, and the at least one sensor 112), the power source 116, the control panel 188, the remote server 182, the user device 184, and / or the external system 186 if and as applicable over the I / O interface 196.

[0186] Control server 182

[0187]

[0139] Referring to Figure 5, the control server 182 includes the control processor 200, the storage memory 202, the program memory 204 and an I / O interface 206, all in communication with the control processor 200. Other embodiments of the control server 182 may include fewer, additional or alternative components. Additionally, although only a single control processor 200, single storage memory 202, single program memory 204 and single I / O interface 206 is shown in Figure 5, other embodiments of the control server 182 may include more than one of each of these components. For example, the control server 182 may include at least one first remote control server hosted at a first data center configured to perform some functions of the control server 182 and at least one second remote control server hosted at a second data center configured to perform some other functions of the control server 182.

[0188]

[0140] The I / O interface 206 includes an interface for the control processor 200 to communicate commands to, and receive information from: (a) the local processor 190 of the controller 180 over the network 181 ; (b) the user device 184 associated with a user of the bathing unit system 100 over the network 181 ; and / or (c) the external systems 186 associated with 89003-284 external service providers (e.g., the weather service provider, the energy service provider, the electrical grid provider, the calendar service provider, the location positioning service provider, etc.) In some embodiments, the I / O interface 206 may also include an interface for the control processor 200 to communicate directly with the bathing unit components (including the at least one pump 106, the filter 108, the at least one temperature change component 110, and the at least one sensor 112), the power source 116, and / or the control panel 188 via the network 181. Similar to the I / O interface 196 of the controller 180, the I / O interface 206 of the control server 182 may include any communication interface which enables the control processor 200 to perform the functions as described above and below.

[0189]

[0141] The storage memory 202 stores information received or generated by the control processor 200 and may generally function as an information or data store. In the embodiment shown, the storage memory 202 may store a corresponding remote version (not shown) of the user data store 210 and contextual data stores 212 (e.g., the external data store 213, the internal data store 216, the historical data store 214 and the preference data store 215). In other embodiments, the storage memory 202 may include fewer, additional or alternative data stores.

[0190]

[0142] The program memory 204 stores various blocks of code (alternatively called processor-executable instructions and / or computer-executable instructions), for directing the control processor 200 to perform various processes, such as a remote version (not shown) or a portion of the generate operating schedule process 350, the operate according to operating schedule process 400 and the generate proposed modification process 450 as described below. The control processor 200 may perform such various processes in addition to, as a redundancy for, or as an alternative to, the local processor 190 of the controller 180. In this regard, the control processor 200 may have greater processing power and processing speed when compared to the local processor 190, and may perform certain steps of the various processes faster than the local processor 190. The program memory 204 may also store database management system computer-executable instructions for managing the data stores in the storage memory 202. In other embodiments, the program memory 204 may store fewer, additional or alternative computer-executable instructions directing the control processor 200 to execute additional or alternative processes.

[0191]

[0143] The storage memory 202 and the program memory 204 may each be implemented as one or a combination of a non-transitory computer-readable medium and / or non-transitory machine-readable medium such as a hard disk drive, a flash memory, a read-only memory, a 89003-284 compact disk, a digital versatile disk, a cache, a random-access memory and / or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and / or for caching thereof).

[0192]

[0144] The control processor 200 is generally configured to execute instructions stored in the program memory 204 (including the generate operating schedule process 350, the operate according to operating schedule process 400 and the generate proposed modification process 450 as described below), to retrieve information from, and store information into, the data stores (including the user data store 210 and contextual data stores 212 (e.g., the external data store 213, the internal data store 216, the historical data store 214 and the preference data store 215)), and to receive information from, and transmit commands to, the controller 180, the user device 184, the external systems 186, and optionally the control panel 188 and the bathing unit components through the I / O interface 206.

[0193] Control panel 188

[0194]

[0145] The control panel 188 may comprise a topside control panel, and examples of a topside control panel include various embodiments described in the related United States application no. 17 / 515703, titled “TOPSIDE CONTROL PANEL AND TOPSIDE CONTROL PANEL SYSTEM FOR BATHING UNIT SYSTEM AND METHOD OF OPERATING THE SAME”, filed on November 1 , 2021 and related United States patent no. 10353499, titled “TOPSIDE CONTROL PANEL FOR BATHING UNIT SYSTEM”, filed on March 19, 2018, the contents of which are incorporated by reference herein.

[0195]

[0146] The control panel 188 may include: (a) a processor for performing the operations of the control panel 188 (e.g., by executing instructions stored in a program memory of the control panel 188); (b) the program memory configured to store instructions which may be executed in order to implement various functionality of the control panel 188, including user interface codes which cause the user preference interface 700 (shown in Figure 4), a schedule bathing session interface 302 (shown in Figures 6A and 6B), scheduled session conflict notification messages 318 (shown in Figures 8A and 8B), and proposed modification notification messages 418 (shown in Figures 10A-10G) to be displayed on the user interface of the control panel 188; (c) a storage memory configured to store data in order to implement various functionality of the control panel 188; (d) a network interface (e.g., a transmitter / receiver with an antenna or a network interface card or a port) for communicating with the controller 180, the control server 182, the external system 186, and / or the user device 184 if and as applicable; and (c) the at least user interface 89003-284

[0196] (e.g., keypad, the display screen, touchscreen, rotary input device) for receiving user input and for displaying information regarding the bathing unit system 100, including the user interfaces and the notification messages described above and below.

[0197] Power source 116

[0198]

[0147] As described above, the controller 180 may be operable to supply power from the power source 116 to the different bathing unit components. The at least one power source 116 may supply any conventional power service suitable for residential or commercial use. For example, the power source 116 may supply 240 volts (V) AC to the controller 180 via a service wiring 117 (shown in Figure 1). In other embodiments, the power source 116 may instead supply 120 V AC to the controller 180 via the service wiring 117. In yet other embodiments, the power source 116 may supply 120 V and 240 V AC to the controller 180 via the service wiring 117. Those skilled in the art will appreciate that other voltage supply values or voltage supply combinations are possible. For example, the voltage supply values may be different depending on geographical location. Additionally, other embodiments of the bathing unit system 100 may include other types of power sources 116, such as a stored electrical power source (e.g., battery), generated electrical power source (e.g., solar panel or wind / water turbine), a natural gas power source, an oil-based power source, etc. Further still, other embodiments of the bathing unit system 100 may include more than one power source 116, an individual power source 116 for each bathing unit component, or a power source 116 which is shared by more than one bathing unit component (but not by all bathing unit components) of a particular bathing unit system 100.

[0199]

[0148] After receipt of the power from the at least one power source 116, the controller 180 may distribute the power to the different bathing unit components to operate the different bathing unit components according to different operational modes, and to operate the bathing unit system 100 according to the operating schedule and / or the modified operating schedule as described below.

[0200] User device 184

[0201]

[0149] The user device 184 may be any comprise any communication device which can be associated with a user of the bathing unit system 100. The user device 184 may comprise, for example, a mobile phone, or a tablet, or a laptop, or a personal computer, a smart watch, a implantable device (under skin), a wearable device etc., associated with a user of the bathing unit system 100, and may be an external system separate from the bathing unit system 100. In the 89003-284 embodiment shown in Figure 5, two user devices 184, namely, a mobile phone 184A and a laptop 184B are shown; however, in other embodiments, the control system 118 may communicate with additional or fewer user devices 184 and may communicate with no user devices 184.

[0202]

[0150] The user device 184 may include: (a) a processor for performing the operations of the user device 184 (e.g., by executing instructions stored in a program memory of the user device 184); (b) the program memory configured to store instructions which may be executed in order to implement various functionality of the user device 184, including user interface codes which cause the user preference interface 700 (shown in Figure 4), a schedule bathing session interface 302 (shown in Figures 6A and 6B), scheduled session conflict notification messages 318 (shown in Figures 8A and 8B), and proposed modification notification messages 418 (shown in Figures 10A- 10G) to be displayed on the user interface of the user device 184; (c) the storage memory configured to store data in order to implement various functionality of the user device 184; (d) a network interface (e.g., a transmitter / receiver with an antenna or a network interface card or a port) for communicating with the controller 180, the control server 182, the external system 186, and / or the control panel 188 if and as applicable; and (c) the user interface (e.g., keyboard, the display screen, and / or touchscreen) for receiving user input and for displaying information regarding the bathing unit system 100, including the user interfaces and the notification messages described above and below.

[0203]

[0151] In some embodiments, the user device 184 may store or enable retrieval of the contextual data, and in particular the external data and / or the historical data. For example, as described above, the external data may be any data associated an external system separate from the bathing unit system 100. In some embodiments, the external system may be the user device 184 itself and the external data may be retrieved from software applications stored on the program storage memories of the user device 184 and executed by the processor of the user device 184. For example, the external data may include one or more of: (i) the weather condition data and / or the ambient temperature data which may be retrieved from the weather application installed on the user device 184; (ii) the user calendar data which may be retrieved from a calendar application installed on the user device 184; (iii) the user location data which may be retrieved at least in part based on data from a position receiver on the user device 184, (iv) the energy cost data may be retrieved from an energy management application installed on the user device 184; (v) the news data may be retrieved from a news application installed on the user device 184 etc. In other embodiments, the external system may be a separate external system 186 (e.g., the external systems 186A, 186B and 186C) associated with a service provider (e.g., the weather service 89003-284 provider, the energy service provider, the calendar service provider, the location positioning service provider, the news provider etc.), and the user device 184 may operate as an intermediary between the external system 186 and the control system 118. For example, the user device 184 may retrieve the external data from the external systems 186, optionally store the external data in the storage memory of the user device 184, and then transmit the external data to the control system 118.

[0204]

[0152] As an additional example, as also described above, the historical data may be any data associated with a bathing session which has already occurred. The historical data may be retrieved from the user device 184. For example, the historical data may include one or more of: (i) the historical weather condition data and / or the historical ambient temperature data, both of which may be retrieved from the weather application installed on the user device 184; (ii) the historical energy cost data, which may be retrieved from the energy management application installed on the user device 184; etc. In other embodiments, the historical data may be retrieved from the separate external system 186 associated with the service provider, and the user device 184 may operate as an intermediary between the external system 186 and the control system 118 for the historical data in a manner similar

[0205] External system 186

[0206]

[0153] The external system 186 may comprise any computing processor or server associated with an external system separate from the bathing unit system 100. In the embodiment shown in Figure 5, three different external system 186 are shown, namely a first external system 186A associated with a weather service provider, a second external system 186B associated with an energy service provider; and a third external system 186C associated with a calendar service provider. In other embodiments, the control system 118 may communicate with additional or fewer external systems 186 (e.g., a server associated with a location positioning service provider, a server associated with a news service provider, etc.) and may communicate with no external systems 186 in some embodiments.

[0207]

[0154] The external system 186 may include: (a) a processor for performing the operations of the external system 186 (e.g., by executing instructions stored in a program memory of the external system 186, potentially on behalf of a variety of different clients using the external system 186); (b) the program memory configured to store instructions which may be executed to in order to implement various functionality of the external system 186; (c) a storage memory 89003-284 configured to store data in order to implement various functionality of the external system 186; (d) a network interface for communicating with the controller 180, the control server 182, the user device 184, and / or the control panel 188 if and as applicable.

[0208]

[0155] In some embodiments, the external system 186 may store or enable retrieval of the contextual data, and in particular the external data and / or the historical data. For example, in some embodiments, the external data may include one or more of: (i) the weather condition data and / or the ambient temperature data, which may be retrieved from the first external system 186A associated with the weather service provider; (ii) the user calendar data and / or the user location data, which may be retrieved from the second external system 186B associated with the energy service provider; (iii) the energy cost data, which may be retrieved from the third external system 186C of the calendar service provider; etc. As an additional example, in some embodiments, the historical data may include one or more of: (i) the historical weather condition data and / or the historical ambient temperature data, both of which may be retrieved from the first external system 186A associated with the weather service provider; (ii) the historical energy cost data, which may be retrieved from the third external system 186C of the calendar service provider; etc.

[0209] Operating the bathing unit system in different operational modes

[0210]

[0156] The control system 118 may operate the bathing unit system 100 in a plurality of different operational modes including at least a standby mode 410, a temperature change mode 412, a use mode 414 and a maintain mode 416.

[0211] Standby mode 410

[0212]

[0157] During the standby mode 410, the bathing unit system 100 may not being used by a user and is also not being prepared for use by a user, and may be primarily operated by the control system 118 to filter the water 103, sanitize and otherwise maintain cleanliness of the water 103, prevent the water 103 from freezing in the conduits 124, etc. For example, the controller 180 may operate the at least one pump 106 (causing the component to draw power from the power source 116) to circulate the water 103 throughout the circulation system 104 for filtration thereof and to maintain flow through the conduits 124 using the operate bathing unit system in standby mode 410 described below. During a lifetime of a typical bathing unit system 100, the bathing unit system 100 may be in standby mode 410 more than 90% of the time.

[0213]

[0158] For example, standby mode 410 may include computer-executable instructions which direct the control system 118 to: (a) operate the first pump 130 in the “low” mode, the 89003-284 second pump 132 in the “on” mode, and the third pump 134 in the “off’ mode for one minute, (b) operate the first pump 130 in the “low” mode, the second pump 132 in the “off’ mode and the third pump 134 in the “on” mode for one minute, and (c) operate the first pump 130 in the “low” mode, the second pump 132 in the “off” mode, and the third pump 134 in the “off” mode for 58 minutes. The different steps (a), (b) and (c) may be performed immediately sequentially (e.g., step (b) may be performed immediately after step (a)), or may be performed sequentially but with a delay in between (e.g., step (b) may be performed after a delay period after step (a)). The standby mode 410 may be repeated anywhere between 2-10 times a day and may specifically be repeated 4 times a day. Those skilled in the art will appreciate that various embodiments of the standby mode 410 may include additional, alternative or fewer computer-executable instructions to operate the at least one pump 106 differently than that described above.

[0214] Temperature change mode 412

[0215]

[0159] During the temperature change mode 412, the bathing unit system 100 is being prepared for use by the user, and is primarily operated by the control system 118 to reach a desired bathing temperature by a target start time for use by the user. For example, the control system 118 may operate the at least one pump 106 and the at least one temperature change component 110 (causing these components to draw power from the at least one power source 116) to heat or cool the water 103 to a desired temperature at a desired time based on operational details specified by the user or determined based on the preference data described below. During a lifetime of a typical bathing unit system 100, operating the bathing unit system 100 in the temperature change mode 412 may draw the most power from the power source 116 when compared to operating the bathing unit system 100 in the standby mode 410, the use mode 414 or the maintain mode 416 (or any other mode), and may be associated with the highest energy costs.

[0216]

[0160] In one embodiment, the temperature change mode 412 may include computerexecutable instructions which direct the control system 118 to receive temperature signals from the receptacle temperature sensor 160 representing a current water temperature of the water 103 held in the receptacle 102. The control system 118 may then determine or receive a target water temperature of the water 103 and / or a target start time point at which the bathing unit system 100 is required to reach the target bathing temperature. For example, the control system 118 may receive the target water temperature and the desired session start time point from user input received from a user (e.g., via the user interface of the user device 184 and / or the user interface of the control panel 188). The control system 118 may also determine the target water 89003-284 temperature and the targe start time based on the historical date / time data and the historical ambient temperature data stored in the historical data store 214 and / or the preference date / time data and the preference date water temperature data stored in the preference data store 215. The temperature change mode 412 may then direct the control system 118 to operate one or more of the at least one pump 106 and the at least one temperature change component 110 based the water temperatures, the desired start time and / or the internal data (e.g., the thermal property indicator data, the power consumption data, and the thermal energy input data), to reach the target water temperature at the start time. Those skilled in the art will appreciate that various embodiments of the temperature change mode 412 may include additional, alternative or fewer computer-executable instructions to operate at least one pump 106 and the at least one temperature change component 110 differently than that described above.

[0217] Use mode 414

[0218]

[0161] During the use mode 414, also referred to as the “in use mode”, the bathing unit system 100 may be being used by the user and may be primarily operated by the control system 118 to provide the user with a desirable experience during a particular bathing session. For example, during the use mode 414, the control system 118 may operate the at least one pump 106 to generate a desired massage sequence based on user input or otherwise based on preferences of the user, operate the at least one temperature change component 110 to maintain the water 103 at the target water temperature, and operate other components of the bathing unit components (such as at least one light and at least one speaker described above) to maintain a desired ambience setting during use of the bathing unit system 100. Those skilled in the art will appreciate in view of the present disclosure that other embodiments of the use mode 414 may include additional, alternative or fewer computer-executable instructions to operate the various bathing components during a bathing session as described above and below.

[0219] Maintain mode 416

[0220]

[0162] During maintain mode 416, the bathing unit system 100 may be maintained at or proximate a future target water temperature (of the future bathing session) prior to a future start time of a future bathing session. For example, when bathing sessions are scheduled close to each other (as described below), it may be more energy and cost-efficient to maintain the water 103 proximate the target temperature rather than to allow the water 103 to cool down to the standby temperature (e.g., the standby mode 410) and then to heat the water up again to the target temperature (e.g., the temperature change mode 412). For example, during the maintain 89003-284 mode 416, the control system 118 may operate the at least one temperature change component 110 (e.g., the auxiliary heater / cooler 154 rather than the primary heater 150) to maintain the current water temperature with a certain range (e.g., ± 1 °C, ± 2.5°C, ± 5°C, ± 10°C, etc.) of the future target water temperature. Those skilled in the art will appreciate that other embodiments of the maintain mode 416 may include additional, alternative or fewer computer-executable instructions to maintain the current water temperature within a certain range of the future target water temperature as described above and below.

[0221] Generate operating schedule process 350

[0222]

[0163] The control of the different bathing unit components of the bathing unit system 100 during each of the standby, temperature change, use mode, and maintain modes 410, 412, 414 and 416 may be controlled by an operating schedule including one or more scheduled bathing sessions. In this regard, activating the at least one temperature change component 110 to change the water temperature to, or to maintain the water temperature at, the target water temperature can consume a significant amount of power from the power source 116, which may increase the energy costs for operating the bathing unit system 100. As such, it may be desirable to reduce an amount of time the bathing unit system 100 is at the desired water temperature when the bathing unit system 100 is not in use (e.g., increase the amount of time operating in the standby mode 410 and decrease the amount of time operating in the use mode 414). In order for the control system 118 to determine when the bathing unit system 100 should be in the standby mode 410, the temperature change mode 412, and the maintain mode 416 in a manner which allows the bathing unit system 100 to be operated more in the standby mode 410 and less in the temperature change mode 412, the user may be prompted to may pre-schedule use of the bathing unit system 100 by scheduling one or more scheduled bathing sessions to generate an initial operating schedule. The control system 118 may operate the bathing unit system 100 according to the operating schedule to be at the use mode 414 in time for a start time of each of the one or more scheduled bathing sessions as described below.

[0223]

[0164] For example, the user device 184 and / or the control panel 188 may display (on the corresponding user interface or the corresponding display screen) a schedule bathing session interface 302 which generally allow a user to add and modify scheduled bathing sessions. In the embodiment shown in Figures 6A and 6B, the schedule bathing session interface 302 is displayed on the display screen of the user device 184A. 89003-284

[0224]

[0165] Referring to Figure 6A, the schedule bathing session interface 302 includes an add button 304 for adding additional scheduled bathing sessions to an operating schedule. Upon user selection of the add button 304, the display screen of user device 184A displays an add scheduled bathing session panel 306 shown in Figure 6B which allows a user to input scheduled operating details associated with a scheduled bathing session. In the embodiment shown, the add scheduled bathing session panel 306 includes: (i) a date selector 308 which allows a user to enter a scheduled date for the scheduled bathing session, which may be a specific date (e.g., (October 20, 2024) or a recurring date (e.g., every Friday, every first of the month, etc.); (ii) a time selector 310 which allows the user to enter a scheduled time for the scheduled bathing session, including a scheduled bathing session start time and a scheduled bathing session end time (e.g., corresponding to a scheduled bathing session duration) and / or a time period (e.g. evening, afternoon, late night) ; (iii) a water temperature field 312 which allows the user to enter a water temperature for the scheduled bathing session; (iv) ambience selection buttons 314 which allows the user to select different ambience settings for the scheduled bathing session, including different pump settings and / or speeds, different air blower settings and / or speeds, different massage sequences, different light settings, different audio settings, different visual settings, etc.

[0225]

[0166] The add scheduled bathing session panel 306 also includes a confirm button 316. Upon user selection of the confirm button 316, the network interfaces of the user device 184 and / or the control panel 188 may transmit a notification message to the control system 118 indicating that the user would like to add a scheduled bathing session having specific scheduled operating details to the operating schedule, and the generate operating schedule process 350 may be initiated. As used herein, the “operating details” for a bathing session include any details associated with the bathing session which may be set or otherwise controlled by the control system 118, include one or more of date, time, duration, water temperature, and ambience settings. For example, in the embodiment shown in Figure 6B, the operating details of the scheduled bathing session entered via the add scheduled bathing session panel 306 include the scheduled date entered using the date selector 308, the scheduled time entered via the time selector 310, the scheduled water temperature entered via the water temperature field 312 and the scheduled ambience settings entered via the ambience setting selection buttons 314.

[0226]

[0167] One embodiment of the generate operating schedule process 350 is shown in Figure 7. The generate operating schedule process 350 may be performed by a combination of the local processor 190, the control processor 200, the processor of the user device 184 and / or the processor of the control panel 188 executing processor-executable instructions and / or 89003-284 computer-executable instructions. The generate operating schedule process 350 may generally direct the controller 180, the control server 182, the user device 184 and / or the control panel 188 to establish an operating schedule for operating the bathing unit system 100. In other embodiments, the generate operating schedule process 350 may comprise instructions stored on other types of non-transitory computer-readable storage medium, such as a CD-ROM, a floppy disk, a hard drive, a DVD, a Blu-ray disk or another component associated with the controller 180, the control server 182, the user device 184 and / or the control panel 188. In yet other embodiments, the generate operating schedule process 350 and / or parts thereof may be executed entirely by the local processor 190, executed entirely by the control processor 200, executed entirely by the processor of the user device 184, executed entirely by the processor of the control panel 188, and / or by a system other than the control system 118, the user device 184 and the control panel 188. Further, although the generate operating schedule process 350 in accordance with one embodiment is described with reference to the flowchart illustrated in Figure 7, other methods of implementing the generate operating schedule process 350 may alternatively be used. For example, the order of execution of the blocks shown in Figure 7 may be altered, and / or some of the blocks described may be altered, eliminated, or combined.

[0227]

[0168] In the embodiment shown, the generate operating schedule process 350 starts at block 352, which includes computer-executable instructions directing the controller 180, the control server 182, the user device 184 and / or the control panel 188 to process the scheduled operating details associated with a scheduled bathing session to be added to the operating schedule and compare the operating details against the preference data stored in the preference data store 215 and / or the external data stored in the external data store 213 to determine whether there are any conflicts between the operating details, the preference data or the external data. In some embodiments, block 352 may also involve comparing the scheduled operating details against the historical data stored in the historical data store 214 to determine whether there are any conflicts with existing historical data. As noted above, trends and patterns in the historical data may be processed to generate the preference data. Identifying conflicts with the contextual data before adding a scheduled bathing session to the operating schedule may prevent activating the bathing unit system 100 for a scheduled bathing session that the user will not actually use.

[0228]

[0169] As a more specific example, block 352 may involve processing the operating details of date, time, duration, water temperature, and ambience settings associated with a particular scheduled bathing session to determine an energy cost associated with that particular scheduled bathing session. The energy cost may be determined based on the internal data stored 89003-284 in the internal data store 216, and in particular the power consumption models of the one or more bathing unit components and the thermal property indicator of the bathing unit system 100. Different ways of calculating energy costs associated with a particular bathing session based on one or more of the thermal property indicators, the power consumption models and / or the thermal energy models are described in United States patent application no. 18 / 745,455, titled “METHOD AND SYSTEM FOR DETERMINING AND MONITORING THERMAL PROPERTIES OF A BATHING UNIT SYSTEM AND FOR USING SAME TO CONTROL THE BATHING UNIT SYSTEM,” filed June 17, 2024, the content of which is incorporated by reference herein. Block 352 may also involve comparing the calculated energy cost against the preference energy cost data stored in the preference data store 215 to determine whether the calculated energy cost exceeds or otherwise conflicts with the preference energy cost data. For example, the particular scheduled bathing session may be scheduled during on-peak hours of 4PM-9PM, and the preference energy cost data may indicate that the user does not wish to schedule any bathing unit sessions during on-peak hours, which may indicate the existence of a conflict. As another example, the duration of the particular scheduled bathing session may cause the total energy costs for operating the particular scheduled bathing session to exceed a maximum energy cost criteria set by the user, which may also indicate the existence of a conflict.

[0229]

[0170] As another more specific example, block 352 may involve processing the operating details of date, time and duration associated with a particular scheduled bathing session and then comparing the date, time and duration of the particular scheduled bathing session to the user calendar data of the user to determine whether the particular scheduled bathing session may conflict with existing events in the user calendar data. For example, the particular scheduled bathing session may be scheduled during hours which are indicated to be busy by the user calendar data, which may indicate the existence of a conflict.

[0230]

[0171] In response to determining, at block 352, that no conflict exists between the particular scheduled bathing session and the existing preference data and / or the existing external data, the generate operating schedule process 350 may continue to block 360, which includes computer-executable instructions directing the controller 180, the control server 182, the user device 184 and / or the control panel 188 to add the scheduled bathing session 342 as a part of an operating schedule 301 (shown in Figure 6A) of the bathing unit system 100. The generate schedule process 350 may then end. 89003-284

[0231]

[0172] In some embodiments, block 360 may also involve storing the operating details 320 as the historical data in the historical data store 214. For example, the first scheduled start and end date / time 324A and 326A may be stored as the historical date / time data, the first scheduled water temperature 322A may be stored as the historical water temperature, and the estimated energy costs 330A (shown in Figure 6A) may be stored as the historical energy cost data, all in the historical data store 214 and in association with the first scheduled bathing session 342A. In some embodiments, the operating details 320 may only be stored as the historical data after the particular scheduled bathing session 342 has actually occurred.

[0232]

[0173] In other embodiments, block 356 may also involve storing the operating details 320 as the preference data in the preference data store 215. For example, the first scheduled start and end date / time 324A and 326A may be stored as the preference date / time data, the first scheduled water temperature 322A may be stored as the preference water temperature data, and estimated energy costs 330A may be stored as the preference energy cost data, all in the preference data store 215. In some embodiments, the preference data may all be associated with a user scheduling the first scheduled bathing session 342A (e.g., Fridays between 7 PM and 9 PM is a preferred date and time for John, 39°C is a preferred water temperature for John, and $2.5 / kWh is an acceptable energy cost for John). In other embodiments, the preference data may instead be associated with each other. For example, the preference date / time data may be associated with the first estimated energy costs and vice versa (e.g., $2.5 / kWh is an acceptable energy cost for Friday evenings). As a further example, the preference water temperature data may be associated with the first estimated energy costs (e.g., $2.5 / kWh is an acceptable or preferred energy cost for reaching a target water temperature of 39°C). The generate operating schedule process 350 may then end.

[0233]

[0174] However, in response to determining that a conflict may exist between the particular scheduled bathing session and the existing preference data and / or the existing external data at block 352, the generate operating schedule process 350 may continue to block 354, which may include computer-executable instructions directing the controller 180, the control server 182, the user device 184 and / or the control panel 188 to display or otherwise communicate a conflict notification message to the user (e.g., via the user interface of the control panel 188 and / or the user interface of the user device 184). The conflict notification message may convey: (a) the operating details of the particular scheduled bathing session; (b) the existing preference data and / or the existing external data which may conflict with the particular scheduled bathing session; 89003-284 and / or (c) rationale data explaining how the particular scheduled session may conflict with the existing preference data and / or the existing external data.

[0234]

[0175] One embodiment of the conflict notification message 318 is shown in Figure 8A at 318A. In the embodiment shown in Figure 8A, the conflict notification message 318A is displayed on a display screen of the user device 184A and includes:

[0235] (a) operating details 320 of a particular scheduled bathing session 342. In the embodiment shown in Figure 8A, operating details 320A of a first scheduled bathing session 342A include a scheduled water temperature 322A of 39°C, a scheduled start date / time 324A of 7 PM on Friday, October 25 and a scheduled end date / time 326A of 9 PM.

[0236] (b) external data 328 which may be associated with, or retrieved for, the operating details 320. In the embodiment shown in Figure 8A, external data 328A includes an estimated energy cost of $2.5 / kWh, on-peak for operating the bathing unit system 100 according to the operating details 320A of the first scheduled bathing session 342A. The estimated energy cost may be calculated based on: (i) the operating details 320A; (ii) the external data (e.g., the energy cost data) stored in the external data store 213 and / or retrieved directly from the external systems (e.g., the energy management application stored on the user device 184 and / or the second external system 186B of the energy service provider); and (iii) the internal data (e.g., the power consumption models of different bathing unit components) as described above.

[0237] (c) preference data 332 which is conflicted by the operating details 320 and / or by the external data 328 associated with the operating details 320. In the embodiment shown in Figure 8A, preference data 332A includes a maximum energy cost rate 336A of $2 / kWh. The maximum energy cost rate 336A may be retrieved from the preference data stored in the preference data store 215 as described above.

[0238] (d) rationale data 340 outlining how the operating details 320 (and / or associated external data 328) may conflict with the existing preference data 332. In some embodiments, the rationale data 340 may specifically include both at least a portion of the operating details 320 (or the associated external data 328) and at least a portion of the conflicting preference data 332. For example, in the embodiment shown in Figure 8A, rationale data 340A includes a text description of “Estimated energy cost rates for above session exceed existing maximum energy cost rate.” 89003-284

[0239]

[0176] Another embodiment of the conflict notification message 318 is shown in Figure 8B at 318B. In the embodiment shown in Figure 8B, the conflict notification message 318B is also displayed on a display screen of the user device 184A and includes:

[0240] (e) the operating details 320 of the particular scheduled bathing session 342A. In the embodiment shown in Figure 8B, the operating details 320A of the first scheduled bathing session 342A continue to include the scheduled water temperature 322A of 39°C, the scheduled start date / time 324A of 7 PM on Friday, October 25 and a scheduled end date / time 326A of 9 PM.

[0241] (f) the external data 328 which may be associated with, or retrieved for, the operating details 320 of the particular scheduled bathing session 342. In the embodiment shown in Figure 8B, external data 328B includes user calendar data, which indicates that the user has an event scheduled from 6:30 PM to 8:30 PM on Friday, October 25. The user calendar data may be retrieved based on the operating details 320A (e.g., the scheduled start date / time 324A and the scheduled end date / time 326A). The user calendar data may be retrieved from the external data (e.g., the user calendar data) stored in the external data store 213 and / or directly from the external systems (e.g., the calendar application stored on the user device 184 and / or the third external system 186C of the calendar service provider) as described above.

[0242] (g) the rationale data 340 outlining how the operating details 320 may conflict with the existing external data 328. In some embodiments, the rationale data 340 may specifically include both at least a portion of the operating details 320 and at least a portion of the conflicting external data 328. For example, in the embodiment shown in Figure 8B, rationale data 340B includes a text description of “The above session conflicts with another event scheduled for Friday, October 25 at 6:30PM.”

[0243]

[0177] Referring back to Figure 7, the generate operating schedule process 350 may then continue to optional block 355 which may include codes directing the control system 118 to determine whether there has been any modification of the operating details 320, the preference data 332 or the external data 328, such as via the conflict notification message 318.

[0244]

[0178] In some embodiments, the conflict notification messages 318A and 318B may include fields, inputs, and selectors which can be used by a user to modify the operating details 320 of the particular scheduled bathing session 342 to generate modified operating details 320’ 89003-284

[0245] (not shown). For example, in the embodiment shown in Figures 8A and 8B, the first scheduled bathing session 342A may be selectable by the user (e.g., via the user interface of the user device 184 and / or the user interface of the control panel 188) to modify the operating details 320A thereof in a manner similar to that described in association with add scheduled bathing session panel 306 shown in Figure 6B. For example, the scheduled water temperature 322A be modified to enter a modified scheduled water temperature 322A’ (e.g., a lower temperature of 35°C). Similarly, the scheduled start and end dates / times 324A and 326A may be modified to enter a modified scheduled start and end date / time (e.g., a later time of 8 PM to 10PM).

[0246]

[0179] If the user has modified the operating details 320 at block 355, the generate operating schedule process 350 may return back to block 352 and continue therefrom based on the modified operating details 320’. For example, the generate operating schedule process 350 may correspondingly modify the external data 328 which is associated with, or retrieved for, the modified operating details 320’. This may in turn result in re-comparison of the modified operating details 320’ with relevant preference data 332 and / or relevant external data 328 to determine whether there is a conflict. The generate operating schedule process 350 may also regenerate and re-transmit the conflict notification message 318 if there is a conflict.

[0247]

[0180] For example, in the embodiment shown in Figure 8A, after modification of the operating details 320A to generate the modified operating details 320A’ as described above, block 352 may determine that there is no conflict between the modified operating details 320’ and the existing preference data 332A or the existing external data 328A, as a total estimated energy cost is at or below a maximum energy cost rate when the scheduled bathing session 342A is for a shorter amount of time or is at a lower temperature. Similarly, in the embodiment shown in Figure 8B, after modification of the operating details 320A to generate the modified operating details 320A’ as described above, block 352 may determine that there is no conflict between the modified operating details 320A’ and the existing external data 328B as the particular scheduled bathing session is no longer at the same time as the dinner event from the user calendar data.

[0248]

[0181] In other embodiments, the conflict notification messages 318A and 318B may include fields, inputs, and selectors which can be used by a user to modify the relevant preference data 332 and / or the relevant external data 328 to generate modified preference data 332’ (not shown) and / or modified external data 328’ (not shown). For example, in the embodiment shown in Figure 8A, the preference data 328A including the maximum energy cost rate 336A may comprise a field which can be selected by the user (e.g., via the user interface of the user device 89003-284

[0249] 184 and / or the user interface of the control panel 188) and modified to enter the modified maximum energy cost rate 336A’ (e.g., $2.5 / kWh). The modified maximum energy cost rate 336A’ may be stored as modified preference data 328A’ in the preference data store 215. Similarly, in the embodiment shown in Figure 8B, the external data 328B including the user calendar data may comprise an interface area selectable by the user to enable modification of calendar events (e.g., to cancel the dinner event scheduled for Friday, October 25, 2024 from 6:30 PM to 8:30 PM) and to generate modified user calendar data. The modified user calendar data may be stored as the modified external data 328A’ in the external data store 213. The modified user calendar data may also be transmitted to the external system (e.g., the calendar application on the user device 184 and / or to the third external system 186C of the calendar service provider) so that the external data at the external system is updated.

[0250]

[0182] If the user has modified the external data 328 or the preference data 332 at block 355, the generate operating schedule process 350 may also return back to block 352 and continue therefrom based on the modified external data 328’ and / or the modified preference data 332’. For example, the generate operating schedule process 350 may re-compare the operating details 320 with the modified external data 328’ and / or the modified preference data 332’ to determine whether there is a conflict. The generate operating schedule process 350 may also re-generate and re-transmit the conflict notification message 318 if there is a conflict.

[0251]

[0183] However, if there is no modification to remove conflicts at block 355, the generate operating schedule process 350 may then continue to block 356, which may include computerexecutable instructions directing the controller 180, the control server 182, the user device 184 and / or the control panel 188 to determine whether the user has decided to schedule the particular scheduled bathing session 342 in spite of the existing conflict. For example, referring back to Figures 8A and 8B, the conflict notification messages 318A and 318B both include a confirm button 344 and a cancel button 345. Block 356 may involve receiving a response from the user interface of the user device 184 or the control panel 188 based on whether the user has selected the confirm button 344 to confirm the scheduled bathing session 342 in spite of the conflict or the cancel button 345 to cancel the scheduled bathing session 342.

[0252]

[0184] In response to determining that the particular scheduled bathing session 342 has been accepted at block 356, the generate operating process 350 may then continue block 360 as described above to add the scheduled bathing session 342 to the operating schedule 301 (shown in Figure 6A) of the bathing unit system 100. The generate operating schedule process 350 may 89003-284 then end. However, in response to determining that the particular scheduled bathing session 342 has been rejected at block 356, the generate operating schedule process 350 may then end without adding the scheduled bathing session 342 as a part of the operating schedule.

[0253] Operate according to operating schedule process 340

[0254]

[0185] After at least one instance of the generate operating schedule process 350 generating an operating schedule, referring back to Figure 6A, the schedule bathing session interface 302 may display the operating schedule 301 including one or more scheduled bathing sessions 342, such as the first scheduled bathing session 342A and a second scheduled bathing session 342B. Those skilled in the art will appreciate that, in other embodiments, the schedule bathing session interface 302 may include fewer, additional or alternative scheduled bathing sessions based on a number of sessions scheduled for the bathing unit system 100 and / or scheduled by a particular user in embodiments where the schedule bathing session interface 302 only displays bathing sessions scheduled by one particular user.

[0255]

[0186] The schedule bathing session interface 302 may display the operating details 320 associated with different scheduled bathing sessions 342. In the embodiment shown in Figure 6A, the schedule bathing session interface 302 displays the first operating details 320A associated with the first scheduled bathing session 342A including the scheduled start and end date / time 324A and 326A of Friday, October 25, from 7 PM to 9 PM, and the scheduled water temperature 322A of 39°C. The schedule bathing session interface 302 also displays the second operating details 320B including the scheduled start and end date / time 324C and 326B of Sunday, October 27, from 4 PM to 5 PM and a scheduled water temperature 322B of 39°C. Those skilled in the art will appreciate that fewer, additional or alternative operating details 320 may be displayed with each scheduled bathing session 342 (e.g., scheduled ambience data).

[0256]

[0187] In some embodiments, the schedule bathing session interface 302 may include fields, inputs, and selectors which can be used by a user to modify the operating details 320 associated with a particular scheduled bathing session 342 to generate the modified operating details 320’ (not shown). For example, in the embodiment shown in Figure 6A, the first and second scheduled bathing sessions 342A and 342B may be selected by a user (e.g., via the user interface of the user device 184 and / or the control panel 188) and to redisplay a modify bathing session panel (not shown) similar to add scheduled bathing session panel 306 as shown in Figure 6B. The user may interact with the modify scheduled bathing session panel to modify the first and 89003-284 second operating details 320A and 320B in a manner similar to the add scheduled bathing session panel 306 as described above.

[0257]

[0188] In other embodiments, the schedule bathing session interface 302 may also display corresponding first and second external data 328A and 328B calculated based on the first and second operating details 320A and 320B. In the embodiment shown in Figure 6A, the first external data 328A include an estimated energy cost 330A for operating the bathing unit system 100 to implement the first scheduled bathing session 342A. Similarly, the second external data 328B includes an estimated energy cost 330B for operating the bathing unit system 100 to implement the second scheduled bathing session 342B. As will be described below, because the first and second scheduled dates / times 324A, 326A, 324B and 326B are close together to each other, the control system 118 may determine that it is more cost / energy efficient to operate the bathing unit system 100 in the maintain mode 416 between the first and second scheduled bathing sessions 342A and 342B rather than allow the water 103 to cool down after the first scheduled bathing session 342A and then to heat up again for the second scheduled bathing session 342B. Those skilled in the art will appreciate that fewer, additional, or alternative external data 328 may be displayed with a particular scheduled bathing session (e.g., the user calendar data).

[0258]

[0189] Further, after at least one instance of the generate operating schedule process 350 generating the operating schedule 301 , the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) may then actually operate the bathing unit system 100 according to the operating schedule 301 and in a manner which takes into account the external data, the internal data, the historical data and the preference data.

[0259]

[0190] For example, in some embodiments, when operating the bathing unit system 100 according to the operating schedule 301 , the control system 118 may execute computerexecutable instructions to control the bathing unit components based at least in part on the thermal property indicator data, the thermal energy input models, and the power consumption models stored in the internal data store 216. For example, the thermal property indicator data may represent the k constant representing a rate of temperature change of the water 103 in the receptacle 102 when no further thermal energy is inputted into the water, the thermal conductivity H of the bathing unit system 100 and / or the inverse thermal resistance 0 of the bathing unit system 100. The thermal energy input models may represent an amount of thermal energy inputted into the water 103 when the different bathing unit components (e.g. the at least one 89003-284 temperature change component 110 and the at least one pump 106) are operated in different modes (e.g., the “low”, the “standard” and the “high” modes) as described above. The combination of the thermal property indicator data and the thermal energy input models can be used to determine how to operate the different bathing unit components in order to reach the scheduled water temperature (e.g., the scheduled water temperature 322A of 39°C shown in Figure 6A) by the scheduled start date and time (e.g., 7 PM on Friday, October 25, 2024) of a particular scheduled bathing session 342.

[0260]

[0191] In other embodiments, when operating the bathing unit system 100 according to the operating schedule 301 , the control system 118 may execute computer-executable instructions to control the bathing unit components based at least in part on the power consumption models stored in the internal data store 216 and the energy cost data stored in the external data store 213 (and / or retrieved from the external systems such as the energy management application on the user device 184 or the second external system 186B of the energy service provider). For example, the power consumption models may represent an amount of power drawn from the power source 116 when the different bathing unit components (e.g. the at least one temperature change component 110 and the at least one pump 106) are operated in different modes (e.g., the “low”, the “standard” and the “high” modes) as described above. The energy cost data may represent costs associated with the amount of power drawn from the power source 116. The combination of the power consumption models and the energy cost data can be used to determine a cost of operating the different bathing unit components to reach the scheduled water temperature by the scheduled start date / time of a particular scheduled bathing session.

[0261]

[0192] Further, the energy cost data may also represent how energy costs vary over time (e.g., times of day associated with off-peak, on-peak and overnight rates). Additionally, the thermal energy input models may represent how different bathing unit components may be controlled differently in order to input a same amount of thermal energy into the water 103 in order to reach the scheduled water temperature by the scheduled start time. For example, it may be possible to input the same amount of thermal energy by operating the auxiliary heater / cooler 154 for a longer duration when compared to operating the primary heater 150 for a shorter duration. Additionally or alternatively, it may be possible to input the same amount of thermal energy by operating the primary heater 150 in combination with the auxiliary heater / cooler 154 for a shorter duration when compared to operating the primary heater 150 alone for a longer duration. Further still, the power consumption models may represent how operating the different bathing unit 89003-284 components in different modes may draw different amounts of power from the power source 116 and thus be associated with different energy costs. For example, operating the auxiliary heater / cooler 154 for the longer duration may be less expensive than operating the primary heater 150 for the shorter duration. The combination of the energy cost data, the thermal energy input models, and the power consumption models may thus be used to determine how to operate the bathing unit system 100 according to the operating schedule 301 while minimizing the costs associated with reaching the scheduled water temperature 322 by the scheduled start date / time 324 of a particular scheduled bathing session 342.

[0262]

[0193] Further, as the scheduled bathing sessions 342 are typically scheduled ahead of time, when operating the bathing unit system 100 according to the operating schedule 301 , the control system 118 may also be able to execute computer-executable instructions to control the bathing unit components based at least in part on the preference energy cost data stored in the preference data store 215. The preference energy cost data may represent an acceptable cost for a particular bathing session (e.g., for a particular user, for a particular date category, and / or for a particular scheduled water temperature). The control system 118 may control the different bathing unit components to ensure that the energy costs required to reach the scheduled water temperature 322 by the scheduled start date / time 324 does not exceed the acceptable energy cost. For example, in situations where the preference energy cost data indicates a low acceptable energy cost, the control system 118 may operate the primary heater 150 during off-peak hours to reach the scheduled water temperature and then operate auxiliary heater / cooler 154 during on- peak hours in order to maintain the scheduled water temperature, rather than operate the primary heater 150 during on-peak hours. Additionally or alternatively, in situations where the preference energy cost data indicates the low acceptable energy cost, the control system 118 may operate the primary heater 150 during the off-peak hours to reach a water temperature which is above the scheduled water temperature, and then turn off all of the temperature change component 110 to allow the water 103 to decrease to the scheduled water temperature 322 at the scheduled start date / time 324 without use of energy during the on-peak hours. Additional ways of operating the bathing unit system 100 according to the operating schedule 301 in an optimized manner which takes into external data such as energy cost and ambient environment are described in in United States patent application no. 18 / 745,455, titled “METHOD AND SYSTEM FOR DETERMINING AND MONITORING THERMAL PROPERTIES OF A BATHING UNIT SYSTEM AND FOR USING SAME TO CONTROL THE BATHING UNIT SYSTEM,” filed June 17, 2024, the content of which is incorporated by reference herein. 89003-284

[0263] Generate proposed modification process 450

[0264]

[0194] While the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) is operating the bathing unit system 100 according to the operating schedule 301 , the control system 118 may periodically initiate the generate proposed modification process 450. The generate proposed modification process 450 may include computer-executable instructions and other elements directing the local processor 190, the control processor 200, the processor of the user device 184 and / or the processor of the control panel 188 to generate a proposed modification to the operating schedule 301. 1 n particular, the generate proposed modification process 450 may receive the contextual data (including one or more of the external data from the external data store 213, the internal data from the internal data store 216, the historical data from the historical data store 214 and the preference data from the preference data store 215) and propose an addition of an additional bathing session to the operating schedule 301 or propose a modification or cancellation of an existing scheduled bathing session from the operating schedule 301 . The proposed modification thus allows the modification or cancellation of scheduled bathing session that the user will not actually use. The proposed addition can also personalize operation of the bathing unit system 100 for the user, based on contextual data associated with a user. Further, the generate proposed modification 450 can provide an indication that the user may wish to use the bathing unit system 100 with sufficient lead time for the control system 118 to control the one or more bathing unit components in an energy efficient and cost-efficient manner and while taking into account the contextual data. Similarly, the generate proposed modification process 450 may provide an indication that the user does not intend to use an existing scheduled bathing session with sufficient lead time for the control system 118 to not initiate the existing scheduled bathing session unnecessarily.

[0265]

[0195] One embodiment of the generate proposed modification process 450 is shown in Figure 9. The generate proposed modification process 450 may be performed by a combination of the local processor 190, the control processor 200, the processor of the user device 184 and / or the processor of the control panel 188 executing processor-executable instructions and / or computer-executable instructions. In other embodiments, the generate proposed modification process 450 may comprise instructions stored on other types of non-transitory computer-readable storage medium, such as a CD-ROM, a floppy disk, a hard drive, a DVD, a Blu-ray disk or another component associated with the controller 180, the control server 182, the user device 184 and / or the control panel 188. In yet other embodiments, the generate proposed modification process 450 and / or parts thereof may be executed entirely by the local processor 190, executed entirely by 89003-284 the control processor 200, executed entirely by the processor of the user device 184, executed entirely by the processor of the control panel 188, and / or executed entirely or in part by a system other than the control system 118, the user device 184 and the control panel 188. Further, although the generate proposed modification process 450 in accordance with one embodiment is described with reference to the flowchart illustrated in Figure 9, other methods of implementing the generate proposed modification process 450 may alternatively be used. For example, the order of execution of the blocks shown in Figure 9 may be altered, and / or some of the blocks described may be altered, eliminated, or combined.

[0266]

[0196] In the embodiment shown in Figure 9, the generate proposed modification process 450 starts at block 452, which includes computer-executable instructions directing the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) to process the contextual data (including one or more of the external data from the external data store 213, the internal data from the internal data store 216, the historical data from the historical data store 214 and the preference data from the preference data store 215) and generate a proposed modification of the initial operating schedule based on the contextual data.

[0267] Addition of an additional bathing session

[0268]

[0197] In some embodiments, block 452 may involve generating a proposed modification comprising an addition of an additional bathing session to the operating schedule 301 including one or more existing scheduled bathing sessions 342. In some embodiments, the proposed modification comprising the addition of an additional bathing session may be based on a combination of the external data and the preference data. As described above in connection with the preference data store 215, the control system 118 may automatically determine preference data by processing the historical data in the historical data store 214. Accordingly, historical data may be used instead of the preference data to indicate the various preferences in the examples described below.

[0269]

[0198] For example, with the ambient environment data stored in the external data store 213 and / or retrieved from a relevant external system (e.g., the weather application on the user device 184 and / or the first external system 186A of the weather service provider) may indicate clear weather conditions between for an upcoming Saturday evening from 6 PM to 11 PM and an ambient temperature above 15°C from 6 PM to 11 PM. The preference data from the preference data store 215 may indicate that a particular user has a preference for ambient temperatures 89003-284 above 15°C (e.g., the preference ambient temperature data) and a preference for evenings (e.g., the preference date / time data). Block 452 may involve processing the ambient environment data and the preference data (i.e., the preference ambient temperature data and the preference date / time data) to identify at least one time slot satisfying one or more modification criteria (described below), and may specifically generate a proposed modification for the addition of an additional bathing session on Saturday from 6 PM to 8 PM to the initial operating schedule 301.

[0270]

[0199] As another example, the user calendar data stored in the external data store 213 and / or retrieved from a relevant external system (e.g., the calendar application stored on the user device 184 and / or the third external system 186C of the calendar service provider) may indicate that a particular user has an upcoming free Saturday morning before 1 PM. The preference data from the preference data store 215 may indicate that the particular user has a preference for a relaxing bathing session (e.g., the preference ambience data) on weekend mornings (e.g., the preference date / time data). Block 452 may involve processing the user calendar data and the preference data (i.e., the preference ambience data and the preference date / time data) to identify at least one time slot satisfying the modification criteria, and may specifically generate a proposed modification for addition of an additional bathing session on Saturday morning from 10 AM to 12 PM and with a “relaxation” ambience setting.

[0271]

[0200] As yet another example, the energy cost data stored in the external data store 213 and / or retrieved from a relevant external system (e.g., the energy management application on the user device 184 and / or the second external system 186B of the energy service provider) may indicate that an upcoming Sunday afternoon is associated with a low dynamic cost from 2 PM to 5 PM. The preference data from the preference data store 215 may indicate that a particular user has a preference for bathing sessions on Sunday afternoons (e.g., the preference date / time data), but that the particular user is very cost sensitive and will cancel bathing sessions which are too expensive (e.g., the preference energy cost data). Block 452 may involve processing the energy cost data and the preference data (i.e., the preference date / time data and the preference energy cost data) to identify at least one time slot satisfying the modification criteria, and may specifically generate a proposed modification for addition of a low cost bathing session on Sunday between 2 PM and 4 PM.

[0272] Modification of an existing scheduled bathing session

[0273]

[0201] In some embodiments, block 452 may involve generating a proposed modification comprising a modification or a cancellation of an existing scheduled bathing session from the 89003-284 initial operating schedule. In some embodiments, the proposed modification comprising the modification, or the cancellation, of an existing scheduled bathing session may be based on at least one of the external data from the external and the preference data. In this regard, historical data from the historical data store 214 may be used instead of the preference data to indicate the various preferences in the examples described below.

[0274]

[0202] For example, the initial operating schedule 301 may include the first scheduled bathing session 342A for Friday, October 25, from 7 PM to 9PM. However, the ambient environment data stored in the external data store 213 and / or retrieved from a relevant external system (e.g., the weather application on the user device 184 and / or the first external system 186A of the weather service provider) may indicate raining weather conditions and an ambient temperature below 5°C that Friday from 6 PM onwards. The preference data from the preference data store 215 may indicate that a particular user has a preference for ambient temperatures above 15°C (e.g., the preference ambient temperature data) and a preference for clear conditions (e.g., the preference weather condition data). Block 452 may involve processing the ambient environment data and the preference data (i.e., the preference ambient temperature data and the preference weather condition data) to identify at least one modification satisfying the modification criteria, and may specifically generate a proposed modification for the cancellation of the first scheduled bathing session 342A.

[0275]

[0203] As another example, the initial operating schedule 301 may include the first scheduled bathing session 342A, again for Friday, October 25, from 7 PM to 9PM. However, the user calendar data stored in the external data store 213 and / or retrieved from a relevant external system (e.g., the calendar application stored on the user device 184 and / or the third external system 186C of the calendar service provider) may indicate that a particular user has a dinner scheduled for that Friday from 6 PM to 8 PM. Block 452 may involve processing the user calendar data to identify at least one modification satisfying the modification criteria, and may specifically generate a proposed modification for the cancellation of the first scheduled bathing session 342A or the rescheduling of the first scheduled bathing session 342A to a non-conflicting time.

[0276]

[0204] As another example, the initial operating schedule 301 may include the second scheduled bathing session 342B for Sunday, October 27, from 4 PM to 5 PM. However, the user location data retrieved from a relevant external system (e.g., a global positioning application on the user device 184 and / or an external system 186 of the location positioning service provider) may indicate that a particular user is in a different city from the field location 101. Block 452 may 89003-284 involve processing the user location data to identify at least one modification satisfying the modification criteria, and may specifically generate a proposed modification for the cancellation of the second scheduled bathing session 342B.

[0277]

[0205] As yet another example, the initial operating schedule 301 may include the second scheduled bathing session 342B, again for Sunday, October 27, from 4 PM to 5 PM. The energy cost data stored in the external data store 213 and / or retrieved from a relevant external system (e.g., the energy management application on the user device 184 and / or the second external system 186B of the energy service provider) indicates that the Sunday is associated with a high dynamic cost from 2 PM to 9 PM. The preference data from the preference data store 215 may indicate that a particular user is cost sensitive and prefers to not use the bathing unit system 100 during on-peak hours (e.g., the preference energy cost data). Block 452 may involve processing the energy cost data to derive a cost associated with the second scheduled bathing session 342B, comparing the cost to the preference energy cost data, and generating a proposed modification when the cost exceeds the preference energy cost data (e.g., which may be the one or more modification criteria), and may specifically generate a proposed modification for the cancellation of the second scheduled bathing session 342B.

[0278] One or more modification criteria

[0279]

[0206] The generate proposed modification process 450 may then continue to block 454, which includes computer-executable instructions directing the control system 118 (e.g., the local processor 190 of the controller 180 and / or the control processor 200 of the control server 182) to determine whether the proposed modification generated at block 452 satisfies the one or more modification criteria. The modification criteria may be different for the proposed modification comprising the addition of an additional bathing session and for the proposed modification comprising the modification of an existing scheduled bathing session.

[0280]

[0207] For example, for the proposed modification comprising the addition of an additional bathing session, the modification criteria may comprise match values generated based on similarities between: (a) the operating details of the additional bathing session and the external data associated with the additional bathing session versus (b) the preference data. In such embodiments, block 454 may involve comparing the determined match value against a match value threshold to determine whether or not the proposed modification satisfies the one or more modification criteria. The match value threshold may be pre-set and / or may be based on acceptance and rejection of previous proposed modifications by a user as described below. 89003-284

[0281]

[0208] As a more specific example, referring back to the examples described above, the external data indicating (i) the clear weather conditions, (ii) the ambient temperature above 15°C, and (iii) the Saturday evening at around 6 PM, may generally be compared with the preference data indicating (iv) the preference for ambient temperatures above 15°C and (v) the preference for evenings. Block 454 may heuristically determine that: (i) has no match; (ii) has an exact match in (iv); and that (ii) has a partial match in (v), and may generate a match value representing the comparison.

[0282]

[0209] In other embodiments, block 454 may input the external data indicating (i), (ii) and

[0283] (iii) and the preference data indicating (iv) and (v) into an artificial intelligence model specifically trained to receive external data and preference data as inputs and to generate a match value representing a comparison therebetween as an output. For example, a modification criteria model may be trained on a plurality of associated external data and preference data training sets which are previously labelled with corresponding known match values (e.g., “match: 0.92,” “match: 0.4,” “match: 0.1 ,” etc.). The control system 118 may input the external data indicating (i), (ii) and (iii) and the preference data indicating (iv) and (v) into the modification criteria model to generate the match values. Alternatively, the control system 118 may utilize a generative language model (e.g., GPT-3, GPT-3.5, GPT-4, Claude, etc.) and may input the external data indicating (i), (ii) and (iii) and the preference data indicating (iv) and (v) with a prompt to determine a match value (e.g., “here are <external data> and preference data>; determine a match value between <external data> and preference data>). Block 454 may then determine whether the match value exceeds a corresponding match value threshold.

[0284]

[0210] As another more specific example, again referring back to the examples described above, the external data indicating: (i) the Sunday afternoon between 2 PM and 5 PM, and (ii) the low dynamic cost, may generally be compared with the preference data indicating (iii) the preference for Sunday afternoons, and (iv) the cost sensitivity. Block 454 may heuristically determine that: (i) has an exact match in (iii), and (ii) has an exact match in (iv), and may generate a match value representing the comparison. As described above, in other embodiments, block 454 may input the external data indicating (i) and (ii) and the preference data indicating (iii) and

[0285] (iv) into the modification criteria model and / or the generative language model to generate the match value. Block 454 may then determine whether the match value exceeds a corresponding match value threshold. 89003-284

[0286]

[0211] In contrast, for the proposed modification comprising the modification or cancellation of an existing scheduled bathing session, the modification criteria may comprise binary values based on the external data, alone or in combination with the preference data. For example, the binary value may be (1) “modify” representing that the modification criteria is satisfied and (2) “do not modify” representing that the modification criteria is not satisfied.

[0287]

[0212] As a more specific example, referring back to the examples described above, the operating details 320A associated with the first scheduled bathing session 342A indicates that is scheduled to occur on Friday, October 25, from 7 PM to 9 PM. Block 454 may involve determining that the external data indicating (i) a conflicting dinner scheduled for that Friday from 6 PM to 8 PM satisfies the binary value of “modify” as the modification criteria. Similarly, again referring back to the examples described above, the operating details 320B associated with the second scheduled bathing session 342B may indicate that it is scheduled to occur on Sunday, October 27 from 4 PM to 5 PM. Block 454 may involve determining that the external data indicating: (ii) a user location in a different city from the field location 101 for that Sunday satisfies the binary value of “modify” as the modification criteria. Further, again referring back to the examples described above, block 454 may also involve comparing the external data indicating: (iii) a high dynamic energy cost from 2 PM to 9 PM on that Sunday with the preference data indicating: (iv) a restriction against use during non-peak hours, and determine that (iii) exceeding (iv) satisfies the binary value of “modify” as the modification criteria.

[0288]

[0213] Those skilled in the art will recognize that there are various other types of external data which may be associated with a binary value. For example, certain weather condition data indicating significant weather conditions in which the bathing unit system 100 will not or should not be used (e.g., hail, snowstorm, thunderstorm, etc.), news data indicating significant national or political events, etc., may automatically be associated with a binary value of “modify.” Those skilled in the art will also recognize that a user may set certain external data or certain preference data to be associated with a binary value of “modify”, including use calendar data indicating specific dates (e.g., anniversaries, birthdays, etc.) or specific events (e.g., swimming practice, cycling practice, running practice, etc.) and energy cost data indicating a maximum energy cost or a maximum energy cost tier.

[0289]

[0214] In some other embodiments, for the proposed modification comprising modification or cancellation of an existing scheduled bathing session, the modification criteria may also comprise the match values generated based on similarities between: (a) the operating details of 89003-284 the existing scheduled bathing session and / or the external data associated with the existing scheduled bathing session versus (b) the preference data and / or the external data. As described above, the control system 118 may use a heuristic comparison to generate the match value, may use a machine learning model specifically trained to generate the match value (e.g., the match value model), and / or use a generative language model in combination with a prompt to generate the match value.

[0290]

[0215] As a more specific example, referring back to the examples described above, the operating details 320A may indicate that the first scheduled bathing session 342A is on an upcoming Friday, from 7 PM to 9 PM. Block 454 may involve comparing the external data indicating (i) raining weather conditions and (ii) an ambient temperature of below 5°C against the preference data indicating (iii) a preference for ambient temperatures above 15°C and (iv) a preference for clear weather conditions. For example, block 454 may heuristically determine that: (i) has an exact match in (iv), and that (ii) has an exact match in (iii), and may heuristically generate the match value based on the comparison as described above. As another example, block 454 may instead input the external data indicating (i) and (ii) and the preference data indicating (iii) and (iv) into either (a) the match value model to generate the match value and / or (b) the generative language model in combination with a prompt to generate the match value. Block 454 may then determine whether the match value exceeds the match value threshold.

[0291]

[0216] In response to determining at block 454 that the proposed modification does satisfy a modification criteria, the generate proposed modification process 450 may then continue to block 460. Block 460 may includes computer-executable instructions directing the controller 180, the control server 182, the user device 184 and / or the control panel 188 to modify the existing operating schedule 301 based on the proposed modification to generate a modified operating schedule 301’. The operate according to operating schedule process 400 may then control the bathing unit system 100 according to the modified operating schedule 30T including the proposed modification rather than the existing operating schedule 301 not including the proposed modification. The generate proposed modification process 450 may then end.

[0292]

[0217] In some embodiments, similar to block 360 of the generate operating schedule process 350, block 454 may also involve storing the modified operating details 320’ of the existing scheduled bathing session 342 or proposed operating details 420 of an additional bathing session 402 (shown in Figures 10A-10G) as the historical data in the historical data store 214. For example, the modified scheduled start and end date / times 324’, and 326’ of the existing scheduled 89003-284 bathing session 342 and proposed start and end date / time 424 and 426 an additional bathing session 402 (shown in Figures 10A-10G) may be stored as the historical date / time data. The modified water temperatures 322’ of the existing scheduled bathing session 342 and the proposed water temperature 422 of an additional bathing session 402 may be stored as the historical water temperature. In some embodiments, the modified operating details 320’ or the proposed operating details 420 may only be stored as the historical data after the particular scheduled bathing session 342’ as modified has occurred or cancelled and after the proposed bathing session 402 has actually occurred.

[0293]

[0218] In other embodiments, also similar to block 360 of the generate operating schedule process 350, block 454 may also involve storing the modified operating details 320’ or the proposed operating details 420 as the preference data in the preference data store 215. For example, the modified scheduled start and end date / times 324’, and 326’ and the proposed start and end date / time 424 and 426 may be stored as the preference date / time data. The modified water temperatures 322’ and the proposed water temperatures 422 may be stored as the preference water temperature data. The generate proposed modification process 450 may then end.

[0294] Proposed modification notification message

[0295]

[0219] However, in response to determining at block 454 that the proposed modification does not satisfy a modification criteria, the generate proposed modification process 450 may then continue to block 456. Block 456 includes computer-executable instructions directing the controller 180, the control server 182, the user device 184 and / or the control panel 188 to generate and display (or otherwise transmit) a proposed modification notification message 418 to the user (e.g., via the user interface of the control panel 188 and / or the user interface of the user device 184). In some embodiments, even in response to determining at optional bock 454 that the proposed modification does satisfy a modification criteria, the generate proposed modification process 450 may also continue to block 456. In such embodiments, the generate proposed modification process 450 may generate the proposed modification notification message 418 for every proposed modification. Further, in some embodiments, block 454 is optional, and the generate proposed modification process 450 may proceed directly from block 452 to block 456. In such embodiments, the generate proposed modification process 450 may also generate the proposed modification notification message 418 for every proposed modification. 89003-284

[0296]

[0220] The proposed modification notification message may convey the operating details of the proposed modification (e.g., comprising either (i) addition of an additional bathing session scheduled bathing session or (ii) modification of an existing scheduled bathing session). The proposed modification notification message may also convey the existing preference data and / or the existing external data, and / or rationale data explaining why the existing preference data and / or the existing external data resulted in the proposed modification. As discussed above, in some embodiments, historical data from the historical data store 214 may also be used instead of the preference data from the preference data store 215, as the control system 118 may automatically determine preference data by processing the historical data in the historical data store 214.

[0297]

[0221] Different embodiments of the proposed modification notification message are shown in Figures 10A-10G at 418A-418G, all shown as being displayed on a display screen of the user device 184A.

[0298]

[0222] Referring back to the specific examples described above, the embodiment shown in Figure 10A comprises a proposed modification notification message 418A for a proposed modification 401A comprising addition of an additional bathing session at an upcoming Friday from 6 PM to 8PM in response to certain weather condition data. The proposed modification notification message 418A includes one or more of:

[0299] (a) the operating details 420 of the additional bathing session 402A. In the embodiment shown in Figure 10A, operating details 420A include a proposed water temperature 422A of 39°C, a proposed start date / time 424A of 6 PM on Friday, November 1 and a proposed end date / time 426A of 8 PM on Friday, November 1 .

[0300] (b) external data 428 upon which the proposed modification 401A is based. In the embodiment shown in Figure 10A, external data 428A includes (i) weather condition data indicating clear conditions for Friday from 6 PM to 8 PM and (ii) ambient temperature data indicating an ambient temperature above 15°C from 6 PM to 8 PM.

[0301] (c) preference data 430 upon which the proposed modification 401A is based. In the embodiment shown in Figure 10A, preference data 430A includes (i) preference ambient temperature data indicating a preference for ambient temperatures >15°C and (ii) preference date / time data indicating a preference for evenings. 89003-284

[0302] (d) the rationale data 432 indicating how the external data 428 and the preference data 430 results in the proposed modification 401 A comprising the addition of the additional bathing session 402A including the operating details 420A. In some embodiments, the rationale data 432 may specifically include at least a portion of the operating details 420, at least a portion of the external data 428 and / or at least a portion the preference data 430. For example, in the embodiment shown in Figure 10A, rationale data 432A includes a text description of “Next Friday evening will be warm and clear from 6 PM to 8 PM. [...] Would you like to schedule the above bathing session?”

[0303]

[0223] Referring back to the specific examples described above, the embodiment shown in Figure 10B comprises a proposed modification notification message 418B for a proposed modification 401 B comprising addition of an additional bathing session at an upcoming Saturday from 10 AM to 12 PM in response to certain user calendar data. The proposed modification notification message 418B includes one or more of:

[0304] (a) the operating details 420 of the additional bathing session 402B. In the embodiment shown in Figure 10B, operating details 420B include a proposed water temperature 422B of 37°C, a proposed start date / time 424B of 10 AM on Saturday, October 26, a proposed end date / time 426B of 12 PM on Saturday, October 26 and a proposed ambience setting 427 of “relaxation mode.”

[0305] (b) the external data 428 upon which the proposed modification 401 B is based. In the embodiment shown in Figure 10B, external data 428B includes (i) user calendar data indicating that a particular user is free before 1 PM on Saturday.

[0306] (c) the preference data 430 upon which the proposed modification 401 B is based. In the embodiment shown in Figure 10B, preference data 430B includes (i) preference date / time data indicating a preference for Saturday mornings and (ii) preference ambience data indicating a preference for relaxation on Saturday mornings.

[0307] (d) the rationale data 432 outlining how the external data 428 and the preference data 430 results in the proposed modification 401 B. In the embodiment shown in Figure 10B, rationale data 432B includes a text description of “You are free Saturday morning before 1 PM. [...] Would you like to schedule the above relaxation session?” 89003-284

[0308]

[0224] Referring back to the specific examples described above, the embodiment shown in Figure 10C comprises a proposed modification notification message 418C for a proposed modification 401 C comprising addition of an additional bathing session at an upcoming Sunday between 2 PM and 4 PM in response to certain energy cost data and preference energy cost data. The proposed modification notification message 418C includes one or more of:

[0309] (a) the operating details 420 of the additional bathing session 402C. In the embodiment shown in Figure 10C, operating details 420C include a proposed water temperature 422C of 37°C, a proposed start date / time 424C of 2 PM on Sunday, October 27 and a proposed end date / time 426C of 4 PM on Sunday, October 27.

[0310] (b) the external data 428 upon which the proposed modification 401C is based. In the embodiment shown in Figure 10C, external data 428C includes (i) energy cost data indicating very low cost on Sunday from 2 PM to 5 PM.

[0311] (c) the preference data 430 upon which the proposed modification 401C is based. In the embodiment shown in Figure 10C, preference data 4300 includes (i) preference energy cost data indicating cost sensitivity.

[0312] (d) the rationale data 432 outlining how the external data 428 and the preference data 430 results in the proposed modification 4010. In the embodiment shown in Figure 10C, rationale data 4320 includes a text description of “Energy costs are very low ($0.5 / kWh) on Sunday from 2 PM to 5 PM. [...] Would you like to schedule the above inexpensive bathing session?”

[0313]

[0225] The generate proposed modification process 450 may then continue to optional block 457 which may include codes directing the control system 118 to determine whether there has been any modification of the proposed operating details 420 of the additional bathing session 402, the external data 428 or the preference data 430, such as via the proposed modification notification messages 418A, 418B or 418C.

[0314]

[0226] In some embodiments, the proposed modification notification messages 418A, 418B and 418C may include fields, inputs, and selectors which can be used by a user to modify the proposed operating details 420 of the additional bathing session to generate modified proposed operating details 420’ (not shown). For example, the additional bathing session 402 may be selectable by the user (e.g., via the user interface of the user device 184 and / or the control 89003-284 panel 188) to display a modification panel to modify the proposed operating details 420 in a manner similar to that described in association with add scheduled bathing session panel 306 shown in Figure 6B. For example, the proposed water temperatures 422 may be modified to enter a new proposed water temperature 422’ (e.g., a lower temperature of 35°C). Similarly, the proposed start date / time 424 and the proposed end date / time 426 may be modified to enter a new proposed start date / time 424’ or a new proposed end date / time 426’.

[0315]

[0227] If the user has modified the proposed operating details 420 of an additional bathing session 402 at block 457, the generate proposed modification process 450 may then return back to block 454 and continue therefrom based on the modified proposed operating details 420’ as described above. For example, the generate proposed modification process 450 may correspondingly modify the relevant external data 428, the relevant preference data 430 and / or the generated rationale data 432. For example, in the embodiment shown in Figure 10A, a user may modify the proposed water temperature 422A’ into 40°C, the proposed start date / time 424A’ to 8 PM and the proposed end date / time 426A’ to 10PM. In response, block 456 may, for example, retrieve new external data 428A which is relevant for the modified proposed start and end date / time 424A’ and 426A’, perform a comparison between the retrieved new external data 428A and the preference data 430A, and may generate the modified rationale data 432A’ now including a warning (e.g., “Temperatures between 8 PM and 10 PM will be below 10°C. [...] Would you like to continue to schedule the above bathing session?”) or alternative text (e.g., “Friday evening will be slightly chilly but clear from 8 PM to 10 PM. [...] Would you like to schedule the above bathing session?”) based on the comparison.

[0316]

[0228] In other embodiments, the proposed modification notification messages 418A, 418B and 418C may include fields, inputs, and selectors which can be used by a user to modify the relevant external data 428 to generate modified external data 428’ (not shown) and / or the relevant preference data 430 to generate modified preference data 430’ (also not shown). For example, the external data 428 and the preference data 430 may both comprise fields which may be selected and modified to enter new preference data or new external data.

[0317]

[0229] If the user has modified the external data 428 or the preference data 430 at block 457, the generate proposed modification process 450 may also return back to block 454 and continue therefrom based on the modified external data 428’ or the modified preference data 430’ as described above. For example, in the embodiment shown in Figure 10B, a user may select the external data 428B indicating that a particular user is free before 1 PM on Saturday to add an 89003-284 appointment for 11 AM to generate modified external data 428B’. In response, block 456 may, for example: (i) perform a comparison of the modified external data 428B’ and the preference data 430B; (ii) generate modified operating details 420B’ based on the comparison (e.g., a modified proposed start date / time 424B’ of 10 AM and a modified proposed end date / time 424B’ of 10:30 AM), and (iii) use the modified operating details 420B’ to generate modified rationale data 432B’ including alternative text (e.g., “You are free Saturday morning before 11 AM. Would you like to schedule the above relaxation bathing session?”). Additionally or alternatively, block 456 may also cancel the proposed modification 401 B altogether based on the modified external data 428B’.

[0318]

[0230] In some embodiments, block 456 may be executed to transmit the proposed modification notification messages 418A, 418B, and 418C sufficiently in advance of the proposed start date / time 424 of the proposed modification 401 , e.g., by at least a notification period. In other words, the proposed modification notification messages 418A, 418B and 418C may be transmitted at least the notification period in advance of the proposed start date / time 424. This may enable the control system 118 to have sufficient time to add the proposed modification 401 comprising the additional bathing session 402 to the operating schedule 301. The notification period may be pre-set (e.g., 6 hours before, 10 hours before, 12 hours before, etc.), or it may be dynamically based on how much time the control system 118 needs to implement the additional bathing session 402 by the proposed start time date / time 424 (e.g., lower proposed water temperatures 422 may be associated with a shorter notification period; larger differences between a current water temperature and the proposed water temperature 422 may be associated with a longer notification period). Referring briefly back to Figure 6A, the additional bathing session 402 may then appear on the schedule bathing session interface 302 as one of the scheduled bathing sessions 342 of the operating schedule 301. The notification period may represent a period of time required for the control system 118 to control the bathing unit system 100 based on operating details 420 of the additional bathing session 402 (e.g., so that the proposed water temperature 422 can be reached by the proposed start time 424). In some embodiments, the notification period may also represent a period of time required for the control system 118 to control the bathing unit system 100 in a manner which is able take into account the preference data and / or the historical data as discussed above in association with the operate according to operating schedule process 400. For example, in embodiments where the preference data 430 includes the preference energy cost data, the notification period may allow the control system 118 to control the bathing unit components (e.g., the at least one temperature change component 110 in / or the at least one pump 106) in a manner which does not exceed the preference energy cost data. 89003-284

[0319]

[0231] However, in other embodiments, block 456 may not transmit the proposed modification notification messages 418A, 418B, and 418C sufficiently in advance of the proposed start date / time 424 of the proposed modification 401 , e.g., within the notification period. In such embodiments, the control system 118 will begin operating the bathing unit system 100 immediately upon receipt of an indication of acceptance or an indication of rejection of the proposed modification 401.

[0320] Proposed modification notification message for proposed modification comprising cancellation of existing scheduled bathing session

[0321]

[0232] Referring back additional proposed modification notification messages and to the specific examples described above, the embodiment shown in Figure 10D comprises a proposed modification notification message 418D for a proposed modification 401 D comprising a cancellation of the first scheduled bathing session 342A in response to certain weather conditions. The proposed modification notification message 418D includes one or more of:

[0322] (e) at least a portion of the operating details 320A of the first scheduled bathing session 342A. In the embodiment shown in Figure 10D, the operating details 320A include the scheduled water temperature 322A of 39°C, the scheduled start date / time 324A of Friday, October 25 at 7 PM and the scheduled end date / time 326A of Friday, October 25, at 9 PM.

[0323] (f) the external data 428 upon which the proposed modification 401 D is based. In the embodiment shown in Figure 10C, external data 428D includes (i) weather condition data indicating significant rain for Friday, October 25 from 7 PM to 9 PM and (ii) ambient temperature data indicating an ambient temperature below 5°C.

[0324] (g) the preference data 430 upon which the proposed modification 401 D is based. In the embodiment shown in Figure 10D, the preference data 430D includes (i) preference ambient temperature data indicating a preference for ambient temperatures above 15°C and (ii) preference weather conditions data indicating a preference for clear conditions.

[0325] (h) the rationale data 432 outlining how the external data 428 and the preference data 430 results in the proposed modification 401 D comprising the cancellation of the first scheduled bathing session 342A scheduled to occur at the scheduled start date / time 324A. In the embodiment shown in Figure 10D, rationale data 432D includes a text description of “There will be a significant amount of rain on Friday evening. [... ] Would you like to cancel the above scheduled bathing session?” 89003-284

[0326]

[0233] Referring back to the specific examples described above, the embodiment shown in Figure 10E comprises a proposed modification notification message 418E for a proposed modification 401 E comprising a cancellation of the first scheduled bathing session 342A in response to certain conflicting calendar events. The proposed modification notification message 418E includes one or more of:

[0327] (a) at least a portion of the operating details 320A of the first scheduled bathing session 342A. In the embodiment shown in Figure 10E, the operating details 320A include the scheduled water temperature 322A of 39°C, the scheduled start date / time 324A of Friday, October 25 at 7 PM and the scheduled end date / time 326A of Friday, October 25, at 9 PM.

[0328] (b) external data 428 upon which the proposed modification 401 D is based. In the embodiment shown in Figure 10E, the external data 428D includes (i) user calendar data indicating that a particular user has a dinner scheduled for Friday, October 25 from 6 PM to 8 PM.

[0329] (c) the rationale data 432 outlining how the external data 428E results in the proposed modification 401 E. In the embodiment shown in Figure 10E, the rationale data 432E includes a text description of “A dinner event is scheduled for the evening of October 25. Would you like to cancel or reschedule the above scheduled bathing session occurring at the same time?”

[0330]

[0234] Referring back to the specific examples described above, the embodiment shown in Figure 10F comprises a proposed modification notification message 418F for a proposed modification 401 F comprising a cancellation of the second scheduled bathing session 342B in response to certain conflicting positioning data. The proposed modification notification message 418F includes one or more of:

[0331] (a) at least a portion of the operating details 320B of the second scheduled bathing session 342B. In the embodiment shown in Figure 10F, the operating details 320B include the scheduled water temperature 322B of 39°C, the scheduled start date / time 324B of Sunday, October 27 at 4 PM and the scheduled end date / time 326B of Sunday, October 27 at 5 PM.

[0332] (b) the external data 428 upon which the proposed modification 401 F is based. In the embodiment shown in Figure 10F, external data 428F includes (i) location data indicating 89003-284 that a particular user is currently located in a city different from the field location 101 and no return transportation is scheduled before Sunday, October 27.

[0333] (c) the rationale data 432 outlining how the external data 428F results in the proposed modification 401 F. In the embodiment shown in Figure 10F, rationale data 432F includes a text description of “You seem to be travelling and will not be returning home before October 27. Would you like to cancel the above scheduled bathing session occurring on October 27?”

[0334]

[0235] As a final example, referring back to the specific examples described above, the embodiment shown in Figure 10G comprises a proposed modification notification message 418G for a proposed modification 401 G comprising a cancellation of the second scheduled bathing session 342B in response to energy costs exceeding a maximum set energy cost. The proposed modification notification message 418G includes one or more of:

[0335] (a) at least a portion of the operating details 320B of the second scheduled bathing session 342B. In the embodiment shown in Figure 10G, the operating details 320B include the scheduled water temperature 322B of 39°C, the scheduled start date / time 324B of Sunday, October 27 at 4 PM and the scheduled end date / time 326B of Sunday, October 27 at 5 PM.

[0336] (b) the external data 428 upon which the proposed modification 401G is based. In the embodiment shown in Figure 10G, external data 428G includes (i) energy cost data indicating a very high dynamic cost on Sunday, October 27 from 2 PM to 9 PM.

[0337] (c) the preference data 430 upon which the proposed modification 401 G is based. In the embodiment shown in Figure 10G, preference data 430G includes (i) preference energy cost data indicating cost sensitivity.

[0338] (d) the rationale data 432 outlining how the external data 428G and the preference data 430G results in the proposed modification 401G. In the embodiment shown in Figure 10G, rationale data 432G includes a text description of “There is surge energy pricing ($8 / kWh) on Sunday from 2 PM to 9 PM. The above scheduled bathing session will cost approximately $10. Would you like to cancel or keep the above scheduled bathing session?” 89003-284

[0339]

[0236] The generate proposed modification process 450 may then continue to block 457 as discussed above to determine whether there has been any modification of the operating details 320 of the existing scheduled bathing session 342, the external data 428 or the preference data 430, such as via the proposed modification notification messages 418D, 418E, 418F and 418G.

[0340]

[0237] In some embodiments, the proposed modification notification messages 418D, 418E, 418F and 418G may include fields, inputs, and selectors which can be used by a user to modify the operating details 320 of the existing scheduled bathing sessions 342 to generate the modified operating details 320’ (not shown). For example, the existing scheduled bathing session 342 may be selectable by the user (e.g., via the user interface of the user device 184 and / or the user interface of the control panel 188) to display a modification panel to modify the operating details 320 in a manner similar to that described in association with add scheduled bathing session panel 306 shown in Figure 6B. In this regard, the scheduled water temperatures 322 may be modified to enter a modified scheduled water temperature 322’ (e.g., a lower temperature of 35°C). Similarly, the scheduled start date / time 324 and the scheduled end date / time 326 may be modified to enter a modified scheduled start date / time 324’ or a modified scheduled end date / time 326’.

[0341]

[0238] If the user has modified the operating details 320 of the existing scheduled bathing session 342 at block 457, the generate proposed modification process 450 may then return back to block 454 and continue therefrom based on the modified operating details 320’. For example, the generate proposed modification process 450 may correspondingly retrieve different relevant external data 428, retrieve different relevant preference data 430 and / or generate different modified rationale data 432’ based on the modified operating details 321’. As a more specific example, in the embodiment shown in Figure 10D, a user may modify the scheduled water temperature 322A into 41 °C. In response, block 456 may generate the rationale data 432D’ including a warning (e.g., “Temperatures during the scheduled bathing session above will be below 5°C. Please confirm whether you would like to cancel the above scheduled bathing session?”). As another more specific example, in the embodiment shown in Figure 10G, a user may modify the operating details 320B’ to decrease the scheduled water temperature 322B to 30°C and modify the scheduled start date / time 324B’ to 4 PM and the scheduled end date / time 326B’ to 4:30 PM (e.g., decrease the duration). In response, block 456 may, for example: (i) retrieve new external data 428G which is relevant for the modified operating details 320B’ (e.g., the decreased total energy cost for operating the modified scheduled bathing session 342B’ with shorter duration and lower temperature), (ii) perform a comparison between the newly retrieved 89003-284 relevant external data 428G and the preference data 430G; and (ii) use the comparison to generate modified rationale data 432G’ including alternative text (e.g., “There is surge energy pricing ($8 / kWh) on Sunday from 2 PM to 9 PM. The above scheduled bathing session will cost approximately $2. Would you like to cancel or keep the above scheduled bathing session?”).

[0342]

[0239] In other embodiments, the proposed modification notification messages 418D, 418E, 418F and 418G may include fields, inputs, and selectors which can be used by a user to modify the relevant external data 428 to generate modified external data 428’ (not shown) and / or the relevant preference data 430 to generate modified preference data 430’ (also not shown). For example, the external data 428 and the preference data 430 may both comprise fields which may be selected and modified to enter new preference data or new external data.

[0343]

[0240] If the user has modified the external data 428 or the preference data 430 at block 457, the generate proposed modification process 450 may also return to block 454 and continue therefrom based on the modified external data 428’ or the modified preference data 430’ as described above. For example, in the embodiment shown in Figure 10E, a user may select the external data 428E indicating that a particular user has a dinner scheduled for Friday, October 25 from 6 PM to 8 PM, and to change the dinner event from 5:30 PM to 7:30PM to generate the modified external data 428E’. In response, block 456 may, for example: (i) perform a comparison of the modified external data 428E’ and the operating details 320B or the preference data 430E; and (ii) use the modified external data 428E’ to generate modified rationale data 432E’ including alternative text (e.g., “A dinner event is scheduled for the evening of October 25, 2024 from 5:30 PM to 7:30 PM. Would you like to reschedule the above bathing session to 8PM to 10PM?”). Additionally, or alternatively, block 456 may also cancel the proposed modification 401 E altogether based on the modified external data 428E’.

[0344]

[0241] In some embodiments, block 456 may be executed to transmit the proposed modification notification message 418D, 418E, 418F and 418G sufficiently in advance of the scheduled start date / time 324 of the scheduled bathing session 342, e.g., by at least the notification period. In other words, the proposed modification notification messages 418D, 418E, 418F and 418G may be transmitted at least the notification period in advance of the scheduled start date / time 324. This may enable the control system 118 to have sufficient time to cancel the scheduled bathing session 342 before initiating the scheduled bathing session or beginning to heat (or cool) the water 103 to reach the scheduled water temperature 322 by the scheduled start date / time 324. The notification period may be pre-set (e.g., 6 hours before, 10 hours before, 12 89003-284 hours before, etc.), or it may be dynamically based on how much time the control system 118 needs to properly cancel or modify the scheduled bathing session 342 by the scheduled start time date / time 324 (e.g., lower scheduled water temperatures 322 may be associated with a shorter notification period; larger differences between a current water temperature and the scheduled water temperature 322 may be associated with a longer notification period). Referring briefly back to Figure 6A, the scheduled bathing session 342 will be removed from the operating schedule 301 and may not appear on the schedule bathing session interface 302 as one of the scheduled bathing sessions 342.

[0345]

[0242] However, in other embodiments, block 456 may not transmit the proposed modification notification message 418D, 418E, 418F and 418G sufficiently in advance of the scheduled start date / time 324 of the scheduled bathing session 342, e.g., within the notification period. Generally, in such embodiments, the control system 118 will cease to activate the bathing unit components immediately upon receipt of an indication of acceptance or an indication of rejection of the proposed modifications 401 for modification of the existing scheduled bathing session 342.

[0346]

[0243] The generate proposed modification process 450 may then continue to block 458, which may include computer-executable instructions directing the controller 180, the control server 182, the user device 184 and / or the control panel 188 to determine whether the user has responded with the indication of acceptance or an indication of rejection of the proposed modification 401. For example, referring back to Figures 10A-10G, the proposed modification notification messages 418A-418G all include an accept button 431 corresponding to the indication of acceptance of the proposed modifications 401A-401G and a reject button 435 corresponding to the indication of rejection of the proposed modifications 401A-401G. Block 458 may involve receiving the indication from the user interface of the user device 184 or the control panel 188 based on whether the user has selected the accept button 431 or the reject button 435. As another example, if the user does not respond to the proposed modification notification message 41 SA- 418G, the control system 118 may automatically receive the indication of rejection of the proposed modifications 401A-401G or vice versa.

[0347]

[0244] In response to receiving the indication of acceptance at block 458, the generate proposed modification process 450 may then continue to block 460 as described above to modify the existing operating schedule 301 based on the proposed modification to generate the modified operating schedule 30T. The generate proposed modification process 450 may then end. The 89003-284 operate according to operating schedule process 400 may then control the bathing unit system 100 according to the modified operating schedule 301’. However, in response to receiving the indication of rejection at block 458, the generate proposed modification process 450 may then end without modifying the existing operating schedule 301. The operate according to operating schedule process 400 may then continue to control the bathing unit system 100 according to the operating schedule 301.

[0348] Conclusion

[0349]

[0245] Those skill in the art will appreciate that many variations to the embodiments described in the present document art possible and will become apparent from a reading of the present document concurrently with the figures.

[0350]

[0246] It will be understood by those of skill in the art that throughout the present specification, the term “a” used before a term encompasses embodiments containing one or more to what the term refers. It will also be understood by those of skill in the art that throughout the present specification, the term “comprising”, which is synonymous with “including,” “containing,” or “characterized by,” is inclusive or open-ended and does not exclude additional, un-recited elements or method steps. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. In the case of conflict, the present document, including definitions will control.

[0351]

[0247] As used in the present disclosure, the terms “around”, “about”, “substantially” or “approximately” shall generally mean within the error margin generally accepted in the art. Hence, numerical quantities given herein generally include such error margin such that the terms “around”, “about” “substantially” or “approximately” can be inferred if not expressly stated. For greater clarity, unless otherwise explicitly stated, the terms "around", "about", “substantially” and “approximately” means a proportion of at least about 60%, or at least about 70% or at least about 80%, or at least about 90%, at least about 95%, at least about 97% or at least about 99% or more, or any integer between 70% and 100%.

[0352]

[0248] Note that the expression “at least one of A or B”, as used herein, is interchangeable with the expression “A and / or B”. It refers to a list in which you may select A or B or both A and B. Similarly, “at least one of A, B, or C”, as used herein, is interchangeable with “A and / or B and / or C” or “A, B, and / or C”. It refers to a list in which you may select: A or B or C, or both A and B, or 89003-284 both A and C, or both B and C, or all of A, B and C. The same principle applies for longer lists having a same format.

[0353]

[0249] Although various embodiments of the invention have been described and illustrated, it will be apparent to those skilled in the art in light of the present description that numerous modifications and variations can be made. The scope of the invention is defined more particularly in the appended claims.

Claims

89003-284CLAIMS:

1. A method of modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the operating schedule including one or more existing scheduled bathing sessions, the method implemented by at least one processor and the method comprising: receiving contextual data comprising one or more of: external data from at least one external system, historical data of historical use of the bathing unit system, and preference data of preferred use of the bathing unit system; generating a proposed modification of the operating schedule at least in part by processing the contextual data, wherein the proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions; transmitting the proposed modification to at least one device to present the proposed modification to a user of the bathing unit system; and in response to receiving an indication of acceptance of the proposed modification from the at least one device, operating the bathing unit system according to a modified operating schedule including the proposed modification.

2. The method of claim 1 , further comprising: in response to receiving an indication of rejection of the proposed modification from the at least one device, operating the bathing unit system according to the operating schedule omitting the proposed modification.

3. The method of claim 1 , wherein the contextual data includes the external data from at least one external system, the external data comprising one or more of weather condition data, ambient temperature data, energy cost data, energy cost tier data, user calendar data, user location data, and news data.

4. The method of claim 1 , wherein the contextual data includes the external data from at least one external system, the external data comprising energy cost data, the at least one external system comprises an external system associated with an energy service provider on an energy grid, the at least one processor is in communication with the at least one89003-284 external system over a network, and the energy cost data is retrieved from the external system associated with the energy service provider over the network.

5. The method of claim 1 , wherein the contextual data includes the external data from at least one external system, the external data comprising energy cost data, wherein the energy cost data is stored in a storage memory in communication with the at least one processor.

6. The method of any one of claims 4-6, wherein the proposed modification comprises the modification of the existing scheduled bathing session, and wherein the method further comprises: deriving cost data associated with the existing scheduled bathing session at least in part by processing the energy cost data, and wherein generating the proposed modification comprising the modification of the existing scheduled bathing session is in response to the cost data associated with the existing scheduled bathing session satisfying one or more modification criteria.

7. The method of claim 1 , wherein the contextual data includes at least the external data and at least one of the historical data and the preference data, the external data includes ambient environment data, the proposed modification comprises the addition of the additional bathing session, and wherein the method further comprises: processing the ambient environment data, the at least one of the historical data and the preference data, and the operating schedule to identify at least one time slot satisfying one or more modification criteria, and wherein the additional bathing session has a proposed time corresponding to the at least one time slot.

8. The method of claim 1 , wherein the contextual data includes the historical data, the historical data comprising one or more of: historical bathing session date / time, historical bathing session duration, historical ambient environment data, historical weather condition data, historical ambient temperature data, historical operational settings data, historical water temperature data, historical ambience data, and historical energy cost data.

9. The method of claim 1 , wherein the contextual data includes the preference data, the preference data comprising one or more of: preferred bathing session time, preferred89003-284 bathing session duration, preferred ambient environment data, preferred weather conditions data, preferred ambient temperature data, preferred operational setting data, preferred water temperature data, preferred water temperature precision data, preferred ambience setting data, and preferred energy cost data.

10. The method of claim 1 , wherein the contextual data further comprises internal data associated with operation of the bathing unit system, and wherein the internal data comprise one or more of: thermal property indicator data, thermal energy input model data and power consumption models.

11. The method of claim 1 , wherein the proposed modification comprises the addition of the additional bathing session, wherein the additional bathing session has proposed operating details including a proposed water temperature and a proposed start time, and wherein transmitting the proposed modification to the at least one device comprises transmitting the proposed modification in advance of the proposed start time so that the proposed water temperature can be reached by the proposed start time.

12. The method of claim 1 , wherein the proposed modification comprises the modification of the existing scheduled bathing session, wherein the existing scheduled bathing session has scheduled operating details including a scheduled start time, and wherein transmitting the proposed modification to the at least one device comprises transmitting the proposed modification in advance of the scheduled start time so as to prevent initiation of the existing scheduled bathing session.

13. The method of claim 1 , wherein transmitting the proposed modification to the at least one device comprises transmitting the proposed modification in a proposed modification notification message, wherein the proposed modification notification message includes rationale data indicating how the proposed modification relates to the contextual data.

14. The method of claim 1 , wherein the modification of the existing scheduled bathing session comprises: a cancellation of the existing scheduled bathing session; or a modification of operating details of the existing scheduled bathing session.89003-28415. The method of claim 1 , wherein the at least one device comprises a top-side control panel of the bathing unit system.

16. The method of claim 1 , wherein the at least one device comprises a personal communication device associated with the user.

17. The method of claim 1 , wherein the at least one device is configured to display a user interface conveying the proposed modification, wherein the user interface is further configured to receive user input comprising the indication of acceptance of the proposed modification or an indication of rejection of the proposed modification.

18. The method of claim 1 , wherein the contextual data comprises the historical data of historical use of the bathing unit system, the historical data conveying a historical use of the bathing unit system by a specific user of the bathing unit system.

19. The method of claim 1 , wherein the contextual data comprises the historical data of historical use of the bathing unit system, the historical data conveying historical use of the bathing unit system by each of at least two specific users of the bathing unit system.

20. The method of claim 1 , wherein the contextual data comprises the preference data of preferred use of the bathing unit system, the preference data conveying a preferred use of the bathing unit system by a specific user of the bathing unit system.

21. The method of claim 1 , wherein the contextual data comprises the preference data of preferred use of the bathing unit system, the preference data conveying preferred use of the bathing unit system by each of at least two specific users of the bathing unit system.

22. A system for modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the operating schedule including one or more existing scheduled bathing sessions, the system comprising: at least one storage memory configured to store one or more of historical data of historical use of the bathing unit system and preference data of preferred use of the bathing unit system; and89003-284 at least one processor in communication with the at least one storage memory and configured to: retrieve contextual data comprising one or more of: external data from at least one external system, the historical data, and the preference data; generate a proposed modification of the operating schedule at least in part by processing the contextual data, wherein the proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions; transmit the proposed modification to at least one device to present the proposed modification to a user of the bathing unit system; and operate the bathing unit system according to a modified operating schedule including the proposed modification in response to receiving an indication of acceptance of the proposed modification from the at least one device.

23. The system of claim 22, wherein the external data comprises energy cost data, wherein the at least one external system comprises an external system associated with an energy service provider on an energy grid, wherein the at least one processor is in communication with the external system associated with the energy service provider over a network, and wherein the energy cost data is retrieved from the external system associated with the energy service provider.

24. The system of claim 22, wherein the external data comprises energy cost data, wherein the energy cost data is stored in the at least one storage memory.

25. The system of claim 23 or 24, wherein the proposed modification comprises the modification of the existing scheduled bathing session, and wherein: the at least one processor is further configured to derive cost data associated with the existing scheduled bathing session at least in part by processing the energy cost data, and the at least one processor is configured to generate the proposed modification comprising the modification of the existing scheduled bathing session in response to the cost data associated with the existing scheduled bathing session satisfying one or more modification criteria.89003-28426. The system of claim 22, wherein the contextual data includes at least the external data and at least one of the historical data and the preference data, the external data includes ambient environment data, the proposed modification comprises the addition of the additional bathing session, and wherein: the at least one processor is further configured to process the ambient environment data, the at least one of the historical data and the preference data, and the operating schedule to identify at least one time slot satisfying one or more modification criteria, and the at least one processor is configured to generate the proposed modification comprising the additional bathing session having a proposed bathing session time corresponding to the at least one time slot.

27. The system of claim 22, wherein the contextual data comprises the historical data, the historical data conveying historical use of the bathing unit system by each of at least two specific users of the bathing unit system.

28. The system of claim 22, wherein the contextual data comprises the preference data of preferred use of the bathing unit system, the preference data conveying preferred use of the bathing unit system by each of at least two specific users of the bathing unit system.

29. A computer-readable storage storing computer-executable instructions which, when executed by at least one processor, causes the at least one processor to: receive contextual data comprising one or more of: external data from at least one external system, historical data of historical use of a bathing unit system, and preference data of preferred use of the bathing unit system; generate a proposed modification of an operating schedule for operating one or more bathing unit components in the bathing unit system, the operating schedule including one or more existing scheduled bathing sessions, the proposed modification comprising: addition of an additional bathing session to the operating schedule; and / or cancellation of an existing scheduled bathing session of the one or more existing scheduled bathing sessions;89003-284 transmit the proposed modification to at least one device to present the proposed modification to a user of the bathing unit system; and operate the bathing unit system according to a modified operating schedule including the proposed modification in response to receiving an indication of acceptance of the proposed modification from the at least one device.

30. A method of modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the operating schedule including one or more existing scheduled bathing sessions, the method implemented by at least one processor and comprising: receiving contextual data comprising one or more of: external data from at least one external system, historical data of historical use of the bathing unit system, and preference data of preferred use of the bathing unit system; generating a proposed modification of the operating schedule at least in part by processing the contextual data, wherein the proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions; and operating the bathing unit system according to a modified operating schedule, wherein the modified operating schedule includes the proposed modification.

31. The method of claim 30, wherein the external data comprises energy cost data, wherein the at least one external system comprises an external system associated with an energy service provider on an energy grid, wherein the at least one processor is in communication with the external system associated with the energy service provider over a network, and wherein the energy cost data is retrieved from the external system associated with the energy service provider.

32. The method of claim 30, wherein the external data comprises energy cost data, wherein the energy cost data is stored in a storage memory in communication with the at least one processor.89003-28433. The method of claim 31 or 32, wherein the proposed modification comprises the modification of the existing scheduled bathing session, and wherein the method comprises: deriving cost data associated with the existing scheduled bathing session at least in part by processing the energy cost data, and wherein generating the proposed modification comprising the modification of the existing scheduled bathing session is in response to the cost data associated with the existing scheduled bathing session satisfying one or more modification criteria.

34. The method of claim 30, wherein the contextual data includes the external data, the external data comprising one or more of weather condition data, ambient temperature data, energy cost data, energy cost tier data, user calendar data, user location data, and news data.

35. The method of claim 30, wherein the contextual data includes at least the external data and at least one of the historical data and the preference data, the external data includes ambient environment data, the proposed modification comprises the addition of the additional bathing session, and wherein the method comprises: processing the ambient environment data, the at least one of the historical data and the preference data, and the operating schedule to identify at least one time slot satisfying one or more modification criteria, and wherein the additional bathing session has a proposed bathing session time corresponding to the at least one time slot.

36. The method of claim 30, wherein the historical data comprises one or more of: historical bathing session date / time, historical bathing session duration, historical ambient environment data, historical weather condition data, historical ambient temperature data, historical operational settings data, historical water temperature data, historical ambience data, and historical energy cost data.

37. The method of claim 30, wherein the preference data comprises one or more of: preferred bathing session time, preferred bathing session duration, preferred ambient environment data, preferred weather conditions data, preferred ambient temperature data, preferred89003-284 operational setting data, preferred water temperature data, preferred water temperature precision data, preferred ambience setting data, and preferred energy cost data.

38. The method of claim 30, wherein the contextual data further comprises internal data associated with operation of the bathing unit system, wherein the internal data comprise one or more of: thermal property indicator data, thermal energy input model data and power consumption models.

39. The method of claim 30, wherein the contextual data comprises the historical data, the historical data conveying historical use of the bathing unit system by each of at least two specific users of the bathing unit system.

40. The method of claim 30, wherein the contextual data comprises the preference data of preferred use of the bathing unit system, the preference data conveying preferred use of the bathing unit system by each of at least two specific users of the bathing unit system.

41. A method of modifying an operating schedule for operating one or more bathing unit components in a bathing unit system, the operating schedule including one or more existing scheduled bathing sessions, the method implemented by at least one device processor and comprising: receiving, from a control system associated with the bathing unit system, a proposed modification of the operating schedule generated at least in part based on contextual data, wherein the contextual data comprises one or more of external data from at least one external system, historical data of historical use of the bathing unit system, and preference data of preferred use of the bathing unit system, and wherein the proposed modification comprises: addition of an additional bathing session to the operating schedule; and / or modification of an existing scheduled bathing session of the one or more existing scheduled bathing sessions; displaying, via at least one user interface in communication with the at least one device processor, the proposed modification to a user of the bathing unit system; receiving, via the at least one user interface, an indication of acceptance of the proposed modification from the user; and89003-284 transmitting the indication of acceptance to the control system to instruct the control system to operate the bathing unit system according to a modified operating schedule including the proposed modification.

42. The method of claim 41 , wherein the proposed modification comprises the addition of the additional bathing session, wherein the additional bathing session has proposed operating details, and: wherein the method further comprises receiving, via the at least one user interface, a modification of the proposed operating details, and wherein transmitting the indication of acceptance to the control system comprises transmitting the modified proposed operating details to the control system to instruct the control system to operate the bathing unit system according to the modified proposed operating details.

43. The method of claim 41, wherein the proposed modification comprises the modification of the existing scheduled bathing session, wherein the existing scheduled bathing session has scheduled operating details, and: wherein the method further comprises receiving, via the at least one user interface, a modification of the scheduled operating details, and wherein transmitting the indication of acceptance to the control system comprises transmitting the modified scheduled operating details to the control system to instruct the control system to operate the bathing unit system according to the modified scheduled operating details.