Workflow

Contract Templates: Variables, Conditionals & Versioning

Full reference for the template engine — variables, conditionals, loops, attachments, signature blocks, and version control.

The template engine is mustache-style with light extensions. Templates live under Admin → Templates (org-wide) or on a single play.

Variables

Wrap any variable in double curly braces. Built-in:

  • {{producer_name}}, {{producer_abn}}, {{producer_address}}
  • {{play_title}}, {{play_author}}
  • {{performance_dates}}, {{venue}}, {{capacity}}
  • {{fee_total}}, {{fee_per_performance}}, {{royalty_rate}}
  • {{license_code}}, {{territory}}, {{performance_type}}

Conditionals

{{#if professional}}
  This Agreement requires a minimum guarantee of {{min_guarantee}} per week.
{{else}}
  This Agreement is an amateur licence at a flat fee of {{fee_per_performance}} per performance.
{{/if}}

Loops

{{#each performances}}
- {{date}} @ {{venue}} (capacity {{capacity}})
{{/each}}

Snapshotting

When the contract is generated, every variable resolves to a literal value and is stored alongside the contract. Future edits to the template do not affect signed contracts.

Versioning

Templates carry a semantic version (1.0.0, 1.1.0, 2.0.0). Bump the major when the legal substance changes — old contracts keep their old version forever.