Tous les cas d'usage

time.of_day

La même carte, une autre destination à midi

Un autocollant sur la table, le même toute l'année. En semaine 11h–14h la carte du midi, dès 17h la carte du soir, sinon le site. L'heure est celle de l'établissement. Une affiche à Zurich réglée sur UTC évalue « dès 17h » avec deux heures d'écart.

Où c'est accroché
Chevalet de table, présentoir de comptoir, porte.
Pourquoi le papier reste
La carte change plusieurs fois par jour. Réimprimer serait à chaque service.

Résolution en direct

time.of_day = 12:00
time.tz = Europe/Zurichgeo.country = CHdevice.os = ioslang.primary = de
  1. 1Midi, 11h–14h
  2. 2Soir, dès 17h00
  3. alwaysSinon
https://adler.ch/lunch
Un chevalet posé sur une table de café, portant le code
Le même code sur chaque visuel.Chevalet de table, présentoir de comptoir, porte.

Le jeu de règles

Valide, enregistrable, règle obligatoire à la fin.

Pas une description de ce que le moteur saurait faire — c'est le texte que porte un code. La première règle qui correspond gagne, et la dernière correspond toujours.

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" }
    }
  ]
}

Le fuseau est attaché au code, pas au serveur : time.tz vient de l'espace de travail à la création et reste ensuite sur le code — celui-ci est collé à un mur et ne déménage pas.

Aussi

Même axe, autre situation.

Happy hour
16h–18h la carte promo, sinon la normale. Une heure est une règle, pas un deuxième code.
Pharmacie
Après 19h vers le service de garde. La porte reste la même porte.
Vitrine d'affichage
Le PDF est remplacé le lundi, pas la vitrine.

Tous les cas d'usage

C'est la réimpression qui coûte. Arrêtez.