Shortcodes (dynamic placeholders)

The placeholders that get replaced automatically in your messages: guest name, dates, property, access codes and many more.

A shortcode inserts a value from the guest, booking or property into a message. Copy its exact key from Automations → Shortcodes; dots, capital letters and braces are part of the key.

Insert and check a variable

Use the shortcode picker in the composer or a message template. Before sending, open the eye-icon preview for the correct booking. Check the text and resolved values, especially access codes.

Valid system examples:

  • {{guest.name}} — guest's first name.
  • {{booking.arrival_date}} — arrival date.
  • {{booking.departure_date}} — departure date.
  • {{property.title}} — property title.
  • {{lock_codes.UNIT}} — access codes associated with the unit; availability depends on the locks and stay.

The Shortcodes page provides the full system catalogue, categories and descriptions. System shortcodes cannot be deleted.

Create a custom shortcode

Click Create shortcode, enter its name, description and type, then its translated content. The name determines the key to copy into messages, for example {{bike_storage}}.

There are two types:

  • Generic: shared account content, with translations.
  • Property-specific: enter content for each relevant property from its Shortcodes page. This type does not fall back to generic account content when a property has no value.

For the selected content, ZenHost looks for the guest's language, then English, then the first available language. This language fallback does not replace missing property content.

Missing values and errors

An unknown key or missing value is normally replaced with empty text. A loading or syntax error can leave the original text, so previewing remains necessary. After changing or deleting a custom shortcode, check the templates that use it.

To reuse images instead of text, use photo sets, which have different default-content rules.