← Changelog
v2.5Feature08 April 2026

Deep multi-tenant · templates, rules, and self-service branding

Every tenant edits its own email templates, configures its send rules, defines its branding, manages users with granular roles, and maps its extras. Nothing hardcoded.

Major changes

  • Per-tenant editable templates: 9 default ES templates + per-tenant override at /dashboard/settings/email-templates. Available variables inline-documented.
  • Send rules: each tenant defines which template fires on which trigger, to which recipients, under which conditions. Stored in EmailRule, executed by EmailService.
  • Self-service branding: logo, primary colour, fiscal name, domain. Applied in mini-app, emails, and tenant back-office.
  • Granular roles: OWNER / ADMIN / MANAGER / STAFF / READONLY (client) + SUPERADMIN / OPS / SUPPORT / READONLY (platform). Coherent permissions in src/lib/auth/permissions.ts.
  • User invitations: the OWNER invites by email; recipient sets password on first login. Token TTL 7 days.
  • Editable UpsellProduct catalog: each hotel maps its extras (buggy, transfer, lessons, clubs, locker) with i18n name + price + cost + margin.