← All use cases
code.tisch
Forty stickers, one ruleset
Two hundred tables, one behaviour. Each sticker carries only the number. The same menu for all of them, but the table number lands in the ordering URL. A dish changes once, not two hundred times.
- Where it hangs
- Tables, hotel rooms, desks, batches, inventory numbers.
- Why the paper stays
- Maintaining forty separate static codes, every time a dish changes.
- If the value is missing
- The rule goes
inertand the scan falls through — the same as with a missing file. No 404, no 500. That is why a second mandatory rule without a placeholder sits underneath it.
Live resolution
code.tisch = 12code.id = 7fK2r9xgeo.country = CHlang.primary = de
- alwaysMenu with the table in the target
- alwaysOtherwise the website
https://adler.ch/tisch/12
Value on the child code

The ruleset
Two always in a row are deliberate here.
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": "always",
"then": { "type": "redirect", "url": "https://adler.ch/tisch/{code.tisch}" }
},
{
"when": "always",
"then": { "type": "redirect", "url": "https://adler.ch" }
}
]
}Exactly two levels: a child code evaluates its parent's rule list and carries only its own values. It has no ruleset of its own — the project shares data, not rules.
Also
Same grip, different value.
- {code.batch}
- The batch in the support link. One label per lot, one ruleset for all.
- {code.room}
- The room number in the service URL. The sticker on the nightstand stays.
- {code.asset}
- The inventory number into the ticket system. Whoever reports it types nothing.
