Email Placeholders
System
Name | Description | Placeholder |
---|---|---|
Brand Url | Url for the current brand | [System.BaseUrl] |
Brand Logo Url | Url of the logo for the current brand | [System.LogoUrl] |
Brand Base Colour | Brand Base Colour for the current brand | [System.BrandBaseColour] |
Brand Primary Colour | Brand Primary Colour for the current brand | [System.BrandPrimaryColour] |
Brand Secondary Colour | Brand Secondary Colour for the current brand | [System.BrandSecondaryColour] |
Brand Header Colour | Brand Header Colour for the current brand | [System.BrandHeaderColour] |
Brand Footer Colour | Brand Footer Colour for the current brand | [System.BrandFooterColour] |
Brand Name | Name of the current brand | [System.BrandName] |
Brand Primary Email | Email address set against the current brand | [System.BrandPrimaryEmail] |
Current Date | The current date formatted to the brands defined date/time format. | [System.CurrentDate] |
Current Time | The current time formatted to the brands defined date/time format. | [System.CurrentTime] |
Current Date & Time | The current date & time formatted to the brands defined date/time format. | [System.CurrentDateTime] |
Enquiry
Name | Description | Placeholder |
---|---|---|
Id | Id of the enquiry | [Enquiry.Id] |
External Id | The external id set against the enquiry | [Enquiry.ExternalId] |
More Info | The more info on an enquiry | [Enquiry.MoreInfo] |
Created | The created date of the enquiry | [Enquiry.Created] |
Agent Title | The title of the assigned agent | [Enquiry.Agent.Title] |
Agent First Name | The first name of the assigned agent | [Enquiry.Agent.FirstName] |
Agent Last Name | The last name of the assigned agent | [Enquiry.Agent.LastName] |
Agent Primary Email | The primary email address of the assigned agent | [Enquiry.Agent.PrimaryEmail] |
Agent Primary Telephone | The primary telephone of the assigned agent | [Enquiry.Agent.PrimaryTelephone] |
Lead Passenger Title | The title of the assigned lead passenger | [Enquiry.LeadPassenger.Title] |
Lead Passenger First Name | The first name of the assigned lead passenger | [Enquiry.LeadPassenger.FirstName] |
Lead Passenger Last Name | The last name of the assigned lead passenger | [Enquiry.LeadPassenger.LastName] |
Lead Passenger Primary Email | The primary email address of the assigned lead passenger | [Enquiry.LeadPassenger.PrimaryEmail] |
Lead Passenger Primary Telephone | The primary telephone of the assigned lead passenger | [Enquiry.LeadPassenger.PrimaryTelephone] |
Lead Passenger Sign Up Token | This is a token used in conjunction with a link to provide an encrypted token specific to the passenger for use on the registration page. It can be used in conjunction with source and returnurl. source: If specified and set to email when creating the account the email will automatically be set to verified meaning the user does not need to manually do this the next time they login. returnurl: If set once registration has completed the user will be redirect to this url. Would generate a link to the registration page and would subsequently mark the email as confirmed and redirect them to the quotes page once registration was completed. | [Enquiry.LeadPassenger.SignUpToken] |
All Passengers (This is a list of all other passengers including the lead, see Recurse Sub-Collection and Recurse Sub-Object below on how to access this collection) |
|
|
Title | The title of the passenger | [Enquiry.AllPassengers.Title] |
First Name | The first name of the passenger | [Enquiry.AllPassengers.FirstName] |
Last Name | The last name of the passenger | [Enquiry.AllPassengers.LastName] |
Primary Email | The primary email address of the passenger | [Enquiry.AllPassengers.PrimaryEmail] |
Primary Telephone | The primary telephone of the passenger | [Enquiry.AllPassengers.PrimaryTelephone] |
Quote
Name | Description | Placeholder |
---|---|---|
Id | Tprofile internal Id of the quote. Use this for constructing URL’s etc. | [Quote.Id] |
Reference | Reference shown on the quote. This is the friendly reference shown to the customer. An example format is TP120910271. | [Quote.Reference] |
Title | Quote title | [Quote.Title] |
Summary | Quote summary | [Quote.Summary] |
View Count | The view count of the quote as shown in the admin | [Quote.ViewCount] |
Price Options (This is a list of all price options for the quote, see Recurse Sub-Collection and Recurse Sub-Object below on how to access this collection) |
|
|
Total Price | The option price including any discount | [Quote.PriceOptions.TotalPrice] |
Name | The option name | [Quote.PriceOptions.Name] |
Deposit | Option deposit amount | [Quote.PriceOptions.Deposit] |
Deposit Due Date | Due date of the deposit | [Quote.PriceOptions.DepositDue] |
Balance Due Date | Due date of the balance | [Quote.PriceOptions.BalanceDue] |
Forgot Password & Reset Password Emails
Name | Description | Placeholder |
---|---|---|
Reset Link | This is the link that the user must follow to reset their password | [callbackUrl] |
Title | The title of the user the link has been sent to | [User.Title] |
First Name | The first name of the user the link has been sent to | [User.FirstName] |
Middle Name | The middle name of the user the link has been sent to | [User.LastName] |
Last Name | The last name of the user the link has been sent to | [User.LastName] |
Usage
Syntax for Templates
The placeholder replacement logic looks for placeholders in the template, these are marked using the following tokens:
Token | Description |
---|---|
[ | Open place holder |
] | Close place holder |
| | General Separator |
@ | Collection Indicator |
# | Format indicator |
\ | Token Switch |
Non-conditional
Simple replacement of placeholders with data; you can access sub object properties using the standard 'dot' notation.
[<propertyName>]
E.g. Hello [Person.Forename]
> Hello Anthony
N.B. If you find you need to use a token in the template and want it to be ignored, just apply the switch '\' before it.
E.g. Hello \[[Person.Forename]\]
> Hello [Anthony]
Conditional
Replacement of placeholders based on the data in the property; you can have as many conditions as you require.
[<propertyName>|=<condition>|<result>|~|<defaultResult>]
E.g. Hello [Person.Forname] ([Person.Forname|=Anthony|great|~|nice] name)
If the person's forename is 'Anthony':
> Hello Anthony (great name)
Otherwise:
> Hello Sarah (nice name)
Recurse Sub-Object
You can recurse to sub objects. Think of it as an embedded template using the sub object as its data.
[<propertyName>|..[<subObjectPropertyName>]..]
E.g. Hello [Person|[Forname] [Surname]]
> Hello Anthony Johnston
Recurse Sub-Collection
You can recurse the objects in sub collections too. Each object will be subject to the 'embedded template'.
[<propertyName>@..[<subObjectPropertyName>]..]
E.g. Hello [People@[Person.Forname], ]
> Hello Anthony, Sarah,
Formatting Data
Data can be formatted, this uses the standard String.Format()
method. More details on this method can be found on the Microsoft web site.
[<propertyName>#<format>]
E.g. Your birth date was [Person.DateOfBirth#d MMM yyyy]
> Your birth date was 1 Dec 1970