Communications

Message templates editor (V28)

← Back to Communications

The V28 Message Templates editor lets operators edit guest-facing message bodies without bouncing to the legacy /operations/messageTemplates or /admin/properties pages.

Open from V28 → Operations → Message Templates.

What's a message template

A WhatsApp template body the platform reuses across reservations — checkin_instructions, late_arrival_welcome, parking_directions, thank_you_message, etc. Each carries {{placeholders}} (see Task Templates → Placeholders) and a per-language body.

Editing surface

For each template:

  • Slug — the stable identifier (e.g. checkin_instructions).
  • Per-language body — English / Slovak / Czech / Hungarian / German / etc., side-by-side textareas.
  • Placeholder validator — flags unknown paths inline.
  • Preview — pick a sample reservation; the editor shows the rendered body in each language.

Save → live on the next outbound send using that template slug.

Per-property override

For property-specific differences (a specific door code format, a different WiFi hint), per-property overrides live alongside the global template. The editor shows the global body and lets you author an override per property.

When the template is rendered for a reservation, the override (if any for that property) wins; otherwise the global body is used.

Approval (Meta templates)

For templates that ship as Meta-approved WhatsApp templates (the ones with {{1}} placeholders that Meta gates), the editor surface only edits the per-language body for in-app rendering — the Meta-approved template itself is a separate artifact maintained in Meta's Business Manager.

For free-text templates (the ones the platform sends inside the 24h window), the V28 editor IS the source of truth.

Versioning + audit

Every save is audit-logged (user-owned config per gh#321):

  • Old → new diff per language
  • Actor
  • Timestamp

Visible in Admin → Audit Log → Message Templates. Reverting to a prior version is a one-click affordance on the audit log row.

Why this exists

Before gh#313, operators editing a guest-facing message body had to bounce to legacy /operations/messageTemplates (for the global body) or /admin/properties (for per-property overrides) — two surfaces in different styles, no V28 chrome, easy to lose track of which one took precedence. The V28 editor unifies both.


Implements: gh#313 (V28 Message Templates editor). Related: Task Templates → Placeholders, AI Cockpit → Prompts.

Source: the FlatsBratislava operator manual.