← All use cases
time.of_day
The same card, a different target at noon
A sticker on the table, the same one for twelve months. Weekdays 11–14 the lunch menu, from 17 the dinner menu, otherwise the website. The hour is the restaurant's. A poster in Zurich set to UTC evaluates “from 5pm” two hours off.
- Where it hangs
- Table card, bar sign, door.
- Why the paper stays
- The menu changes several times a day. Reprinting would mean every shift.
Live resolution
time.of_day = 12:00time.tz = Europe/Zurichgeo.country = CHdevice.os = ioslang.primary = de
- 1Lunch, 11–14
- 2Evening, from 17:00
- alwaysOtherwise
https://adler.ch/lunch

The ruleset
Valid, storable, mandatory rule last.
Not a description of what the engine could do — this is the text a code carries. The first matching rule wins, and the last one always matches.
ruleset · version 1
{
"rules": [
{
"when": { "time.of_day": { "between": ["11:00", "14:00"] } },
"then": { "type": "redirect", "url": "https://adler.ch/lunch" }
},
{
"when": { "time.of_day": { "gt": "17:00" } },
"then": { "type": "redirect", "url": "https://adler.ch/dinner" }
},
{
"when": "always",
"then": { "type": "redirect", "url": "https://adler.ch" }
}
]
}The timezone sits on the code, not on the server: time.tz comes from the workspace when the code is created and stays with it afterwards — the code is glued to a wall and does not move.
Also
Same axis, different situation.
- Happy hour
- 16–18 the promo list, otherwise the regular one. An hour is a rule, not a second code.
- Pharmacy
- After 19:00 to the emergency service. The door stays the same door.
- Notice case
- The PDF is replaced on Mondays, not the case.