← 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
If the value is missing, the rule does not match and the scan falls through to the mandatory rule below — no 404, no 500. The exists condition says so out loud. Without it the scan would fall through just the same: a target URL that cannot be built without the value makes the rule inert — the same as with a missing file.

Live resolution

code.tisch = 12
code.id = 7fK2r9xgeo.country = CHlang.primary = de
  1. 1Menu with the table in the target
  2. alwaysOtherwise the website
https://adler.ch/tisch/12

Value on the child code

A long table with labels stuck along its edge at even spacing
The same code on every shot.Tables, hotel rooms, desks, batches, inventory numbers.

The ruleset

The exists condition says out loud what would otherwise happen silently.

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": { "code.tisch": { "exists": true } },
      "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.

← All use cases