Jakomäki swimming hall in Helsinki has a sauna. What time can you use it on a Monday afternoon?
It depends which language you read the city's own page in.
- The Finnish page (read 17 October 2026) says: women by reservation, 14:00–17:30.
- The English page for the same unit, same day, says: club reservation, 14:00–19:30.
Same building, same city service map, same unit number. Two answers, two hours apart, and they are not even about the same group of people.
The easy fix is the wrong one
When two sources disagree, most datasets pick one. Usually the one in the "main" language, or the newest, or whichever the scraper hit last. The record looks clean, and a visitor who only reads English turns up at 18:00 for a session that, in Finnish, ended half an hour earlier.
The SaunaHash Helsinki sauna atlas does not pick. It writes the disagreement down as data.
What a conflict looks like in the file
The record for Jakomäki now carries a conflicts entry next to its normal opening hours:
{
"field": "hours",
"weekdays": ["mon"],
"since": "2026-10-17",
"sources": [
{ "url": "https://palvelukartta.hel.fi/fi/unit/40838",
"value": "women by reservation 14:00-17:30", "lang": "fi", "as_of": "2026-10-17" },
{ "url": "https://palvelukartta.hel.fi/en/unit/40838",
"value": "club reservation 14:00-19:30", "lang": "en", "as_of": "2026-10-17" }
]
}
Three rules come with it:
- A conflict needs at least two sources, each with its own link, its exact wording and the day it was read. One source can't disagree with itself.
- The page shows both readings verbatim: "Monday hours: sources disagree — see both", with a link to each.
- "Open now" on that day becomes unknown, not a guess. The open-now filter leaves the place out rather than send someone to a locked door.
Look for yourself
The whole atlas is an open file (104 places in Helsinki, Espoo, Vantaa and around, 85 verified at their own source):
import json, urllib.request
url = "https://saunahash.com/atlas/helsinki.json"
atlas = json.load(urllib.request.urlopen(url))
for r in atlas["records"]:
for c in r.get("conflicts", []):
print(r["name"], c["field"], c["weekdays"])
for s in c["sources"]:
print(" ", s["lang"], s["value"], s["url"])
Today it prints one place. We expect more: in a city where most official pages exist in Finnish, Swedish and English, the translations drift.
- The sauna on the atlas: saunahash.com/helsinki-saunas
- The open data (JSON + CSV): saunahash.com/open-data
Been to Jakomäki on a Monday? Every place on the atlas has a "Correct or confirm" link. A dated answer from someone who was there settles it.
Top comments (0)