Water Chemistry and Treatment Protocols FAQ
Straight answers on target ranges, why the chlorine target moves with cyanuric acid, what a Treatment Protocol does, and what actually has to be set up before the Dose Plan sizes chemicals.
Updated September 11, 2026
Both SettingsWater Chemistry and SettingsTreatment Protocols ship working. Water Chemistry arrives with industry-standard targets for every reading, and with no protocol at all a tapped symptom simply puts every product you have tagged for it on the plan. Treat both screens as tuning, not as setup you have to finish before your crews can work.
What does have to be set up is elsewhere, and this article starts there because it is the reason most first Dose Plans come back empty.
What actually has to be set up
Only the first two can stop a Dose Plan from sizing chemicals.
| # | What | Where | If it is missing |
|---|---|---|---|
| 1 | Pool volume on every site | The Pool Profile card on the site, under DirectoriesSites | The plan returns no amounts at all and reads "Pool volume is not set, so no chemical amounts can be calculated." |
| 2 | Chemicals carrying a dosing rule in Inventory | Inventory → the product → Application Rules → Dosing Rule | Each affected reading reads "No stocked product can raise free chlorine. Add one in Inventory to have it dosed automatically." |
| 3 | Target ranges — optional | SettingsWater Chemistry | Nothing breaks. OpsVara's defaults apply. |
| 4 | A Treatment Protocol — optional | SettingsTreatment Protocols | Nothing breaks. Every tagged product for a tapped symptom goes on the plan. |
A tech can fix the volume without calling the office
The Pool Profile card is embedded in the Water Test step of the pool visit wizard whenever volume is missing, so a tech who hits the blocker on site can enter the shape and dimensions, or the gallons, and carry on with the same visit.
The fastest way through step 2 is the Dosing Rules section at the bottom of SettingsWater Chemistry. It lists What the Dose Plan can dose, and Attach recommended dosing rules attaches our defaults to every product on your shelf whose name we recognise — liquid chlorine, cal-hypo, dichlor, trichlor, muriatic acid, soda ash, sodium bicarbonate, calcium chloride, cyanuric acid, pool salt and phosphate remover. Products that already carry a rule are never overwritten. See Dosing Rules and Application Rates for the full walkthrough.
Products live under Inventory, which is included on Crew and up. Target ranges and the water test itself are available on every plan, but without Inventory there are no products for the plan to size, so it can only tell you what is out of range.
Water Chemistry
What are the default targets?
These are what every account starts with. Each row on the screen takes a Min, an Ideal and a Max, and every one of them is yours to change.
| Reading | Min | Ideal | Max |
|---|---|---|---|
| Free Chlorine (FC), ppm | 1 | 2 | 3 |
| pH | 7.2 | 7.5 | 7.8 |
| Total Alkalinity (TA) — Liquid Chlorine / Tablets, ppm | 80 | 100 | 120 |
| Total Alkalinity (TA) — Salt Cell Pools, ppm | 60 | 70 | 80 |
| Cyanuric Acid (CYA) — Chlorine / Automated Pools, ppm | 30 | 40 | 50 |
| Cyanuric Acid (CYA) — Salt Pools, ppm | 60 | 70 | 80 |
| Calcium Hardness (CH) — Plaster Pools, ppm | 200 | 300 | 400 |
| Calcium Hardness (CH) — Vinyl / Fiberglass Pools, ppm | 175 | 225 | 275 |
| Salt, ppm | 2,700 | 3,050 | 3,400 |
| ORP, mV | 650 | 700 | 750 |
| Phosphates, ppb | 0 | 0 | 100 |
Three readings are recorded on a visit but have no range to set. Total Chlorine exists to work out combined chloramine against free chlorine. Water Temp feeds the saturation index and the seasonal chlorine calculation. TDS is recorded for reference.
Phosphates are reported in ppb, not ppm, and there is no benefit to any amount of it — phosphate is algae food and it drives chlorine demand — which is why the min and ideal are both 0.
Why is the recommended chlorine higher than the Free Chlorine range I set?
Because cyanuric acid protects chlorine from the sun but also binds it: the more stabilizer in the water, the higher the residual has to be to sanitize at the same rate. A flat 1–3 ppm band ignores that, which is how a salt pool held at the recommended CYA 70 ends up dosed chlorine on every visit and then flagged High for it.
So the working chlorine target is scaled to the stabilizer reading taken on the day:
| Pool | CYA measured | Chlorine target |
|---|---|---|
| Chlorine or tablet feed | 40 ppm | about 3.0–4.8 ppm, aiming at 3.6 |
| Salt cell | 70 ppm | about 3.5–7.0 ppm, aiming at 4.6 |
The Free Chlorine (FC) row is a floor and a ceiling on that calculation, not the target itself. Chlorine is never targeted below 1 ppm however little stabilizer is present, and never above 10 ppm, because past that the water is a shock rather than a residual.
If cyanuric acid was not tested
The chlorine target cannot be scaled, and the saturation index is computed as if stabilizer were 0, which reads less corrosive than reality. The plan says so. Testing CYA is what makes the chlorine recommendation right for the pool in front of the tech.
Do salt pools use different targets?
Yes, and you do not have to do anything to get it. A pool with a salt cell uses the Total Alkalinity (TA) — Salt Cell Pools row instead of the liquid-and-tablet row, because a cell pushes pH up continuously and a high alkalinity gives it more to push against. It also uses the Cyanuric Acid (CYA) — Salt Pools row, and holds a lower chlorine residual for its stabilizer level than a tablet pool does.
A pool counts as having a cell when any of these is true on its Pool Profile: the sanitizer system is Salt, a salt cell model is recorded, or one of its features mentions salt. That is deliberately wider than the sanitizer system alone, because an ORP-controlled pool on liquid feed is Automated with no cell, and some chlorine-system pools have one fitted.
ORP targets only apply to pools whose sanitizer system is Automated.
What about spas and commercial pools?
Both adjust themselves from the Pool Kind on the Pool Profile. A spa runs hotter and is bathed in far more heavily per gallon, so it holds a higher chlorine residual (3–5 ppm) and much less stabilizer (up to 30 ppm). Commercial water is held to the CDC Model Aquatic Health Code rather than to comfort, at 2–4 ppm chlorine. Sites that never filled in Pool Kind are unaffected.
Can I set different targets for one customer's pool?
Not from Settings — target ranges are company-wide, and the screen says so. What varies per pool is read off the Pool Profile automatically: Sanitizer System picks the alkalinity and stabilizer rows, Surface Type picks plaster versus vinyl and fiberglass calcium, and Pool Kind applies the spa and commercial adjustments above.
What do the Custom and Default badges mean?
Every row carries one. Default means the row is still OpsVara's recommended range. Custom means your company has recorded its own numbers for it, and your numbers take priority over the automatic adjustments described above.
Reset to Defaults, at the bottom left, clears your custom ranges in one go after a confirmation. There is no per-row reset, so if you want to keep some of your changes, note them before you reset.
What is "Account for the season when calculating doses" doing?
It sizes chlorine to still be in range when the tech next visits, rather than to the band at the moment of the test. Chlorine demand roughly doubles for every 18°F of warming, so the same weekly pool needs a great deal more chlorine in July than in October, and a dose that ignores that is under the minimum within a day or two in summer.
With it on, chlorine is sized from the water temperature recorded at the pool, the gap to the next visit, and the site's sun and bather load. Five numbers tune it:
| Field | What it is for |
|---|---|
| Default visit interval (days) | Used only when the pool has no next visit on the calendar and no contract interval to read. Default 7. |
| Maximum carry-over (days) | Never size one dose to cover more than this, however far off the next visit is. Default 14. |
| Baseline chlorine loss (ppm/day) | Loss at 80°F, full sun, adequately stabilized. Default 1.0. |
| Fill water calcium (ppm) | Your local tap water, used to work out how much to drain when calcium is too high. Default 100. |
| Winter threshold (°F) | Below this, calcium may be carried above its normal band to hold the saturation index. Default 60. |
This does not schedule anything
Default visit interval is a dosing input, not a service day. Service days and cadence live under SettingsWork Types, in the Scheduling block of each work type — and the Dose Plan reads them from there whenever they exist, which is more accurate than the default here.
Turn the setting off to dose to the target band exactly as read, with no allowance for the interval.
Why won't my change save?
Every row needs all three numbers, in order. Two messages appear under the row:
- All three values are required. — one of Min, Ideal or Max is empty.
- Must be Min ≤ Ideal ≤ Max, all numbers. — the three numbers are out of order, or one is not a number.
Save Water Chemistry Settings stays disabled until the whole screen is valid and something has actually changed.
Who can edit this?
Company admins and office managers. The tab only exists on pool accounts. Field techs never see it, but their app reads the same targets you set here, so the Low / OK / High badges a tech sees in the field are the ones the office chose.
You can also reach the same screen as the Water Chemistry step of SettingsSetup Wizard.
Treatment Protocols
Do I need one?
No. With no protocol, tapping a symptom on a visit puts every product you have tagged for that symptom on the plan. Add a protocol when you want to do one of four things: choose between tagged products, name a product that is not tagged, keep two products apart, or put something on every visit.
Does a protocol change my chemistry doses?
No, and this is the most common misunderstanding. Chlorine, pH, alkalinity, calcium, stabilizer, salt and phosphates are always dosed from the water test against the ranges above. A pool protocol shapes only the symptom lines — which algaecide the plan reaches for when a crew taps Green algae, and what must never go in alongside it.
What is the difference between Pick One and Use Together?
Pick One puts a single product on the plan: the first in your order that is available, preferring one that also covers another symptom the tech tapped, so one jug covers two problems. Use Together puts every listed product on the plan. Products listed under Backups are kept for the applicator's reference and are never recommended automatically.
Full detail, including combinations and Never Together pairs, is in Configure Treatment Protocols.
A symptom is missing from the rules list
The list only shows symptoms scoped to the work type you have selected. Scope it to this work type under SettingsSymptoms and it appears.
Verify it worked
Run one real visit and read the Dose Plan. That single check covers everything on this page.
- Amounts appear against the readings that were out of range. If they do, volume and dosing rules are both in place.
- On a salt pool at a stabilizer level of 60–80 ppm, the chlorine target reads higher than the Free Chlorine row you set, and alkalinity is judged against the 60–80 ppm salt-cell band.
- If you tapped a symptom, the plan line says where the product came from — a Treatment Protocol rule, always included by your protocol, or a tagged product.
- Open SettingsWater Chemistry again. Any row you changed reads Custom; the rest read Default.
Troubleshooting
Every message below appears on the Dose Plan itself, so a tech can act on it without calling the office.
| What the plan says | What to do |
|---|---|
| Pool volume is not set, so no chemical amounts can be calculated. | Set volume on the Pool Profile. The card is on the site, and also inside the Water Test step so a tech can do it on site. |
| No stocked product can raise free chlorine. | Nothing on your shelf carries a dosing rule for that reading. Use Attach recommended dosing rules in the Dosing Rules section, or add the product under Inventory. |
| Water temperature was not recorded. | Without it the saturation index cannot be calculated, so scaling and etching cannot be assessed. Ask crews to record it — it also drives the seasonal chlorine calculation. |
| Cyanuric acid was not tested. | The chlorine target cannot be scaled to the pool, and the index is computed as if stabilizer were 0. Add CYA to the test routine. |
| A reading can only be lowered by replacing water | Stabilizer, salt, calcium and TDS have no chemical that removes them. The plan works out the drain percentage and gallons for you. |
| A product is capped at a safe per-visit amount | The reading will not reach target today by design. The cap comes from the product's Per-visit cap under its dosing rule. Re-test next visit. |
| Combined chloramine is above the safe limit. | The plan converts to a full shock target. A partial dose re-forms chloramines instead of destroying them, so do not scale it down. |
| Two products move a reading in opposite directions | Dose the target reading first, re-test in 24 hours, then adjust the other. Where a band and the saturation index disagree, the index wins, because the water is actively etching or scaling. |
| Your Treatment Protocol names products for a symptom but none of them are active | A product the protocol names is inactive, or not associated with this work type. Update the protocol or reactivate the product. |
| The chlorine dose is capped and will fall below minimum before the next visit | Demand has outrun what the pool can safely hold. The message gives the day it drops out of range; the fix is a mid-week visit, a floater or tab feeder, more stabilizer, or more salt-cell output. |
Frequently asked questions
Do I have to set up Water Chemistry before my crews can use the Dose Plan?
No. Every target ships with an industry-standard default, so the Dose Plan works on day one. Change a row only if your company follows different targets. The two things that do have to be set are each pool's volume and at least one chemical in Inventory carrying a dosing rule.
Why is the recommended free chlorine higher than the Free Chlorine range I set?
Cyanuric acid binds chlorine, so the working chlorine target is scaled to each pool's stabilizer reading rather than being one flat band. A chlorine pool at CYA 40 targets about 3.0 to 4.8 ppm. The Free Chlorine row acts as a floor and a ceiling on that calculation, not as the target itself.
Do salt pools use different targets?
Yes, automatically. A pool with a salt cell uses the Total Alkalinity — Salt Cell Pools row and the Cyanuric Acid — Salt Pools row, and holds a lower chlorine residual because the cell generates continuously. You do not tag the pool as special; a salt sanitizer system, a salt cell model, or a salt feature on the Pool Profile is enough.
Can I set different targets for one customer's pool?
Not from Settings. Target ranges are company-wide. What does vary per pool is picked up from the Pool Profile automatically — sanitizer system, surface type and pool kind all select which rows apply.
Do I need a Treatment Protocol?
No. Without one, tapping a symptom on a visit puts every product you have tagged for that symptom on the plan. Add a protocol when you want to choose between tagged products, name a product that is not tagged, keep two products apart, or put something on every visit.
Does a Treatment Protocol change my chemistry doses?
No. Chlorine, pH, alkalinity, calcium, stabilizer, salt and phosphates are always dosed from the water test and your target ranges. A protocol only shapes the symptom lines, such as which algaecide the Dose Plan reaches for when a crew taps Green algae.
The Dose Plan came back with no chemical amounts. Why?
Read the message on the plan. "Pool volume is not set" means the Pool Profile needs a volume, and you can set it from the Water Test step on the spot. "No stocked product can raise free chlorine" means nothing on your shelf carries a dosing rule for that reading, which is fixed under Inventory.
What does "Account for the season when calculating doses" do?
It sizes chlorine to still be in range when the tech next visits, instead of dosing to the band at the moment of the test. Chlorine demand roughly doubles for every 18°F of warming, so the same pool needs considerably more in July than in October. It does not schedule anything.
Related guides
- Dosing Rules and Application RatesAttach the default dosing rule or application rate to the products we recognise, see what your shelf can dose, and fix the ones a stock unit is blocking.
- Configure Treatment ProtocolsTell the plan which product to reach for when a crew taps a symptom, which products go together or never together, and what goes on every visit, for pool, pond and lake, and lawn work types.
- Manage SymptomsWhat a symptom is, where it shows up on a visit, how treatment symptoms and equipment failures differ, and what archiving or deleting one actually touches.
- Complete a VisitClock in if required, open today's job, work Arrive through Complete, or skip the visit for today with a reason.