Template Editor (Beta Version)
A Step-by-Step Guide to Customizing Email and PDF Documents Using Templates.
Navigating the Template Editor Layout
The Template Editor in FL3XX is designed to help you customize your templates for emails and documents used in operations. This guide provides an overview of the Template Editor’s interface, demonstrating how to manage, preview, and save changes efficiently.
Accessing the Template Editor
To access the Template Editor:
- Go to Settings.
- Select "Template Editor" under the General section.
- The Template Editor will open in the same tab, with the first template in the left-hand (LH) menu selected by default.
Navigating the Template Editor Layout
The Template Editor has four main sections for managing your templates:
- Preview Section: Shows the final version of your email or document.
- Template Editor Section: Allows editing of the template's HTML code.
- Variables Section: Lists the variables that can be used in the template for customization.
- Versions Section: Displays previous versions of the template for restoration.
The default layout is a vertical split, with the Preview on top, the Template Editor below, and Variables on the right.
- Adjust the view (horizontal or vertical) by clicking the toggle next to "Edit Templates".
- Collapse each section by using the arrows icon next to each section title.
- Expand each section by clicking the icon on the right side of your screen.
- Adjust the section sizes by dragging the grey bar between them.
- Restore a previous version by clicking one of the versions below the document title in the left-hand menu.
Expanded view of all sections.
Collapsed view of the template editor and variables.
Tip: The Template Editor will remember your preferred layout after your first use.
Editing Templates
- Select a Template: Use the LH menu to select the template you wish to modify.
- Edit Content: Use the Template Editor to change the code or text as needed.
- Save Changes: Click the Save button (☁️) to apply changes. A confirmation popup will appear to avoid accidental overwrites.
Note: Leaving the page without saving will result in the loss of any unsaved changes.
Selecting a leg to use for the preview.
Code navigator used to find and replace key words. To access, click anywhere in the "Template Editor" section, then press "cmd" + "f" for mac, or "Windows key" + "f" for pc.
Previewing Template Changes
- Default Preview: By default, you will see a preview of an empty template.
- Booking Selector: Use the Booking Selector Dropdown List (DDL) to pick a booking, allowing you to see the template with specific booking details.
Pax Manifest template selected with all sections expanded.
Undo and Delete Actions
- Undo Changes: Use the Undo button (↩️) to revert all unsaved changes in a template.
- Restore to Default: Click the Delete button (🗑️) to restore a template to its default settings provided by FL3XX.
Warning: Restoring a template to its default state will delete any customizations made.
Action buttons.
Uploading Logos
To add a logo to your emails or documents:
- Navigate to the Logo section. Here you will see the current logo being used.
- Upload the file, which will be included in your templates.
Note: Changing this logo inside the template editor will apply the change for all email templates. This logo will appear wherever logo://email
is used in your templates.
Logo editing.
Assigning Access Rights
The following access rights can edit templates:
- Administrator
- All administrators can use the template editor.
- External Template Development
- This access right has only access to the template editor, so you can hand it out to a third party developer working on your templates.
Templates Purposes
In general, the type of document is indicated by its name:
-
"Document" typically refers to a generated PDF, usually attached to an email.
-
"Document ... Filename" defines the file name template for the related document.
-
"Email Body" refers to the text generated for the body of the email.
-
"Email Subject" refers to the subject line of the email.
Template name |
Where to find in the app |
|
|
Document Client Briefing |
Sales page / Manifest Note: The Client Briefing document is available instead of the Manifest when the setting "Send Client Briefing instead of Manifest" is enabled. |
|
|
Document Crew Briefing |
Dispatch page / Crew panel / Briefing / Send |
|
|
Document Dispatch Status |
Dispatch page / Recap / All Flight Documents / Send Customer Update |
|
|
Document Gar |
Dispatch page / Handler / Send Note: Available only for flights operating between airports eligible for GAR. |
|
|
Document Gen Dec |
Dispatch page / Handler / Send Dispatch page / Customs / Send |
|
|
Document Master Ticket |
Dispatch page / Recap / All Flight Documents / Master Ticket |
|
|
Document Passenger Flight Briefing |
Sales page / Manifest Note: Available only when the "Show Passenger Flight Briefing for Manifests" setting is enabled. |
|
|
Document Pax Manifest |
Dispatch page / Handler / Send Dispatch page / Customs / Send |
|
|
Document Sales Confirmation |
Sales page / Confirm |
|
|
Document Sales Confirmation Filename |
Sales page / Confirm (defines file name) |
|
|
Document Sales Contract |
Sales page / Sign |
|
|
Document Sales Contract Filename |
Sales page / Sign (defines file name) |
|
|
Document Sales Invoice |
Sales page / Invoice |
|
|
Document Sales Invoice Filename |
Sales page / Invoice (defines file name) |
|
|
Document Sales Manifest |
Sales page / Manifest |
|
|
Document Sales Manifest Filename |
Sales page / Manifest (defines file name) |
|
|
Document Sales Multi Quote |
Sales page / Multi Quote |
|
|
Document Sales Multi Quote Filename |
Sales page / Multi Quote (defines file name) |
|
|
Document Sales Owner |
Sales page / Owner |
|
|
Document Sales Owner Filename |
Sales page / Owner (defines file name) |
|
|
Document Sales Quote |
Sales page / Quote |
|
|
Document Sales Quote Filename |
Sales page / Quote (defines file name) |
|
|
Email Block Footer |
This template is added in the end of all Sales email text Note: This document is not visible in the preview but is attached to any Sales email sent to the recipient. |
|
|
Email Block Header |
This template is added at the start of all Sales email text Note: This document does not appear in the preview but is automatically attached to all Sales emails sent to the recipient. |
|
|
Email Body Acceptance Ack |
Sales page / Accept |
|
|
Email Body Broker Subcharter Cancel |
Sales page / Cancel Note: for Broker Subcharter workflow |
|
|
Email Body Broker Subcharter Quote |
Sales page / Quote Note: for Broker Subcharter workflow |
|
|
Email Body Cancellation |
Sales page / Cancel |
|
|
Email Body Confirmation |
Sales page / Confirm |
|
|
Email Body Contract |
Sales page / Sign |
|
|
Email Body Crew Briefing |
Dispatch page / Crew panel / Briefing / Send |
|
|
Email Body Decline |
Sales page / Decline |
|
|
Email Body Drop |
Sales page / Drop |
|
|
Email Body Generic |
All Sales emails that do not have a specific template for the email body. |
|
|
Email Body Invoice |
Sales page / Invoice |
|
|
Email Body Multi Quote |
Sales page / Multi Quote |
|
|
Email Body Option |
Sales page / Accept Note: With "Option" selection |
|
|
Email Body Ownerappr |
Sales page / Owner |
|
|
Email Body Owner No Approval |
Sales page / Owner Note: Applies only when already approved by the Owner. |
|
|
Email Body Subcharter Accept |
Sales page / Accept Note: For Subcharter workflow. |
|
|
Email Body Subcharter Confirm |
Sales page / Confirm Note: For Subcharter workflow. |
|
|
Email Body Subcharter Decline |
Sales page / Decline Note: For Subcharter workflow. |
|
|
Email Body Subcharter Multi Quote |
Sales page / Multi Quote Note: For Subcharter workflow. |
|
|
Email Body Subcharter Quote |
Sales page / Quote Note: For Subcharter workflow. |
|
|
Email Flt Block Footer |
This template is added in the end of all Dispatch email text Note: This document is not visible in the preview but is automatically attached to any Dispatch email sent to the recipient. |
|
|
Email Flt Block Header |
This template is added at the start of all Dispatch email text Note: This document does not appear in the preview but is automatically attached to all Dispatch emails sent to the recipient. |
|
|
Email Flt Body Dispatch Status |
Dispatch page / Recap / All Flight Documents / Send Customer Update |
|
|
Email Flt Body Flight Schedule |
Dispatch page / Recap / All Flight Documents / Send Flight Schedule |
|
|
Email Flt Body Fuel Release Request |
Dispatch page / Fuel / Release / Send |
|
|
Email Flt Body Gen Dec |
Dispatch page / Handler / Send Dispatch page / Customs / Send |
|
|
Email Flt Body Ground Service Request |
Dispatch page / Transport / Send Dispatch page / Hotel / Send Dispatch page / Catering / Send |
|
|
Email Flt Body Permit Request |
Dispatch page / Permits / Send |
|
|
Email Flt Body Service Request |
Dispatch page / Handling / Send |
|
|
Email Manifest |
Sales page / Manifest |
|
|
Email Subject |
All emails that do not have a specific template for the subject line. |
|
|
Email Subject Dispatch Status |
Dispatch page / Recap / All Flight Documents / Send Customer Update |
|
|
Email Subject Slot Request |
Dispatch page / Slot / Send |
|
|
Techie Language
Our templates use familiar tools: HTML and CSS. For logic (think: if-else or loops), we rely on Apache Velocity Template Language (VTL)—making customization easy and dynamic.
Want to dive deeper? Here’s your cheat sheet:
HTML Basics
-
Adding a line break: add
<br/>
at the end of a line. -
Creating a new paragraph: enclose text in
<p>your text</p>
to start a new paragraph. -
Bold text: wrap text in
<b>your text</b>
to display it in bold. -
Italic text: wrap text in
<i>your text</i>
for italic styling. -
Underlining text: wrap text in
<u>your text</u>
to underline text. -
Adding a hyperlink: use
<a href="https://example.com">Click here</a>
to insert a clickable link. - Adding a hyperlink opened in new tab: use
<a href="https://example.com" target="_blank">Click here</a>
-
Creating an unordered list: wrap list items in
<ul></ul>
, with each item inside<li>your item #1</li>
. -
Creating an ordered list: wrap list items in
<ol></ol>
, with each item inside<li>your item #1</li>
. -
Adding a horizontal rule: insert
<hr/>
to create a horizontal divider.
Date and time formatting
All Unix timestamps can be displayed to users using $!DateFormatUtils.format
or $!DateFormatUtils.formatUTC
. For example:
$!DateFormatUtils.formatUTC($flightTime, $dateDayTimeZFormat)
or
$!DateFormatUtils.format($flightTime, $dateDayTimeFormat, $airport.parsedTimeZone)
-
The first parameter is the Unix timestamp.
-
The second parameter is the desired date format.
-
The third parameter (where applicable) specifies the time zone.
Date formats are configured based on the "US Date Format" setting. Below are all the predefined formats available to you:
Format Variable |
US Format Example |
Non-US Format Example |
$shortDateFormat |
04/14/2025 |
14.04.2025 |
$dateFormat |
Apr 14 2025 |
14 Apr 2025 |
$dateDayFormat |
Mon Apr 14 2025 |
Mon 14 Apr 2025 |
$timeFormat |
15:30 |
15:30 |
$preciseTimeFormat |
15:30:45 |
15:30:45 |
$dateTimeFormat |
Apr 14 2025 15:30 |
14 Apr 2025 15:30 |
$dateTimeZFormat |
Apr 14 2025 15:30'Z' |
14 Apr 2025 15:30'Z' |
$dateDayTimeFormat |
Mon Apr 14 2025 15:30 |
Mon 14 Apr 2025 15:30 |
$dateDayTimeZFormat |
Mon Apr 14 2025 15:30'Z' |
Mon 14 Apr 2025 15:30'Z' |
You can also define your own format string using tokens described in the Java date formatting documentation.
DocuSign
To use DocuSign in your templates, you must first set up integration.
In templates, you can verify whether DocuSign is active by checking the $electronicSignature
variable. For example, you can place your DocuSign-specific code inside a condition:
#if($electronicSignature)<input type="text" name="DocuSignSignHere">#end
There is also the $electronicSignatureUrl
variable, which contains the generated URL to direct the user to the DocuSign website for signing. Use it to display an "eSign" button in email body. Here you can see one code example from FL3XX templates:
#if($StringUtils.isNotEmpty($electronicSignatureUrl))
<p class="template-button__section" style="padding: 20px 0; border-top: 1px solid #EEE; border-bottom: 1px solid #EEE;">
<a href="$!electronicSignatureUrl" class="template-button__section-primary"
style="display: inline-block; color:#ffffff; background: #f15a2b; font-size: 14px; border-radius: 4px;
box-shadow: none; cursor: pointer; outline: 0; padding: 10px 30px; text-decoration: none;">eSign</a>
</p>
#end
There are two ways to create dynamic inputs for DocuSign document:
- Using FL3XX anchor strings.
- Using generic HTML form inputs with specific names to be recognized by DocuSign.
The first option allows you to prefill inputs with related data (e.g., customer name). However, it has limited options for field types.
The latter allows you to add any input types supported by DocuSign.
Both approaches can be used in the same document.
DocuSign inputs using FL3XX anchor strings.
You can insert specific strings into PDF documents that are compatible with DocuSign. These strings will be replaced with prefilled data on the DocuSign side when available, streamlining the signing process.
Here is a list of available string anchors:
/fn1/ |
Full name |
/po2/ |
Position |
/co3/ |
Company name |
/lc4/ |
Location |
/dt5/ |
Date |
/sn6/ |
Signature (Sign here) |
A simple example from the default FL3XX sales contract document:
<div class="inputs">
<div>Name, Position#if($electronicSignature)
<div class="inputs--with-signature"><div class="signature-name">/fn1/</div><div class="signature-position">/po2/</div></div>
#end
</div>
<div>Company#if($electronicSignature)<div class="inputs--with-signature">/co3/</div>#end</div>
<div>Location, Date#if($electronicSignature)<div class="inputs--with-signature"><div>/lc4/</div><div>/dt5/</div></div>#end</div>
<div>Signature#if($electronicSignature)<div class="inputs--with-signature">/sn6/</div>#end</div>
</div>
DocuSign inputs using generic HTML form inputs
You can use generic HTML inputs with two conditions to be recognized by DocuSign:
- Always place inputs inside a
<form action="#">...</form>
element. - Always include a name attribute with the appropriate field type from the examples below.
DocuSignSignHere
- signatureDocuSignDateSigned
- dateDocusignCompany
- company
Tip: To make an input mandatory, add the required=""
attribute.
Example of the form with inputs:
<form class="inputs" action="#">
<div>Company
#if($electronicSignature)
<div class="inputs--with-signature">
<input type="text" name="Agreement_DocuSignSignHere" title="Company Name" required="" />
</div>
#end
</div>
<div>Date
#if($electronicSignature)
<div class="inputs--with-signature">
<input type="text" name="Agreement_DocuSignDateSigned" title="Date" required="" />
</div>
#end
</div>
<div>Signature
#if($electronicSignature)
<div class="inputs--with-signature">
<input type="text" name="Agreement_DocuSignSignHere" title="Date" required="" />
</div>
#end
</div>
</div>
Variables Glossary
Name | Info |
averageAirDistance |
Unit in Nautical Miles (NM). |